From 017886c2f9e99efeded59d588fee68fa7f7c5162 Mon Sep 17 00:00:00 2001 From: ttd11204 Date: Tue, 15 Jul 2025 16:42:54 +0700 Subject: [PATCH 1/9] chore(openapi): set up OpenAPI-to-TypeScript generation with sample schema - Installed and configured `openapi-typescript` for generating API types - Used GitHub's public OpenAPI schema as a temporary placeholder: https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json - Generated types to `src/api/types.ts` - This is a temporary setup until the backend provides the actual OpenAPI schema - Next steps: replace the sample schema URL with the real backend schema once available --- packages/CourtBooking/bun.lock | 58 +- packages/CourtBooking/package.json | 10 +- packages/CourtBooking/src/api/client.ts | 22 + packages/CourtBooking/src/api/hook.ts | 145 + packages/CourtBooking/src/api/types.ts | 125124 +++++++++++++++ .../src/scripts/generate-types.ts | 5 + 6 files changed, 125357 insertions(+), 7 deletions(-) create mode 100644 packages/CourtBooking/src/api/client.ts create mode 100644 packages/CourtBooking/src/api/hook.ts create mode 100644 packages/CourtBooking/src/api/types.ts create mode 100644 packages/CourtBooking/src/scripts/generate-types.ts diff --git a/packages/CourtBooking/bun.lock b/packages/CourtBooking/bun.lock index e76d1366..351dfaaa 100644 --- a/packages/CourtBooking/bun.lock +++ b/packages/CourtBooking/bun.lock @@ -5,9 +5,11 @@ "name": "courtbooking", "dependencies": { "@tailwindcss/vite": "^4.1.11", + "@tanstack/react-query": "^5.83.0", "@tanstack/react-router": "^1.127.3", "@tanstack/react-router-devtools": "^1.127.3", "@tanstack/react-start": "^1.127.7", + "openapi-fetch": "^0.14.0", "react": "^19.1.0", "react-dom": "^19.1.0", "tailwindcss": "^4.1.11", @@ -18,6 +20,8 @@ "@types/bun": "latest", "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", + "openapi-typescript": "^7.8.0", + "openapi-typescript-helpers": "^0.0.15", "vite-tsconfig-paths": "^5.1.4", }, "peerDependencies": { @@ -236,6 +240,12 @@ "@poppinss/exception": ["@poppinss/exception@1.2.2", "", {}, "sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg=="], + "@redocly/ajv": ["@redocly/ajv@8.11.2", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js-replace": "^1.0.1" } }, "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg=="], + + "@redocly/config": ["@redocly/config@0.22.2", "", {}, "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ=="], + + "@redocly/openapi-core": ["@redocly/openapi-core@1.34.3", "", { "dependencies": { "@redocly/ajv": "^8.11.2", "@redocly/config": "^0.22.0", "colorette": "^1.2.0", "https-proxy-agent": "^7.0.5", "js-levenshtein": "^1.1.6", "js-yaml": "^4.1.0", "minimatch": "^5.0.1", "pluralize": "^8.0.0", "yaml-ast-parser": "0.0.43" } }, "sha512-3arRdUp1fNx55itnjKiUhO6t4Mf91TsrTIYINDNLAZPS0TPd5YpiXRctwjel0qqWoOOhjA34cZ3m4dksLDFUYg=="], + "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.19", "", {}, "sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA=="], "@rollup/plugin-alias": ["@rollup/plugin-alias@5.1.1", "", { "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ=="], @@ -334,6 +344,10 @@ "@tanstack/history": ["@tanstack/history@1.121.34", "", {}, "sha512-YL8dGi5ZU+xvtav2boRlw4zrRghkY6hvdcmHhA0RGSJ/CBgzv+cbADW9eYJLx74XMZvIQ1pp6VMbrpXnnM5gHA=="], + "@tanstack/query-core": ["@tanstack/query-core@5.83.0", "", {}, "sha512-0M8dA+amXUkyz5cVUm/B+zSk3xkQAcuXuz5/Q/LveT4ots2rBpPTZOzd7yJa2Utsf8D2Upl5KyjhHRY+9lB/XA=="], + + "@tanstack/react-query": ["@tanstack/react-query@5.83.0", "", { "dependencies": { "@tanstack/query-core": "5.83.0" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-/XGYhZ3foc5H0VM2jLSD/NyBRIOK4q9kfeml4+0x2DlL6xVuAcVEW+hTlTapAmejObg0i3eNqhkr2dT+eciwoQ=="], + "@tanstack/react-router": ["@tanstack/react-router@1.127.3", "", { "dependencies": { "@tanstack/history": "1.121.34", "@tanstack/react-store": "^0.7.0", "@tanstack/router-core": "1.127.3", "isbot": "^5.1.22", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" }, "peerDependencies": { "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-QprmWHJrGbEKXJiP7WZ+dilTJRc7nMbsFCUnfAUw8PsOYanhgvBkBwAU05YEo8WTIZ9atCc1R90hyzqbiBFkdA=="], "@tanstack/react-router-devtools": ["@tanstack/react-router-devtools@1.127.3", "", { "dependencies": { "@tanstack/router-devtools-core": "^1.127.3" }, "peerDependencies": { "@tanstack/react-router": "^1.127.3", "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-MS8+ArGAoRpFaVWpXnQxNpq2bU5e2WGwV/3Gskh9YB09gqX3t6knp9im4kJ0kam16+A8Vohq1yOpCliyHzQawA=="], @@ -448,6 +462,8 @@ "agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="], + "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="], + "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], @@ -460,7 +476,7 @@ "archiver-utils": ["archiver-utils@5.0.2", "", { "dependencies": { "glob": "^10.0.0", "graceful-fs": "^4.2.0", "is-stream": "^2.0.1", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA=="], - "argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], "ast-module-types": ["ast-module-types@6.0.1", "", {}, "sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA=="], @@ -512,6 +528,8 @@ "caniuse-lite": ["caniuse-lite@1.0.30001727", "", {}, "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q=="], + "change-case": ["change-case@5.4.4", "", {}, "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w=="], + "cheerio": ["cheerio@1.1.0", "", { "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "encoding-sniffer": "^0.2.0", "htmlparser2": "^10.0.0", "parse5": "^7.3.0", "parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-parser-stream": "^7.1.2", "undici": "^7.10.0", "whatwg-mimetype": "^4.0.0" } }, "sha512-+0hMx9eYhJvWbgpKV9hN7jg0JcwydpopZE4hgi+KvQtByZXPp04NiCWU0LzcAbP63abZckIHkTQaXVF52mX3xQ=="], "cheerio-select": ["cheerio-select@2.1.0", "", { "dependencies": { "boolbase": "^1.0.0", "css-select": "^5.1.0", "css-what": "^6.1.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.0.1" } }, "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g=="], @@ -538,6 +556,8 @@ "color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="], + "colorette": ["colorette@1.4.0", "", {}, "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g=="], + "colorspace": ["colorspace@1.1.4", "", { "dependencies": { "color": "^3.1.3", "text-hex": "1.0.x" } }, "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w=="], "commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="], @@ -704,6 +724,8 @@ "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="], + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="], "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], @@ -862,12 +884,16 @@ "jiti": ["jiti@2.4.2", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A=="], + "js-levenshtein": ["js-levenshtein@1.1.6", "", {}, "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g=="], + "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], - "js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="], + "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + "json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], + "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], "junk": ["junk@4.0.1", "", {}, "sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ=="], @@ -954,7 +980,7 @@ "mimic-fn": ["mimic-fn@4.0.0", "", {}, "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="], - "minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], @@ -1022,6 +1048,12 @@ "open": ["open@8.4.2", "", { "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" } }, "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ=="], + "openapi-fetch": ["openapi-fetch@0.14.0", "", { "dependencies": { "openapi-typescript-helpers": "^0.0.15" } }, "sha512-PshIdm1NgdLvb05zp8LqRQMNSKzIlPkyMxYFxwyHR+UlKD4t2nUjkDhNxeRbhRSEd3x5EUNh2w5sJYwkhOH4fg=="], + + "openapi-typescript": ["openapi-typescript@7.8.0", "", { "dependencies": { "@redocly/openapi-core": "^1.34.3", "ansi-colors": "^4.1.3", "change-case": "^5.4.4", "parse-json": "^8.3.0", "supports-color": "^10.0.0", "yargs-parser": "^21.1.1" }, "peerDependencies": { "typescript": "^5.x" }, "bin": { "openapi-typescript": "bin/cli.js" } }, "sha512-1EeVWmDzi16A+siQlo/SwSGIT7HwaFAVjvMA7/jG5HMLSnrUOzPL7uSTRZZa4v/LCRxHTApHKtNY6glApEoiUQ=="], + + "openapi-typescript-helpers": ["openapi-typescript-helpers@0.0.15", "", {}, "sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw=="], + "p-event": ["p-event@6.0.1", "", { "dependencies": { "p-timeout": "^6.1.2" } }, "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w=="], "p-limit": ["p-limit@4.0.0", "", { "dependencies": { "yocto-queue": "^1.0.0" } }, "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ=="], @@ -1070,6 +1102,8 @@ "pkg-types": ["pkg-types@2.2.0", "", { "dependencies": { "confbox": "^0.2.2", "exsolve": "^1.0.7", "pathe": "^2.0.3" } }, "sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ=="], + "pluralize": ["pluralize@8.0.0", "", {}, "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="], + "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], "postcss-values-parser": ["postcss-values-parser@6.0.2", "", { "dependencies": { "color-name": "^1.1.4", "is-url-superb": "^4.0.0", "quote-unquote": "^1.0.0" }, "peerDependencies": { "postcss": "^8.2.9" } }, "sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw=="], @@ -1128,6 +1162,8 @@ "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], + "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], + "require-package-name": ["require-package-name@2.0.1", "", {}, "sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q=="], "resolve": ["resolve@1.22.10", "", { "dependencies": { "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w=="], @@ -1322,6 +1358,8 @@ "uqr": ["uqr@0.1.2", "", {}, "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA=="], + "uri-js-replace": ["uri-js-replace@1.0.1", "", {}, "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g=="], + "urlpattern-polyfill": ["urlpattern-polyfill@8.0.2", "", {}, "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ=="], "use-sync-external-store": ["use-sync-external-store@1.5.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A=="], @@ -1368,6 +1406,8 @@ "yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], + "yaml-ast-parser": ["yaml-ast-parser@0.0.43", "", {}, "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A=="], + "yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], @@ -1402,6 +1442,8 @@ "@netlify/zip-it-and-ship-it/esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], + "@netlify/zip-it-and-ship-it/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@netlify/zip-it-and-ship-it/resolve": ["resolve@2.0.0-next.5", "", { "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA=="], "@netlify/zip-it-and-ship-it/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], @@ -1430,6 +1472,8 @@ "@tanstack/start-plugin-core/@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="], + "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@typescript-eslint/typescript-estree/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], "@vercel/nft/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], @@ -1460,6 +1504,8 @@ "find-up/unicorn-magic": ["unicorn-magic@0.1.0", "", {}, "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ=="], + "glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "hosted-git-info/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], "htmlparser2/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], @@ -1510,8 +1556,6 @@ "read-pkg/unicorn-magic": ["unicorn-magic@0.1.0", "", {}, "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ=="], - "readdir-glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], - "readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "recast/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], @@ -1546,6 +1590,8 @@ "winston-transport/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], + "xmlbuilder2/js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="], + "yauzl/buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], @@ -1627,5 +1673,7 @@ "unwasm/pkg-types/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], "unwasm/pkg-types/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "xmlbuilder2/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], } } diff --git a/packages/CourtBooking/package.json b/packages/CourtBooking/package.json index 0a804c43..5589d774 100644 --- a/packages/CourtBooking/package.json +++ b/packages/CourtBooking/package.json @@ -4,16 +4,20 @@ "private": true, "scripts": { "dev": "vite dev", - "start": "vite start", "build": "vite build", "check": "tsc --noEmit && eslint", - "clean": "rm -rf dist bun.lockb" + "generate:types": "bun scripts/generate-types.ts" + }, + "config": { + "openapi_url": "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json" }, "devDependencies": { "@tanstack/router-plugin": "^1.127.5", "@types/bun": "latest", "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", + "openapi-typescript": "^7.8.0", + "openapi-typescript-helpers": "^0.0.15", "vite-tsconfig-paths": "^5.1.4" }, "peerDependencies": { @@ -21,9 +25,11 @@ }, "dependencies": { "@tailwindcss/vite": "^4.1.11", + "@tanstack/react-query": "^5.83.0", "@tanstack/react-router": "^1.127.3", "@tanstack/react-router-devtools": "^1.127.3", "@tanstack/react-start": "^1.127.7", + "openapi-fetch": "^0.14.0", "react": "^19.1.0", "react-dom": "^19.1.0", "tailwindcss": "^4.1.11", diff --git a/packages/CourtBooking/src/api/client.ts b/packages/CourtBooking/src/api/client.ts new file mode 100644 index 00000000..ecaebfe1 --- /dev/null +++ b/packages/CourtBooking/src/api/client.ts @@ -0,0 +1,22 @@ +import createClient from 'openapi-fetch'; +import type { Middleware } from 'openapi-fetch'; +import type { paths } from './types.ts'; // Example of importing paths from types (will be replace by BE OpenAPI spec) + +const githubToken = import.meta.env.VITE_GITHUB_TOKEN; +const baseUrl = 'https://api.github.com'; + +const authMiddleware: Middleware = { + onRequest: async ({ request }) => { + request.headers.set('Authorization', `Bearer ${githubToken}`); + return request; + }, +}; + +const client = createClient({ baseUrl }); + +client.use(authMiddleware); + +const path: keyof paths = '/advisories'; +client.GET(path); + +export { client }; diff --git a/packages/CourtBooking/src/api/hook.ts b/packages/CourtBooking/src/api/hook.ts new file mode 100644 index 00000000..b5b8c1cb --- /dev/null +++ b/packages/CourtBooking/src/api/hook.ts @@ -0,0 +1,145 @@ +import { client } from './client'; +import { useMutation, useQuery } from '@tanstack/react-query'; +import { + type HttpMethod, + type PathsWithMethod, +} from 'openapi-typescript-helpers'; +import { type FetchOptions } from 'openapi-fetch'; +import type { paths } from './types'; // Example of importing paths from types (will depend on BE OpenAPI spec) +import { type UseMutationOptions as RQUseMutationOptions } from '@tanstack/react-query'; +import { type UseQueryOptions as RQUseQueryOptions } from '@tanstack/react-query'; + +// Define types for paths and parameters +type Paths = PathsWithMethod; +type Params> = M extends keyof paths[P] + ? FetchOptions + : never; + +// Define types for query and mutation options +type UseQueryOptions = Pick; +type UseMutationOptions = Pick; + +/** + * @param path - The API endpoint path to query. + * @param params - The parameters to be sent with the request. + * @description + * This function is used to perform a GET request using the OpenAPI client. + * @returns + * This function is used to perform a GET request using the OpenAPI client. + * It returns the result of the query. + * @example + * const gists = useGetQuery('/gists', { params: { query: { per_page: 5 } } }) + * gists.data?.map((gist) => (...)) + * gists.refetch() + */ +export function useGetQuery

>( + path: P, + params: Params<'get', P> & { rq?: UseQueryOptions } +) { + const { rq, ...queryParams } = params; + return useQuery({ + queryKey: [path, JSON.stringify(queryParams)], + queryFn: async () => { + const { data, error } = await client.GET(path, params); + if (error) throw error; + return { data, error: null }; + }, + ...params?.rq, + }); +} + +/** + * @param path - The API endpoint path to mutate. + * @param options - The options to configure the mutation. + * @description + * This function is used to perform a POST request using the OpenAPI client. + * @returns + * This function is used to perform a POST request using the OpenAPI client. + * It returns a mutation object that can be used to trigger the request. + * @example + * const createGist = usePostMutation('/gists') + * createGist.mutate( + * { + * body: { + * description: new Date().toISOString(), + * files: { 'greeting.txt': { content: 'hello, world' } }, + * }, + * }, + * { onSuccess } + * ) + */ +export function usePostMutation

>( + path: P, + options?: UseMutationOptions +) { + return useMutation({ + mutationFn: async (params: Params<'post', P>) => { + const { data, error } = await client.POST(path, params); + if (error) throw error; + return data; + }, + ...options, + }); +} + +/** + * + * @param path - The API endpoint path to mutate. + * @param options - The options to configure the mutation. + * @description + * This function is used to perform a PUT request using the OpenAPI client. + * @returns + * This function is used to perform a PUT request using the OpenAPI client. + * It returns a mutation object that can be used to trigger the request. + * @example + * const updateGist = usePutMutation('/gists/{gist_id}'); + * updateGist.mutate({ + * params: { + * path: { gist_id: '123' }, + * body: { + * description: new Date().toISOString(), + * files: { 'greeting.txt': { content: 'hello, world' } }, + * }, + * }, + * }); + */ +export function usePutMutation

>( + path: P, + options?: UseMutationOptions +) { + return useMutation({ + mutationFn: async (params: Params<'put', P>) => { + const { data, error } = await client.PUT(path, params); + if (error) throw error; + return data; + }, + ...options, + }); +} + +/** + * + * @param path - The API endpoint path to mutate. + * @param options - The options to configure the mutation. + * @description + * This function is used to perform a DELETE request using the OpenAPI client. + * @returns + * This function is used to perform a DELETE request using the OpenAPI client. + * It returns a mutation object that can be used to trigger the request. + * @example + * const removeGist = useDeleteMutation('/gists/{gist_id}') + * removeGist.mutate({ params: { path: { gist_id: id } } }, { onSuccess }) + */ +export function useDeleteMutation

>( + path: P, + options?: UseMutationOptions +) { + return useMutation({ + mutationFn: async (params: Params<'delete', P>) => { + const { data, error } = await client.DELETE(path, params); + if (error) throw error; + return data; + }, + ...options, + }); +} diff --git a/packages/CourtBooking/src/api/types.ts b/packages/CourtBooking/src/api/types.ts new file mode 100644 index 00000000..7c22069c --- /dev/null +++ b/packages/CourtBooking/src/api/types.ts @@ -0,0 +1,125124 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export type paths = { + "/": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * GitHub API Root + * @description Get Hypermedia links to resources accessible in GitHub's REST API + */ + get: operations["meta/root"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/advisories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List global security advisories + * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. + * + * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." + */ + get: operations["security-advisories/list-global-advisories"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/advisories/{ghsa_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a global security advisory + * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. + */ + get: operations["security-advisories/get-global-advisory"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/app": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/apps/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. + */ + get: operations["apps/get-authenticated"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/app-manifests/{code}/conversions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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`. + */ + post: operations["apps/create-from-manifest"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/app/hook/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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)." + * + * 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-config-for-app"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * 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)." + * + * 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. + */ + patch: operations["apps/update-webhook-config-for-app"]; + trace?: never; + }; + "/app/hook/deliveries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deliveries for an app webhook + * @description 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/app/hook/deliveries/{delivery_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a delivery for an app webhook + * @description 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/app/hook/deliveries/{delivery_id}/attempts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Redeliver a delivery for an app webhook + * @description 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"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/app/installation-requests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List installation requests for the authenticated app + * @description Lists all the pending installation requests for the authenticated GitHub App. + */ + get: operations["apps/list-installation-requests-for-authenticated-app"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/app/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List installations for the authenticated app + * @description The permissions the installation has are included under the `permissions` 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. + */ + get: operations["apps/list-installations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/app/installations/{installation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an installation for the authenticated app + * @description 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"]; + put?: never; + post?: never; + /** + * Delete an installation for the authenticated app + * @description Uninstalls a GitHub App on a user, organization, or enterprise 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/apps/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. + */ + delete: operations["apps/delete-installation"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/app/installations/{installation_id}/access_tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + * + * Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don't use `repositories` or `repository_ids` to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner. + * + * Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted. + * + * 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/create-installation-access-token"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/app/installations/{installation_id}/suspended": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Suspend an app installation + * @description Suspends a GitHub App on a user, organization, or enterprise 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"]; + post?: never; + /** + * Unsuspend an app installation + * @description 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. + */ + delete: operations["apps/unsuspend-installation"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/applications/{client_id}/grant": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete an app authorization + * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an 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). + */ + delete: operations["apps/delete-authorization"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/applications/{client_id}/token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Check a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. Invalid tokens will return `404 NOT FOUND`. + */ + post: operations["apps/check-token"]; + /** + * Delete an app token + * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. + */ + delete: operations["apps/delete-token"]; + options?: never; + head?: never; + /** + * Reset a token + * @description OAuth applications and GitHub applications with OAuth authorizations 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. Invalid tokens will return `404 NOT FOUND`. + */ + patch: operations["apps/reset-token"]; + trace?: never; + }; + "/applications/{client_id}/token/scoped": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a scoped access token + * @description Use a non-scoped user access token to create a repository-scoped and/or permission-scoped user access token. You can specify + * which repositories the token can access and which permissions are granted to the + * token. + * + * Invalid tokens will return `404 NOT FOUND`. + */ + post: operations["apps/scope-token"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/apps/{app_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`). + */ + get: operations["apps/get-by-slug"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/assignments/{assignment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an assignment + * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-an-assignment"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/assignments/{assignment_id}/accepted_assignments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List accepted assignments for an assignment + * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/list-accepted-assignments-for-an-assignment"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/assignments/{assignment_id}/grades": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get assignment grades + * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-assignment-grades"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/classrooms": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List classrooms + * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. + */ + get: operations["classroom/list-classrooms"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/classrooms/{classroom_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a classroom + * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/get-a-classroom"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/classrooms/{classroom_id}/assignments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List assignments for a classroom + * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/list-assignments-for-a-classroom"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/codes_of_conduct": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all codes of conduct + * @description Returns array of all GitHub's codes of conduct. + */ + get: operations["codes-of-conduct/get-all-codes-of-conduct"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/codes_of_conduct/{key}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code of conduct + * @description Returns information about the specified GitHub code of conduct. + */ + get: operations["codes-of-conduct/get-conduct-code"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/credentials/revoke": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Revoke a list of credentials + * @description Submit a list of credentials to be revoked. This endpoint is intended to revoke credentials the caller does not own and may have found exposed on GitHub.com or elsewhere. It can also be used for credentials associated with an old user account that you no longer have access to. Credential owners will be notified of the revocation. + * + * This endpoint currently accepts the following credential types: + * - Personal access tokens (classic) + * - Fine-grained personal access tokens + * + * Revoked credentials may impact users on GitHub Free, Pro, & Team and GitHub Enterprise Cloud, and GitHub Enterprise Cloud with Enterprise Managed Users. + * GitHub cannot reactivate any credentials that have been revoked; new credentials will need to be generated. + * + * To prevent abuse, this API is limited to only 60 unauthenticated requests per hour and a max of 1000 tokens per API request. + * + * > [!NOTE] + * > Any authenticated requests will return a 403. + */ + post: operations["credentials/revoke"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/emojis": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get emojis + * @description Lists all the emojis available to use on GitHub. + */ + get: operations["emojis/get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/enterprises/{enterprise}/code-security/configurations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get code security configurations for an enterprise + * @description Lists all code security configurations available in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-configurations-for-enterprise"]; + put?: never; + /** + * Create a code security configuration for an enterprise + * @description Creates a code security configuration in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + post: operations["code-security/create-configuration-for-enterprise"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/enterprises/{enterprise}/code-security/configurations/defaults": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default code security configurations for an enterprise + * @description Lists the default code security configurations for an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-default-configurations-for-enterprise"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve a code security configuration of an enterprise + * @description Gets a code security configuration available in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-single-configuration-for-enterprise"]; + put?: never; + post?: never; + /** + * Delete a code security configuration for an enterprise + * @description Deletes a code security configuration from an enterprise. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + delete: operations["code-security/delete-configuration-for-enterprise"]; + options?: never; + head?: never; + /** + * Update a custom code security configuration for an enterprise + * @description Updates a code security configuration in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + patch: operations["code-security/update-enterprise-configuration"]; + trace?: never; + }; + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Attach an enterprise configuration to repositories + * @description Attaches an enterprise code security configuration to repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + post: operations["code-security/attach-enterprise-configuration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Set a code security configuration as a default for an enterprise + * @description Sets a code security configuration as a default to be applied to new repositories in your enterprise. + * + * This configuration will be applied by default to the matching repository type when created, but only for organizations within the enterprise that do not already have a default code security configuration set. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + put: operations["code-security/set-configuration-as-default-for-enterprise"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repositories associated with an enterprise code security configuration + * @description Lists the repositories associated with an enterprise code security configuration in an organization. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-repositories-for-enterprise-configuration"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/enterprises/{enterprise}/dependabot/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Dependabot alerts for an enterprise + * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. + * + * The authenticated user must be a member of the enterprise to use this endpoint. + * + * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. + */ + get: operations["dependabot/list-alerts-for-enterprise"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/enterprises/{enterprise}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secret scanning alerts for an enterprise + * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * + * Alerts are only returned for organizations in the enterprise for which the authenticated user is 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). + * + * The authenticated user must be a member of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope or `security_events` scope to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-enterprise"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-events"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/feeds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get feeds + * @description Lists the feeds available to the authenticated user. The response provides a URL for each feed. You can then get a specific feed by sending a request to one of the feed URLs. + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using `uri_template`. For more information, see "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-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. + * + * By default, timeline resources are returned in JSON. You can specify the `application/atom+xml` type in the `Accept` header to return timeline resources in Atom format. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * > [!NOTE] + * > Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + get: operations["activity/get-feeds"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/gists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List gists for the authenticated user + * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + get: operations["gists/list"]; + put?: never; + /** + * Create a gist + * @description 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. + */ + post: operations["gists/create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/gists/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public gists + * @description List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api), 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. + */ + get: operations["gists/list-public"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/gists/starred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List starred gists + * @description List the authenticated user's starred gists: + */ + get: operations["gists/list-starred"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/gists/{gist_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a gist + * @description Gets a specified gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/get"]; + put?: never; + post?: never; + /** Delete a gist */ + delete: operations["gists/delete"]; + options?: never; + head?: never; + /** + * Update a gist + * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files + * from the previous version of the gist that aren't explicitly changed during an edit + * are unchanged. + * + * At least one of `description` or `files` is required. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + patch: operations["gists/update"]; + trace?: never; + }; + "/gists/{gist_id}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List gist comments + * @description Lists the comments on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/list-comments"]; + put?: never; + /** + * Create a gist comment + * @description Creates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + post: operations["gists/create-comment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/gists/{gist_id}/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a gist comment + * @description Gets a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/get-comment"]; + put?: never; + post?: never; + /** Delete a gist comment */ + delete: operations["gists/delete-comment"]; + options?: never; + head?: never; + /** + * Update a gist comment + * @description Updates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + patch: operations["gists/update-comment"]; + trace?: never; + }; + "/gists/{gist_id}/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List gist commits */ + get: operations["gists/list-commits"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/gists/{gist_id}/forks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List gist forks */ + get: operations["gists/list-forks"]; + put?: never; + /** Fork a gist */ + post: operations["gists/fork"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/gists/{gist_id}/star": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Check if a gist is starred */ + get: operations["gists/check-is-starred"]; + /** + * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["gists/star"]; + post?: never; + /** Unstar a gist */ + delete: operations["gists/unstar"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/gists/{gist_id}/{sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a gist revision + * @description Gets a specified gist revision. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/get-revision"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/gitignore/templates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all gitignore templates + * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). + */ + get: operations["gitignore/get-all-templates"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/gitignore/templates/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a gitignore template + * @description Get the content of a gitignore template. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw .gitignore contents. + */ + get: operations["gitignore/get-template"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/installation/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories accessible to the app installation + * @description List repositories that an app installation can access. + */ + get: operations["apps/list-repos-accessible-to-installation"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/installation/token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Revoke an installation access token + * @description 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/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. + */ + delete: operations["apps/revoke-installation-access-token"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issues assigned to the authenticated user + * @description 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 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/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/licenses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all commonly used licenses + * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: operations["licenses/get-all-commonly-used"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/licenses/{license}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a license + * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: operations["licenses/get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/markdown": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Render a Markdown document + * @description Depending on what is rendered in the Markdown, you may need to provide additional token scopes for labels, such as `issues:read` or `pull_requests:read`. + */ + post: operations["markdown/render"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/markdown/raw": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + */ + post: operations["markdown/render-raw"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/marketplace_listing/accounts/{account_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/marketplace_listing/plans": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List plans + * @description 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/marketplace_listing/plans/{plan_id}/accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/marketplace_listing/stubbed/accounts/{account_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account-stubbed"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/marketplace_listing/stubbed/plans": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List plans (stubbed) + * @description 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans-stubbed"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan-stubbed"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/meta": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * The API's response also includes a list of GitHub's domain names. + * + * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. + * + * > [!NOTE] + * > This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. + */ + get: operations["meta/get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/networks/{owner}/{repo}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public events for a network of repositories + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-events-for-repo-network"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/notifications": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List notifications for the authenticated user + * @description List all notifications for the current user, sorted by most recently updated. + */ + get: operations["activity/list-notifications-for-authenticated-user"]; + /** + * Mark notifications as read + * @description Marks all notifications as "read" for the current user. 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/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + put: operations["activity/mark-notifications-as-read"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/notifications/threads/{thread_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a thread + * @description Gets information about a notification thread. + */ + get: operations["activity/get-thread"]; + put?: never; + post?: never; + /** + * Mark a thread as done + * @description Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications. + */ + delete: operations["activity/mark-thread-as-done"]; + options?: never; + head?: never; + /** + * Mark a thread as read + * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. + */ + patch: operations["activity/mark-thread-as-read"]; + trace?: never; + }; + "/notifications/threads/{thread_id}/subscription": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/activity/watching#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. + */ + get: operations["activity/get-thread-subscription-for-authenticated-user"]; + /** + * 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**. + * + * 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/activity/notifications#delete-a-thread-subscription) endpoint. + */ + put: operations["activity/set-thread-subscription"]; + post?: never; + /** + * 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/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + delete: operations["activity/delete-thread-subscription"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/octocat": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Octocat + * @description Get the octocat as ASCII art + */ + get: operations["meta/get-octocat"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/organizations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organizations + * @description Lists all organizations, 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/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. + */ + get: operations["orgs/list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/organizations/{org}/dependabot/repository-access": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Lists the repositories Dependabot can access in an organization + * @description Lists repositories that organization admins have allowed Dependabot to access when updating dependencies. + * > [!NOTE] + * > This operation supports both server-to-server and user-to-server access. + * Unauthorized users will not see the existence of this endpoint. + */ + get: operations["dependabot/repository-access-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Updates Dependabot's repository access list for an organization + * @description Updates repositories according to the list of repositories that organization admins have given Dependabot access to when they've updated dependencies. + * + * > [!NOTE] + * > This operation supports both server-to-server and user-to-server access. + * Unauthorized users will not see the existence of this endpoint. + * + * **Example request body:** + * ```json + * { + * "repository_ids_to_add": [123, 456], + * "repository_ids_to_remove": [789] + * } + * ``` + */ + patch: operations["dependabot/update-repository-access-for-org"]; + trace?: never; + }; + "/organizations/{org}/dependabot/repository-access/default-level": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Set the default repository access level for Dependabot + * @description Sets the default level of repository access Dependabot will have while performing an update. Available values are: + * - 'public' - Dependabot will only have access to public repositories, unless access is explicitly granted to non-public repositories. + * - 'internal' - Dependabot will only have access to public and internal repositories, unless access is explicitly granted to private repositories. + * + * Unauthorized users will not see the existence of this endpoint. + * + * This operation supports both server-to-server and user-to-server access. + */ + put: operations["dependabot/set-repository-access-default-level"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/organizations/{org}/settings/billing/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get billing usage report for an organization + * @description Gets a report of the total usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account. + * + * **Note:** This endpoint is only available to organizations with access to the enhanced billing platform. For more information, see "[About the enhanced billing platform](https://docs.github.com/billing/using-the-new-billing-platform)." + */ + get: operations["billing/get-github-billing-usage-report-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization + * @description Gets information about an organization. + * + * When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, outside collaborators, guest collaborators, repository collaborators, or everyone with access to any repository within the organization to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * To see the full details about an organization, the authenticated user must be an organization owner. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. + * + * To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. + */ + get: operations["orgs/get"]; + put?: never; + post?: never; + /** + * Delete an organization + * @description Deletes an organization and all its repositories. + * + * The organization login will be unavailable for 90 days after deletion. + * + * Please review the Terms of Service regarding account deletion before using this endpoint: + * + * https://docs.github.com/site-policy/github-terms/github-terms-of-service + */ + delete: operations["orgs/delete"]; + options?: never; + head?: never; + /** + * Update an organization + * @description > [!WARNING] + * > **Closing down 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). + * + * > [!WARNING] + * > **Closing down notice:** Code security product enablement for new repositories through the organization API is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization) to set defaults instead. For more information on setting a default security configuration, see the [changelog](https://github.blog/changelog/2024-07-09-sunsetting-security-settings-defaults-parameters-in-the-organizations-rest-api/). + * + * Updates the organization's profile and member privileges. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` or `repo` scope to use this endpoint. + */ + patch: operations["orgs/update"]; + trace?: never; + }; + "/orgs/{org}/actions/cache/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions cache usage for an organization + * @description 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. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/cache/usage-by-repository": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories with GitHub Actions cache usage for an organization + * @description 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. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/hosted-runners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GitHub-hosted runners for an organization + * @description Lists all GitHub-hosted runners configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_runner:org` scope to use this endpoint. + */ + get: operations["actions/list-hosted-runners-for-org"]; + put?: never; + /** + * Create a GitHub-hosted runner for an organization + * @description Creates a GitHub-hosted runner for an organization. + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + post: operations["actions/create-hosted-runner-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/hosted-runners/images/github-owned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub-owned images for GitHub-hosted runners in an organization + * @description Get the list of GitHub-owned images available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-github-owned-images-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/hosted-runners/images/partner": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get partner images for GitHub-hosted runners in an organization + * @description Get the list of partner images available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-partner-images-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/hosted-runners/limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get limits on GitHub-hosted runners for an organization + * @description Get the GitHub-hosted runners limits for an organization. + */ + get: operations["actions/get-hosted-runners-limits-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/hosted-runners/machine-sizes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub-hosted runners machine specs for an organization + * @description Get the list of machine specs available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-machine-specs-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/hosted-runners/platforms": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get platforms for GitHub-hosted runners in an organization + * @description Get the list of platforms available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-platforms-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/hosted-runners/{hosted_runner_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a GitHub-hosted runner for an organization + * @description Gets a GitHub-hosted runner configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + get: operations["actions/get-hosted-runner-for-org"]; + put?: never; + post?: never; + /** + * Delete a GitHub-hosted runner for an organization + * @description Deletes a GitHub-hosted runner for an organization. + */ + delete: operations["actions/delete-hosted-runner-for-org"]; + options?: never; + head?: never; + /** + * Update a GitHub-hosted runner for an organization + * @description Updates a GitHub-hosted runner for an organization. + * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + patch: operations["actions/update-hosted-runner-for-org"]; + trace?: never; + }; + "/orgs/{org}/actions/oidc/customization/sub": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the customization template for an OIDC subject claim for an organization + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["oidc/get-oidc-custom-sub-template-for-org"]; + /** + * Set the customization template for an OIDC subject claim for an organization + * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + put: operations["oidc/update-oidc-custom-sub-template-for-org"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/permissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions permissions for an organization + * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-permissions-organization"]; + /** + * Set GitHub Actions permissions for an organization + * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-permissions-organization"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/permissions/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; + /** + * 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)." + * + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/permissions/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/enable-selected-repository-github-actions-organization"]; + post?: never; + /** + * 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/disable-selected-repository-github-actions-organization"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/permissions/selected-actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get allowed actions and reusable workflows for an organization + * @description 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-allowed-actions-organization"]; + /** + * Set allowed actions and reusable workflows for an organization + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-allowed-actions-organization"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/permissions/workflow": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default workflow permissions for an organization + * @description 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; + /** + * Set default workflow permissions for an organization + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runner-groups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List self-hosted runner groups for an organization + * @description Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runner-groups-for-org"]; + put?: never; + /** + * Create a self-hosted runner group for an organization + * @description Creates a new self-hosted runner group for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["actions/create-self-hosted-runner-group-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a self-hosted runner group for an organization + * @description Gets a specific self-hosted runner group for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-group-for-org"]; + put?: never; + post?: never; + /** + * Delete a self-hosted runner group from an organization + * @description Deletes a self-hosted runner group for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-group-from-org"]; + options?: never; + head?: never; + /** + * Update a self-hosted runner group for an organization + * @description Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + patch: operations["actions/update-self-hosted-runner-group-for-org"]; + trace?: never; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GitHub-hosted runners in a group for an organization + * @description Lists the GitHub-hosted runners in an organization group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-github-hosted-runners-in-group-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository access to a self-hosted runner group in an organization + * @description Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-repo-access-to-self-hosted-runner-group-in-org"]; + /** + * Set repository access for a self-hosted runner group in an organization + * @description Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-repo-access-to-self-hosted-runner-group-in-org"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Add repository access to a self-hosted runner group in an organization + * @description Adds a repository to the list of 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/add-repo-access-to-self-hosted-runner-group-in-org"]; + post?: never; + /** + * Remove repository access to a self-hosted runner group in an organization + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-repo-access-to-self-hosted-runner-group-in-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List self-hosted runners in a group for an organization + * @description Lists self-hosted runners that are in a specific organization group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-in-group-for-org"]; + /** + * Set self-hosted runners in a group for an organization + * @description Replaces the list of self-hosted runners that are part of an organization runner group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-self-hosted-runners-in-group-for-org"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Add a self-hosted runner to a group for an organization + * @description Adds a self-hosted runner to a runner group configured in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/add-self-hosted-runner-to-group-for-org"]; + post?: never; + /** + * Remove a self-hosted runner from a group for an organization + * @description Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-self-hosted-runner-from-group-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List self-hosted runners for an organization + * @description Lists all self-hosted runners configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-self-hosted-runners-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runners/downloads": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List runner applications for an organization + * @description Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-runner-applications-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runners/generate-jitconfig": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create configuration for a just-in-time runner for an organization + * @description Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the organization. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/generate-runner-jitconfig-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runners/registration-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-registration-token-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runners/remove-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-remove-token-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runners/{runner_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a self-hosted runner for an organization + * @description Gets a specific self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/get-self-hosted-runner-for-org"]; + put?: never; + post?: never; + /** + * 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for a self-hosted runner for an organization + * @description Lists all labels for a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; + /** + * Set custom labels for a self-hosted runner for an organization + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; + /** + * Add custom labels to a self-hosted runner for an organization + * @description Adds custom labels to a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need 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 for an organization + * @description Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove a custom label from a self-hosted runner for an organization + * @description 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-org-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/create-or-update-org-secret"]; + post?: never; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-org-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-selected-repos-for-org-secret"]; + /** + * 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/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-selected-repos-for-org-secret"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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`. For more information about setting the visibility, see [Create or + * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/add-selected-repo-to-org-secret"]; + post?: never; + /** + * 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/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-selected-repo-from-org-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization variables + * @description Lists all organization variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-org-variables"]; + put?: never; + /** + * Create an organization variable + * @description Creates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-org-variable"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/variables/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization variable + * @description Gets a specific variable in an organization. + * + * The authenticated user must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-variable"]; + put?: never; + post?: never; + /** + * Delete an organization variable + * @description Deletes an organization variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-org-variable"]; + options?: never; + head?: never; + /** + * Update an organization variable + * @description Updates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + patch: operations["actions/update-org-variable"]; + trace?: never; + }; + "/orgs/{org}/actions/variables/{name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories for an organization variable + * @description Lists all repositories that can access an organization variable + * that is available to selected repositories. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-selected-repos-for-org-variable"]; + /** + * Set selected repositories for an organization variable + * @description Replaces all repositories for an organization variable that is available + * to selected repositories. Organization variables that are available to selected + * repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-selected-repos-for-org-variable"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Add selected repository to an organization variable + * @description Adds a repository to an organization variable that is available to selected repositories. + * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/add-selected-repo-to-org-variable"]; + post?: never; + /** + * Remove selected repository from an organization variable + * @description Removes a repository from an organization variable that is + * available to selected repositories. Organization variables that are available to + * selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-selected-repo-from-org-variable"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/attestations/bulk-list": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * List attestations by bulk subject digests + * @description List a collection of artifact attestations associated with any entry in a list of subject digests owned by an organization. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + post: operations["orgs/list-attestations-bulk"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/attestations/delete-request": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Delete attestations in bulk + * @description Delete artifact attestations in bulk by either subject digests or unique ID. + */ + post: operations["orgs/delete-attestations-bulk"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/attestations/digest/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete attestations by subject digest + * @description Delete an artifact attestation by subject digest. + */ + delete: operations["orgs/delete-attestations-by-subject-digest"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/attestations/{attestation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete attestations by ID + * @description Delete an artifact attestation by unique ID that is associated with a repository owned by an org. + */ + delete: operations["orgs/delete-attestations-by-id"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/attestations/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by an organization. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["orgs/list-attestations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/blocks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users blocked by an organization + * @description List the users blocked by an organization. + */ + get: operations["orgs/list-blocked-users"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/blocks/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user is blocked by an organization + * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. + */ + get: operations["orgs/check-blocked-user"]; + /** + * Block a user from an organization + * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. + */ + put: operations["orgs/block-user"]; + post?: never; + /** + * Unblock a user from an organization + * @description Unblocks the given user on behalf of the specified organization. + */ + delete: operations["orgs/unblock-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/campaigns": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List campaigns for an organization + * @description Lists campaigns in an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + get: operations["campaigns/list-org-campaigns"]; + put?: never; + /** + * Create a campaign for an organization + * @description Create a campaign for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + * + * Fine-grained tokens must have the "Code scanning alerts" repository permissions (read) on all repositories included + * in the campaign. + */ + post: operations["campaigns/create-campaign"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/campaigns/{campaign_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a campaign for an organization + * @description Gets a campaign for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + get: operations["campaigns/get-campaign-summary"]; + put?: never; + post?: never; + /** + * Delete a campaign for an organization + * @description Deletes a campaign in an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + delete: operations["campaigns/delete-campaign"]; + options?: never; + head?: never; + /** + * Update a campaign + * @description Updates a campaign in an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + patch: operations["campaigns/update-campaign"]; + trace?: never; + }; + "/orgs/{org}/code-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List code scanning alerts for an organization + * @description 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)." + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` or `repo`s cope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-alerts-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get code security configurations for an organization + * @description Lists all code security configurations available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-configurations-for-org"]; + put?: never; + /** + * Create a code security configuration + * @description Creates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + post: operations["code-security/create-configuration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/defaults": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default code security configurations + * @description Lists the default code security configurations for an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-default-configurations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/detach": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Detach configurations from repositories + * @description Detach code security configuration(s) from a set of repositories. + * Repositories will retain their settings but will no longer be associated with the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + delete: operations["code-security/detach-configuration"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code security configuration + * @description Gets a code security configuration available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-configuration"]; + put?: never; + post?: never; + /** + * Delete a code security configuration + * @description Deletes the desired code security configuration from an organization. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + delete: operations["code-security/delete-configuration"]; + options?: never; + head?: never; + /** + * Update a code security configuration + * @description Updates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + patch: operations["code-security/update-configuration"]; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/attach": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Attach a configuration to repositories + * @description Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + post: operations["code-security/attach-configuration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/defaults": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Set a code security configuration as a default for an organization + * @description Sets a code security configuration as a default to be applied to new repositories in your organization. + * + * This configuration will be applied to the matching repository type (all, none, public, private and internal) by default when they are created. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + put: operations["code-security/set-configuration-as-default"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repositories associated with a code security configuration + * @description Lists the repositories associated with a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-repositories-for-configuration"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces for the organization + * @description Lists the codespaces associated to a specified organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-in-organization"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/access": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Manage access control for organization codespaces + * @deprecated + * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/set-codespaces-access"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/access/selected_users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add users to Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/set-codespaces-access-users"]; + /** + * Remove users from Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will no longer be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-codespaces-access-users"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization secrets + * @description Lists all Codespaces development environment secrets available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-org-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization public key + * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization secret + * @description Gets an organization development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/create-or-update-org-secret"]; + post?: never; + /** + * Delete an organization secret + * @description Deletes an organization development environment secret using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-org-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization development environment 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/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/set-selected-repos-for-org-secret"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization development environment 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/codespaces/organization-secrets#create-or-update-an-organization-secret). + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/add-selected-repo-to-org-secret"]; + post?: never; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization development environment 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/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/remove-selected-repo-from-org-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/copilot/billing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Copilot seat information and settings for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets information about an organization's Copilot subscription, including seat breakdown + * and feature policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-copilot-business-in-your-organization)." + * + * Only organization owners can view details about the organization's Copilot Business or Copilot Enterprise subscription. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/get-copilot-organization-details"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/copilot/billing/seats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List all Copilot seat assignments for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Lists all Copilot seats for which an organization with a Copilot Business or Copilot Enterprise subscription is currently being billed. + * Only organization owners can view assigned seats. + * + * Each seat object contains information about the assigned user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. + * For more information about activity data, see "[Reviewing user activity data for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/list-copilot-seats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/copilot/billing/selected_teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add teams to the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Purchases a GitHub Copilot seat for all users within each specified team. + * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." + * + * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." + * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." + * + * The response contains the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + post: operations["copilot/add-copilot-seats-for-teams"]; + /** + * Remove teams from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Sets seats for all members of each team specified to "pending cancellation". + * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through another team. + * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * The response contains the total number of seats set to "pending cancellation". + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/copilot/billing/selected_users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add users to the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Purchases a GitHub Copilot seat for each user specified. + * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." + * + * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." + * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." + * + * The response contains the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + post: operations["copilot/add-copilot-seats-for-users"]; + /** + * Remove users from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Sets seats for all users specified to "pending cancellation". + * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through team membership. + * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * The response contains the total number of seats set to "pending cancellation". + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/copilot/metrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Copilot metrics for an organization + * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the organization contained **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. + * + * The response contains metrics for up to 28 days prior. Metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization. + * Only organization owners and owners and billing managers of the parent enterprise can view Copilot metrics. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/copilot-metrics-for-organization"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/dependabot/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Dependabot alerts for an organization + * @description Lists Dependabot alerts for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/list-alerts-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/dependabot/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/list-org-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/dependabot/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/get-org-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["dependabot/create-or-update-org-secret"]; + post?: never; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["dependabot/delete-org-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/list-selected-repos-for-org-secret"]; + /** + * 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/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["dependabot/set-selected-repos-for-org-secret"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["dependabot/add-selected-repo-to-org-secret"]; + post?: never; + /** + * 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/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["dependabot/remove-selected-repo-from-org-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/docker/conflicts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get list of conflicting packages during Docker migration for organization + * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-organization"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public organization events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-org-events"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/failed_invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["orgs/list-failed-invitations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization webhooks + * @description List webhooks for an organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/list-webhooks"]; + put?: never; + /** + * Create an organization webhook + * @description Create a hook that posts payloads in JSON format. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or + * edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + post: operations["orgs/create-webhook"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/hooks/{hook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/orgs/webhooks#get-a-webhook-configuration-for-an-organization). + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook"]; + put?: never; + post?: never; + /** + * Delete an organization webhook + * @description Delete a webhook for an organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + delete: operations["orgs/delete-webhook"]; + options?: never; + head?: never; + /** + * 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/orgs/webhooks#update-a-webhook-configuration-for-an-organization)". + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + patch: operations["orgs/update-webhook"]; + trace?: never; + }; + "/orgs/{org}/hooks/{hook_id}/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/orgs/webhooks#get-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook-config-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * 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/orgs/webhooks#update-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + patch: operations["orgs/update-webhook-config-for-org"]; + trace?: never; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deliveries for an organization webhook + * @description Returns a list of webhook deliveries for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/list-webhook-deliveries"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a webhook delivery for an organization webhook + * @description Returns a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook-delivery"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Redeliver a delivery for an organization webhook + * @description Redeliver a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + post: operations["orgs/redeliver-webhook-delivery"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/hooks/{hook_id}/pings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Ping an organization webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) + * to be sent to the hook. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + post: operations["orgs/ping-webhook"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get route stats by actor + * @description Get API request count statistics for an actor broken down by route within a specified time frame. + */ + get: operations["api-insights/get-route-stats-by-actor"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/subject-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get subject stats + * @description Get API request statistics for all subjects within an organization within a specified time frame. Subjects can be users or GitHub Apps. + */ + get: operations["api-insights/get-subject-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/summary-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get summary stats + * @description Get overall statistics of API requests made within an organization by all users and apps within a specified time frame. + */ + get: operations["api-insights/get-summary-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/summary-stats/users/{user_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get summary stats by user + * @description Get overall statistics of API requests within the organization for a user. + */ + get: operations["api-insights/get-summary-stats-by-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get summary stats by actor + * @description Get overall statistics of API requests within the organization made by a specific actor. Actors can be GitHub App installations, OAuth apps or other tokens on behalf of a user. + */ + get: operations["api-insights/get-summary-stats-by-actor"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/time-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get time stats + * @description Get the number of API requests and rate-limited requests made within an organization over a specified time period. + */ + get: operations["api-insights/get-time-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/time-stats/users/{user_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get time stats by user + * @description Get the number of API requests and rate-limited requests made within an organization by a specific user over a specified time period. + */ + get: operations["api-insights/get-time-stats-by-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get time stats by actor + * @description Get the number of API requests and rate-limited requests made within an organization by a specific actor within a specified time period. + */ + get: operations["api-insights/get-time-stats-by-actor"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/user-stats/{user_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get user stats + * @description Get API usage statistics within an organization for a user broken down by the type of access. + */ + get: operations["api-insights/get-user-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization installation for the authenticated app + * @description 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. + */ + get: operations["apps/get-org-installation"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:read` scope to use this endpoint. + */ + get: operations["orgs/list-app-installations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/interaction-limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["interactions/get-restrictions-for-org"]; + /** + * 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. + */ + put: operations["interactions/set-restrictions-for-org"]; + post?: never; + /** + * 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. + */ + delete: operations["interactions/remove-restrictions-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`, or `hiring_manager`. If the invitee is not a GitHub + * member, the `login` field in the return hash will be `null`. + */ + get: operations["orgs/list-pending-invitations"]; + put?: never; + /** + * 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. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + post: operations["orgs/create-invitation"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/invitations/{invitation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Cancel an organization invitation + * @description 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/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + delete: operations["orgs/cancel-invitation"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/invitations/{invitation_id}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["orgs/list-invitation-teams"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/issue-types": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue types for an organization + * @description Lists all issue types for an organization. OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint. + */ + get: operations["orgs/list-issue-types"]; + put?: never; + /** + * Create issue type for an organization + * @description Create a new issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + * + * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + * personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["orgs/create-issue-type"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/issue-types/{issue_type_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Update issue type for an organization + * @description Updates an issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + * + * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + * personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/update-issue-type"]; + post?: never; + /** + * Delete issue type for an organization + * @description Deletes an issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + * + * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + * personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/delete-issue-type"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization issues assigned to the authenticated user + * @description List issues in an organization assigned to the authenticated user. + * + * > [!NOTE] + * > GitHub's REST API 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/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["orgs/list-members"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/members/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check organization membership for a user + * @description Check if a user is, publicly or privately, a member of the organization. + */ + get: operations["orgs/check-membership-for-user"]; + put?: never; + post?: never; + /** + * 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. + * + * > [!NOTE] + * > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team. + */ + delete: operations["orgs/remove-member"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/members/{username}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces for a user in organization + * @description Lists the codespaces that a member of an organization has for repositories in that organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-codespaces-for-user-in-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete a codespace from the organization + * @description Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-from-organization"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Stop a codespace for an organization user + * @description Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/stop-in-organization"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/members/{username}/copilot": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Copilot seat assignment details for a user + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets the GitHub Copilot seat details for a member of an organization who currently has access to GitHub Copilot. + * + * The seat object contains information about the user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. + * For more information about activity data, see "[Reviewing user activity data for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization)." + * + * Only organization owners can view Copilot seat assignment details for members of their organization. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/get-copilot-seat-details-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/memberships/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. The `state` parameter in the response can be used to identify the user's membership status. + */ + get: operations["orgs/get-membership-for-user"]; + /** + * Set organization membership for a user + * @description 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/orgs/members#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, organization owners are limited to creating 50 organization invitations for an organization within a 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. + */ + put: operations["orgs/set-membership-for-user"]; + post?: never; + /** + * 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. + * + * 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. + * + * > [!NOTE] + * > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team. + */ + delete: operations["orgs/remove-membership-for-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/migrations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization migrations + * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). + * + * A list of `repositories` is only returned for export migrations. + */ + get: operations["migrations/list-for-org"]; + put?: never; + /** + * Start an organization migration + * @description Initiates the generation of a migration archive. + */ + post: operations["migrations/start-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/migrations/{migration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization migration status + * @description 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. + */ + get: operations["migrations/get-status-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/migrations/{migration_id}/archive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download an organization migration archive + * @description Fetches the URL to a migration archive. + */ + get: operations["migrations/download-archive-for-org"]; + put?: never; + post?: never; + /** + * Delete an organization migration archive + * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + delete: operations["migrations/delete-archive-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + delete: operations["migrations/unlock-repo-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/migrations/{migration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories in an organization migration + * @description List all the repositories for this organization migration. + */ + get: operations["migrations/list-repos-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all organization roles for an organization + * @description Lists the organization roles available in this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-roles"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/teams/{team_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove all organization roles for a team + * @description Removes all assigned organization roles from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-all-org-roles-team"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Assign an organization role to a team + * @description Assigns an organization role to a team in an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/assign-team-to-org-role"]; + post?: never; + /** + * Remove an organization role from a team + * @description Removes an organization role from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-org-role-team"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/users/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove all organization roles for a user + * @description Revokes all assigned organization roles from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-all-org-roles-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/users/{username}/{role_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Assign an organization role to a user + * @description Assigns an organization role to a member of an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/assign-user-to-org-role"]; + post?: never; + /** + * Remove an organization role from a user + * @description Remove an organization role from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-org-role-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/{role_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization role + * @description Gets an organization role that is available to this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/get-org-role"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/{role_id}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List teams that are assigned to an organization role + * @description Lists the teams that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-role-teams"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/{role_id}/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users that are assigned to an organization role + * @description Lists organization members that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-role-users"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/outside_collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List outside collaborators for an organization + * @description List all users who are outside collaborators of an organization. + */ + get: operations["orgs/list-outside-collaborators"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/outside_collaborators/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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://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/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"]; + post?: never; + /** + * Remove outside collaborator from an organization + * @description Removing a user from this list will remove them from all the organization's repositories. + */ + delete: operations["orgs/remove-outside-collaborator"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List packages for an organization + * @description Lists packages in an organization readable by the user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-organization"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package for an organization + * @description Gets a specific package in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-organization"]; + put?: never; + post?: never; + /** + * Delete a package for an organization + * @description 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore a package for an organization + * @description 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List package versions for a package owned by an organization + * @description Lists package versions for a package owned by an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package version for an organization + * @description Gets a specific package version in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-organization"]; + put?: never; + post?: never; + /** + * Delete package version for an organization + * @description 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore package version for an organization + * @description 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/personal-access-token-requests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List requests to access organization resources with fine-grained personal access tokens + * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grant-requests"]; + put?: never; + /** + * Review requests to access organization resources with fine-grained personal access tokens + * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/review-pat-grant-requests-in-bulk"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/personal-access-token-requests/{pat_request_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Review a request to access organization resources with a fine-grained personal access token + * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/review-pat-grant-request"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories requested to be accessed by a fine-grained personal access token + * @description Lists the repositories a fine-grained personal access token request is requesting access to. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grant-request-repositories"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/personal-access-tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List fine-grained personal access tokens with access to organization resources + * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grants"]; + put?: never; + /** + * Update the access to organization resources via fine-grained personal access tokens + * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/update-pat-accesses"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/personal-access-tokens/{pat_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Update the access a fine-grained personal access token has to organization resources + * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/update-pat-access"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories a fine-grained personal access token has access to + * @description Lists the repositories a fine-grained personal access token has access to. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grant-repositories"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/private-registries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List private registries for an organization + * @description + * Lists all private registry configurations available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["private-registries/list-org-private-registries"]; + put?: never; + /** + * Create a private registry for an organization + * @description + * Creates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["private-registries/create-org-private-registry"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/private-registries/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get private registries public key for an organization + * @description + * Gets the org public key, which is needed to encrypt private registry secrets. You need to encrypt a secret before you can create or update secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["private-registries/get-org-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/private-registries/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a private registry for an organization + * @description + * Get the configuration of a single private registry defined for an organization, omitting its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["private-registries/get-org-private-registry"]; + put?: never; + post?: never; + /** + * Delete a private registry for an organization + * @description + * Delete a private registry configuration at the organization-level. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["private-registries/delete-org-private-registry"]; + options?: never; + head?: never; + /** + * Update a private registry for an organization + * @description + * Updates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + patch: operations["private-registries/update-org-private-registry"]; + trace?: never; + }; + "/orgs/{org}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-for-org"]; + put?: never; + /** + * Create an organization project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/properties/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all custom properties for an organization + * @description Gets all custom properties defined for an organization. + * Organization members can read these properties. + */ + get: operations["orgs/get-all-custom-properties"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Create or update custom properties for an organization + * @description Creates new or updates existing custom properties defined for an organization in a batch. + * + * If the property already exists, the existing property will be replaced with the new values. + * Missing optional values will fall back to default values, previous values will be overwritten. + * E.g. if a property exists with `values_editable_by: org_and_repo_actors` and it's updated without specifying `values_editable_by`, it will be updated to default value `org_actors`. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + patch: operations["orgs/create-or-update-custom-properties"]; + trace?: never; + }; + "/orgs/{org}/properties/schema/{custom_property_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a custom property for an organization + * @description Gets a custom property that is defined for an organization. + * Organization members can read these properties. + */ + get: operations["orgs/get-custom-property"]; + /** + * Create or update a custom property for an organization + * @description Creates a new or updates an existing custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + put: operations["orgs/create-or-update-custom-property"]; + post?: never; + /** + * Remove a custom property for an organization + * @description Removes a custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + delete: operations["orgs/remove-custom-property"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/properties/values": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List custom property values for organization repositories + * @description Lists organization repositories with all of their custom property values. + * Organization members can read these properties. + */ + get: operations["orgs/list-custom-properties-values-for-repos"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Create or update custom property values for organization repositories + * @description Create new or update existing custom property values for repositories in a batch that belong to an organization. + * Each target repository will have its custom property values updated to match the values provided in the request. + * + * A maximum of 30 repositories can be updated in a single request. + * + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_values_editor` in the organization. + */ + patch: operations["orgs/create-or-update-custom-properties-values-for-repos"]; + trace?: never; + }; + "/orgs/{org}/public_members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public organization members + * @description Members of an organization can choose to have their membership publicized or not. + */ + get: operations["orgs/list-public-members"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/public_members/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check public organization membership for a user + * @description Check if the provided user is a public member of the organization. + */ + get: operations["orgs/check-public-membership-for-user"]; + /** + * 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.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["orgs/set-public-membership-for-authenticated-user"]; + post?: never; + /** + * Remove public organization membership for the authenticated user + * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. + */ + delete: operations["orgs/remove-public-membership-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization repositories + * @description Lists repositories for the specified organization. + * + * > [!NOTE] + * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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)." + */ + get: operations["repos/list-for-org"]; + put?: never; + /** + * Create an organization repository + * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + post: operations["repos/create-in-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/rulesets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all organization repository rulesets + * @description Get all the repository rulesets for an organization. + */ + get: operations["repos/get-org-rulesets"]; + put?: never; + /** + * Create an organization repository ruleset + * @description Create a repository ruleset for an organization. + */ + post: operations["repos/create-org-ruleset"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/rulesets/rule-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization rule suites + * @description Lists suites of rule evaluations at the organization level. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-org-rule-suites"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/rulesets/rule-suites/{rule_suite_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization rule suite + * @description Gets information about a suite of rule evaluations from within an organization. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-org-rule-suite"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/rulesets/{ruleset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization repository ruleset + * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. + */ + get: operations["repos/get-org-ruleset"]; + /** + * Update an organization repository ruleset + * @description Update a ruleset for an organization. + */ + put: operations["repos/update-org-ruleset"]; + post?: never; + /** + * Delete an organization repository ruleset + * @description Delete a ruleset for an organization. + */ + delete: operations["repos/delete-org-ruleset"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/rulesets/{ruleset_id}/history": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get organization ruleset history + * @description Get the history of an organization ruleset. + */ + get: operations["orgs/get-org-ruleset-history"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/rulesets/{ruleset_id}/history/{version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get organization ruleset version + * @description Get a version of an organization ruleset. + */ + get: operations["orgs/get-org-ruleset-version"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secret scanning alerts for an organization + * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/list-alerts-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/security-advisories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository security advisories for an organization + * @description Lists repository security advisories for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + get: operations["security-advisories/list-org-repository-advisories"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/security-managers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List security manager teams + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + get: operations["orgs/list-security-manager-teams"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/security-managers/teams/{team_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Add a security manager team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + put: operations["orgs/add-security-manager-team"]; + post?: never; + /** + * Remove a security manager team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + delete: operations["orgs/remove-security-manager-team"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/settings/billing/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions billing for an organization + * @description 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)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + get: operations["billing/get-github-actions-billing-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/settings/billing/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Packages billing for an organization + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + get: operations["billing/get-github-packages-billing-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/settings/billing/shared-storage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get shared storage billing for an organization + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + get: operations["billing/get-shared-storage-billing-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/settings/network-configurations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List hosted compute network configurations for an organization + * @description Lists all hosted compute network configurations configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + get: operations["hosted-compute/list-network-configurations-for-org"]; + put?: never; + /** + * Create a hosted compute network configuration for an organization + * @description Creates a hosted compute network configuration for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + post: operations["hosted-compute/create-network-configuration-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/settings/network-configurations/{network_configuration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a hosted compute network configuration for an organization + * @description Gets a hosted compute network configuration configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + get: operations["hosted-compute/get-network-configuration-for-org"]; + put?: never; + post?: never; + /** + * Delete a hosted compute network configuration from an organization + * @description Deletes a hosted compute network configuration from an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + delete: operations["hosted-compute/delete-network-configuration-from-org"]; + options?: never; + head?: never; + /** + * Update a hosted compute network configuration for an organization + * @description Updates a hosted compute network configuration for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + patch: operations["hosted-compute/update-network-configuration-for-org"]; + trace?: never; + }; + "/orgs/{org}/settings/network-settings/{network_settings_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a hosted compute network settings resource for an organization + * @description Gets a hosted compute network settings resource configured for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + get: operations["hosted-compute/get-network-settings-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/team/{team_slug}/copilot/metrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Copilot metrics for a team + * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. + * + * The response contains metrics for up to 28 days prior. Metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization containing the team within GitHub settings. + * Only organization owners for the organization that contains this team and owners and billing managers of the parent enterprise can view Copilot metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/copilot-metrics-for-team"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List teams + * @description Lists all teams in an organization that are visible to the authenticated user. + */ + get: operations["teams/list"]; + put?: never; + /** + * 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://docs.github.com/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://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + post: operations["teams/create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a team by name + * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-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}`. + */ + get: operations["teams/get-by-name"]; + put?: never; + post?: never; + /** + * Delete a team + * @description 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}`. + */ + delete: operations["teams/delete-in-org"]; + options?: never; + head?: never; + /** + * Update a team + * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + patch: operations["teams/update-in-org"]; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussions + * @description List all discussions on a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussions-in-org"]; + put?: never; + /** + * Create a discussion + * @description Creates a new discussion post on a team's page. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-in-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion + * @description Get a specific discussion on a team's page. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-in-org"]; + put?: never; + post?: never; + /** + * Delete a discussion + * @description Delete a discussion from a team's page. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-in-org"]; + options?: never; + head?: never; + /** + * Update a discussion + * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-in-org"]; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussion comments + * @description List all comments on a team discussion. + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussion-comments-in-org"]; + put?: never; + /** + * Create a discussion comment + * @description Creates a new comment on a team discussion. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-comment-in-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion comment + * @description Get a specific comment on a team discussion. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-comment-in-org"]; + put?: never; + post?: never; + /** + * Delete a discussion comment + * @description Deletes a comment on a team discussion. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-comment-in-org"]; + options?: never; + head?: never; + /** + * Update a discussion comment + * @description Edits the body text of a discussion comment. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-comment-in-org"]; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion comment + * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-comment-in-org"]; + put?: never; + /** + * Create reaction for a team discussion comment + * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-comment-in-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["reactions/delete-for-team-discussion-comment"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion + * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-in-org"]; + put?: never; + /** + * Create reaction for a team discussion + * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-in-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["reactions/delete-for-team-discussion"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + get: operations["teams/list-pending-invitations-in-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team members + * @description Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/list-members-in-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/memberships/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get team membership for a user + * @description 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 [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-in-org"]; + /** + * Add or update team membership for a user + * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * 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. + * + * > [!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}`. + */ + put: operations["teams/add-or-update-membership-for-user-in-org"]; + post?: never; + /** + * Remove team membership for a user + * @description 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. + * + * 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. + * + * > [!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}`. + */ + delete: operations["teams/remove-membership-for-user-in-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/list-projects-in-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/check-permissions-for-project-in-org"]; + /** + * Add or update team project permissions + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + put: operations["teams/add-or-update-project-permissions-in-org"]; + post?: never; + /** + * Remove a project from a team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["teams/remove-project-in-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team repositories + * @description 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`. + */ + get: operations["teams/list-repos-in-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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/using-the-rest-api/getting-started-with-the-rest-api#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. + * + * If the repository is private, you must have at least `read` permission for that repository, and your token must have the `repo` or `admin:org` scope. Otherwise, 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}`. + */ + get: operations["teams/check-permissions-for-repo-in-org"]; + /** + * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * > [!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/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"]; + post?: never; + /** + * 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. + * + * > [!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}`. + */ + delete: operations["teams/remove-repo-in-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List child teams + * @description 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`. + */ + get: operations["teams/list-child-in-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/{security_product}/{enablement}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Enable or disable a security feature for an organization + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** The ability to enable or disable a security feature for all eligible repositories in an organization is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. For more information, see the [changelog](https://github.blog/changelog/2024-07-22-deprecation-of-api-endpoint-to-enable-or-disable-a-security-feature-for-an-organization/). + * + * Enables or disables the specified security feature for all eligible repositories in an organization. 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)." + * + * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. + */ + post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/columns/cards/{card_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/get-card"]; + put?: never; + post?: never; + /** + * Delete a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects/delete-card"]; + options?: never; + head?: never; + /** + * Update an existing project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + patch: operations["projects/update-card"]; + trace?: never; + }; + "/projects/columns/cards/{card_id}/moves": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Move a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/move-card"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/columns/{column_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/get-column"]; + put?: never; + post?: never; + /** + * Delete a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects/delete-column"]; + options?: never; + head?: never; + /** + * Update an existing project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + patch: operations["projects/update-column"]; + trace?: never; + }; + "/projects/columns/{column_id}/cards": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List project cards + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-cards"]; + put?: never; + /** + * Create a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-card"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/columns/{column_id}/moves": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Move a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/move-column"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/get"]; + put?: never; + post?: never; + /** + * Delete a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects/delete"]; + options?: never; + head?: never; + /** + * Update a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + patch: operations["projects/update"]; + trace?: never; + }; + "/projects/{project_id}/collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List project collaborators + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-collaborators"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/{project_id}/collaborators/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Add project collaborator + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + put: operations["projects/add-collaborator"]; + post?: never; + /** + * Remove user as a collaborator + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects/remove-collaborator"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/{project_id}/collaborators/{username}/permission": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get project permission for a user + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/get-permission-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/{project_id}/columns": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List project columns + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-columns"]; + put?: never; + /** + * Create a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-column"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/rate_limit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get rate limit status for the authenticated user + * @description > [!NOTE] + * > Accessing this endpoint does not count against your REST API rate limit. + * + * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: + * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. + * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search/search)." + * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." + * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." + * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." + * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `dependency_sbom` object provides your rate limit status for requesting SBOMs from the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." + * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." + * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/about-the-rest-api/api-versions)." + * + * > [!NOTE] + * > The `rate` object is closing down. 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. + */ + get: operations["rate-limit/get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository + * @description 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. + * + * > [!NOTE] + * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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)." + */ + get: operations["repos/get"]; + put?: never; + post?: never; + /** + * Delete a repository + * @description Deleting a repository requires admin access. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + * + * OAuth app tokens and personal access tokens (classic) need the `delete_repo` scope to use this endpoint. + */ + delete: operations["repos/delete"]; + options?: never; + head?: never; + /** + * Update a repository + * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. + */ + patch: operations["repos/update"]; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/artifacts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List artifacts for a repository + * @description Lists all artifacts for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-artifacts-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-artifact"]; + put?: never; + post?: never; + /** + * Delete an artifact + * @description Deletes an artifact for a workflow run. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-artifact"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 + * the response header to find the URL for the download. The `:archive_format` must be `zip`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-artifact"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/cache/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions cache usage for a repository + * @description 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/caches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GitHub Actions caches for a repository + * @description Lists the GitHub Actions caches for a repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-list"]; + put?: never; + post?: never; + /** + * Delete GitHub Actions caches for a repository (using a cache key) + * @description 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-key"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/caches/{cache_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete a GitHub Actions cache for a repository (using a cache ID) + * @description Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-id"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-job-for-workflow-run"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 + * 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-job-logs-for-workflow-run"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Re-run a job from a workflow run + * @description Re-run a job and its dependent jobs in a workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-job-for-workflow-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/oidc/customization/sub": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the customization template for an OIDC subject claim for a repository + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; + /** + * Set the customization template for an OIDC subject claim for a repository + * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/organization-secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository organization secrets + * @description Lists all organization secrets shared with a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-organization-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/organization-variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository organization variables + * @description Lists all organization variables shared with a repository. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-organization-variables"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/permissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 and reusable workflows allowed to run in the repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-permissions-repository"]; + /** + * Set GitHub Actions permissions for a repository + * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-permissions-repository"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/permissions/access": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the level of access for workflows outside of the repository + * @description 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 private repositories. + * For more information, see "[Allowing access to components in a private 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-a-private-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-workflow-access-to-repository"]; + /** + * Set the level of access for workflows outside of the repository + * @description 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 private repositories. + * For more information, see "[Allowing access to components in a private 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-a-private-repository)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-workflow-access-to-repository"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get allowed actions and reusable workflows for a repository + * @description 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-allowed-actions-repository"]; + /** + * Set allowed actions and reusable workflows for a repository + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-allowed-actions-repository"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/permissions/workflow": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default workflow permissions for a repository + * @description 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; + /** + * Set default workflow permissions for a repository + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List self-hosted runners for a repository + * @description Lists all self-hosted runners configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/downloads": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List runner applications for a repository + * @description Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-runner-applications-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create configuration for a just-in-time runner for a repository + * @description Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the repository. + * + * OAuth tokens and personal access tokens (classic) need the`repo` scope to use this endpoint. + */ + post: operations["actions/generate-runner-jitconfig-for-repo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/registration-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-registration-token-for-repo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/remove-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a remove token for a repository + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an repository. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-remove-token-for-repo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a self-hosted runner for a repository + * @description Gets a specific self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-for-repo"]; + put?: never; + post?: never; + /** + * 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-repo"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for a self-hosted runner for a repository + * @description Lists all labels for a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; + /** + * Set custom labels for a self-hosted runner for a repository + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need 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 for a repository + * @description Adds custom labels to a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need 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 for a repository + * @description Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove a custom label from a self-hosted runner for a repository + * @description 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + get: operations["actions/list-workflow-runs-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a workflow run + * @description Gets a specific workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run"]; + put?: never; + post?: never; + /** + * Delete a workflow run + * @description Deletes a specific workflow run. + * + * Anyone with write access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-workflow-run"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the review history for a workflow run + * @description Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-reviews-for-run"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Approve a workflow run for a fork pull request + * @description 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/approve-workflow-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List workflow run artifacts + * @description Lists artifacts for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-workflow-run-artifacts"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a workflow run attempt + * @description Gets a specific workflow run attempt. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run-attempt"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List jobs for a workflow run attempt + * @description Lists jobs for a specific workflow run attempt. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-jobs-for-workflow-run-attempt"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download workflow run attempt logs + * @description 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-workflow-run-attempt-logs"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Cancel a workflow run + * @description Cancels a workflow run using its `id`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/cancel-workflow-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Review custom deployment protection rules for a workflow run + * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * > [!NOTE] + * > GitHub Apps can only review their own custom deployment protection rules. To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + post: operations["actions/review-custom-gates-for-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Force cancel a workflow run + * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. + * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/force-cancel-workflow-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List jobs for a workflow run + * @description Lists jobs for a workflow run. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-jobs-for-workflow-run"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 + * `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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-workflow-run-logs"]; + put?: never; + post?: never; + /** + * Delete workflow run logs + * @description Deletes all logs for a workflow run. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-workflow-run-logs"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get pending deployments for a workflow run + * @description 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-pending-deployments-for-run"]; + put?: never; + /** + * Review pending deployments for a workflow run + * @description 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/review-pending-deployments-for-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Re-run a workflow + * @description Re-runs your workflow run using its `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-workflow"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Re-run failed jobs from a workflow run + * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-workflow-failed-jobs"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get workflow run usage + * @description > [!WARNING] + * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. + * + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run-usage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/create-or-update-repo-secret"]; + post?: never; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-repo-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository variables + * @description Lists all repository variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-variables"]; + put?: never; + /** + * Create a repository variable + * @description Creates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-repo-variable"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/variables/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository variable + * @description Gets a specific variable in a repository. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-variable"]; + put?: never; + post?: never; + /** + * Delete a repository variable + * @description Deletes a repository variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-repo-variable"]; + options?: never; + head?: never; + /** + * Update a repository variable + * @description Updates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + patch: operations["actions/update-repo-variable"]; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository workflows + * @description Lists the workflows in a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-repo-workflows"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/disable-workflow"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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`. + * + * 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-workflow-dispatch"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/enable-workflow"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List workflow runs for a workflow + * @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/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + get: operations["actions/list-workflow-runs"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get workflow usage + * @description > [!WARNING] + * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. + * + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-usage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/activity": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository activities + * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. + * + * For more information about viewing repository activity, + * see "[Viewing activity and data for your repository](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository)." + */ + get: operations["repos/list-activities"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/assignees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List assignees + * @description 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/assignees/{assignee}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user can be assigned + * @description 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. + */ + get: operations["issues/check-user-can-be-assigned"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/attestations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create an attestation + * @description Store an artifact attestation and associate it with a repository. + * + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. + * + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + post: operations["repos/create-attestation"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/attestations/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with a repository. + * + * The authenticated user making the request must have read access to the repository. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["repos/list-attestations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/autolinks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all autolinks of a repository + * @description Gets all autolinks that are configured for a repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/list-autolinks"]; + put?: never; + /** + * Create an autolink reference for a repository + * @description Users with admin access to the repository can create an autolink. + */ + post: operations["repos/create-autolink"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/autolinks/{autolink_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an autolink reference of a repository + * @description 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"]; + put?: never; + post?: never; + /** + * Delete an autolink reference from a repository + * @description 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"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if Dependabot security updates are enabled for a repository + * @description Shows whether Dependabot security updates are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + get: operations["repos/check-automated-security-fixes"]; + /** + * Enable Dependabot security updates + * @description Enables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + put: operations["repos/enable-automated-security-fixes"]; + post?: never; + /** + * Disable Dependabot security updates + * @description Disables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + delete: operations["repos/disable-automated-security-fixes"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List branches */ + get: operations["repos/list-branches"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a branch */ + get: operations["repos/get-branch"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-branch-protection"]; + /** + * 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://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. + */ + put: operations["repos/update-branch-protection"]; + post?: never; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/delete-branch-protection"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-admin-branch-protection"]; + put?: never; + /** + * 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://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"]; + /** + * 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://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"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-pull-request-review-protection"]; + put?: never; + post?: never; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/delete-pull-request-review-protection"]; + options?: never; + head?: never; + /** + * 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://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. + */ + patch: operations["repos/update-pull-request-review-protection"]; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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. + */ + get: operations["repos/get-commit-signature-protection"]; + put?: never; + /** + * 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://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"]; + /** + * 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://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"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-status-checks-protection"]; + put?: never; + post?: never; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/remove-status-check-protection"]; + options?: never; + head?: never; + /** + * 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://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"]; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-all-status-check-contexts"]; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + put: operations["repos/set-status-check-contexts"]; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + post: operations["repos/add-status-check-contexts"]; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/remove-status-check-contexts"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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. + */ + get: operations["repos/get-access-restrictions"]; + put?: never; + post?: never; + /** + * 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://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. + */ + delete: operations["repos/delete-access-restrictions"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + get: operations["repos/get-apps-with-access-to-protected-branch"]; + /** + * 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://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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + put: operations["repos/set-app-access-restrictions"]; + /** + * 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://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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + post: operations["repos/add-app-access-restrictions"]; + /** + * 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://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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + delete: operations["repos/remove-app-access-restrictions"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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"]; + /** + * 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://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. + */ + put: operations["repos/set-team-access-restrictions"]; + /** + * 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://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. + */ + post: operations["repos/add-team-access-restrictions"]; + /** + * 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://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. + */ + delete: operations["repos/remove-team-access-restrictions"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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"]; + /** + * 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://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. | + */ + put: operations["repos/set-user-access-restrictions"]; + /** + * 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://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. | + */ + post: operations["repos/add-user-access-restrictions"]; + /** + * 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://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. + * + * | 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. | + */ + delete: operations["repos/remove-user-access-restrictions"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/rename": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Rename a branch + * @description 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 authenticated user must have push access to the branch. If the branch is the default branch, the authenticated user must also have admin or owner permissions. + * + * In order to rename the default branch, fine-grained access tokens also need the `administration:write` repository permission. + */ + post: operations["repos/rename-branch"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a check run + * @description Creates a new check run for a specific commit in a repository. + * + * To create a check run, you must use a GitHub App. OAuth apps and authenticated users are not able to create a check suite. + * + * 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. + * + * > [!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. + */ + post: operations["checks/create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a check run + * @description Gets a single check run using its `id`. + * + * > [!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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a check run + * @description Updates a check run for a specific commit in a repository. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + patch: operations["checks/update"]; + trace?: never; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check run annotations + * @description Lists annotations for a check run using the annotation `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-annotations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Rerequest a check run + * @description 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`, the `status` of the check suite it belongs to is reset to `queued` and the `conclusion` is cleared. The check run itself is not updated. GitHub apps recieving the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) with the `rerequested` action should then decide if the check run should be reset or updated and call the [update `check_run` endpoint](https://docs.github.com/rest/checks/runs#update-a-check-run) to update the check_run if desired. + * + * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". + */ + post: operations["checks/rerequest-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a check suite + * @description Creates a check suite manually. By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/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/checks/suites#update-repository-preferences-for-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`. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + post: operations["checks/create-suite"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-suites/preferences": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * 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/checks/suites#create-a-check-suite). + * You must have admin permissions in the repository to set preferences for check suites. + */ + patch: operations["checks/set-suites-preferences"]; + trace?: never; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a check suite + * @description Gets a single check suite using its `id`. + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/get-suite"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check runs in a check suite + * @description Lists check runs for a check suite using its `id`. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-for-suite"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + */ + post: operations["checks/rerequest-suite"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List code scanning alerts for a repository + * @description Lists code scanning alerts. + * + * 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). + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-alerts-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code scanning alert + * @description Gets a single code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-alert"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a code scanning alert + * @description Updates the status of a single code scanning alert. + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + patch: operations["code-scanning/update-alert"]; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the status of an autofix for a code scanning alert + * @description Gets the status and description of an autofix for a code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-autofix"]; + put?: never; + /** + * Create an autofix for a code scanning alert + * @description Creates an autofix for a code scanning alert. + * + * If a new autofix is to be created as a result of this request or is currently being generated, then this endpoint will return a 202 Accepted response. + * + * If an autofix already exists for a given alert, then this endpoint will return a 200 OK response. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + post: operations["code-scanning/create-autofix"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Commit an autofix for a code scanning alert + * @description Commits an autofix for a code scanning alert. + * + * If an autofix is committed as a result of this request, then this endpoint will return a 201 Created response. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + post: operations["code-scanning/commit-autofix"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List instances of a code scanning alert + * @description Lists all instances of the specified code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-alert-instances"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/analyses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List code scanning analyses for a repository + * @description 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. + * + * > [!WARNING] + * > **Closing down notice:** The `tool_name` field is closing down 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. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-recent-analyses"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code scanning analysis for a repository + * @description Gets a specified code scanning analysis for a repository. + * + * 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/sarif+json`**: Instead of returning a summary of the analysis, this endpoint returns a subset of the analysis data that was uploaded. The data 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). It also returns additional data such as the `github/alertNumber` and `github/alertUrl` properties. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-analysis"]; + put?: never; + post?: never; + /** + * Delete a code scanning analysis from a repository + * @description Deletes a specified code scanning analysis from a repository. + * + * 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` + * * `category` + * + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + delete: operations["code-scanning/delete-analysis"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List CodeQL databases for a repository + * @description Lists the CodeQL databases that are available in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-codeql-databases"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a CodeQL database for a repository + * @description Gets a CodeQL database for a language in a repository. + * + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-codeql-database"]; + put?: never; + post?: never; + /** + * Delete a CodeQL database + * @description Deletes a CodeQL database for a language in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + delete: operations["code-scanning/delete-codeql-database"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a CodeQL variant analysis + * @description Creates a new CodeQL variant analysis, which will run a CodeQL query against one or more repositories. + * + * Get started by learning more about [running CodeQL queries at scale with Multi-Repository Variant Analysis](https://docs.github.com/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis). + * + * Use the `owner` and `repo` parameters in the URL to specify the controller repository that + * will be used for running GitHub Actions workflows and storing the results of the CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["code-scanning/create-variant-analysis"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the summary of a CodeQL variant analysis + * @description Gets the summary of a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-variant-analysis"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the analysis status of a repository in a CodeQL variant analysis + * @description Gets the analysis status of a repository in a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-variant-analysis-repo-task"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/default-setup": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code scanning default setup configuration + * @description Gets a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-default-setup"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a code scanning default setup configuration + * @description Updates a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + patch: operations["code-scanning/update-default-setup"]; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Upload an analysis as SARIF data + * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." + * + * 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 number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. + * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." + * + * + * | **SARIF data** | **Maximum values** | **Additional limits** | + * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| + * | Runs per file | 20 | | + * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | + * | Rules per run | 25,000 | | + * | Tool extensions per run | 100 | | + * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | + * | Location per result | 1,000 | Only 100 locations will be included. | + * | Tags per rule | 20 | Only 10 tags will be included. | + * + * + * The `202 Accepted` response includes an `id` value. + * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + * + * This endpoint is limited to 1,000 requests per hour for each user or app installation calling it. + */ + post: operations["code-scanning/upload-sarif"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get information about a SARIF upload + * @description 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/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-sarif"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-security-configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["code-security/get-configuration-for-repository"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codeowners/errors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List CODEOWNERS errors + * @description List any syntax errors that are detected in the CODEOWNERS + * file. + * + * 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)." + */ + get: operations["repos/codeowners-errors"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces in a repository for the authenticated user + * @description Lists the codespaces associated to a specified repository and the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/list-in-repository-for-authenticated-user"]; + put?: never; + /** + * Create a codespace in a repository + * @description Creates a codespace owned by the authenticated user in the specified repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/create-with-repo-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/devcontainers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List devcontainer configurations in a repository for the authenticated user + * @description 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/machines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List available machine types for a repository + * @description List the machine types available for a given repository based on its configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/repo-machines-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/new": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default attributes for a codespace + * @description Gets the default attributes for codespaces created by the user with the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/permissions_check": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if permissions defined by a devcontainer have been accepted by the authenticated user + * @description Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/check-permissions-for-devcontainer"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository secrets + * @description Lists all development environment secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/list-repo-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * If the repository is private, OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/get-repo-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository secret + * @description Gets a single repository development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. + */ + put: operations["codespaces/create-or-update-repo-secret"]; + post?: never; + /** + * Delete a repository secret + * @description Deletes a development environment secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. + */ + delete: operations["codespaces/delete-repo-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * The `permissions` hash returned in the response contains the base role permissions of the collaborator. The `role_name` is the highest role assigned to the collaborator after considering all sources of grants, including: repo, teams, organization, and enterprise. + * There is presently not a way to differentiate between an organization level grant and a repository level grant from this endpoint response. + * + * Team members will include the members of child teams. + * + * The authenticated user must have write, maintain, or admin privileges on the repository to use this endpoint. For organization-owned repositories, the authenticated user needs to be a member of the organization. + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + get: operations["repos/list-collaborators"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/collaborators/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * Team members will include the members of child teams. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + get: operations["repos/check-collaborator"]; + /** + * Add a repository collaborator + * @description Add a user to a repository with a specified level of access. If the repository is owned by an organization, this API does not add the user to the organization - a user that has repository access without being an organization member is called an "outside collaborator" (if they are not an Enterprise Managed User) or a "repository collaborator" if they are an Enterprise Managed User. These users are exempt from some organization policies - see "[Adding outside collaborators to repositories](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization)" to learn more about these collaborator types. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * + * Adding an outside collaborator may be restricted by enterprise and organization administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)" and "[Setting permissions for adding outside collaborators](https://docs.github.com/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators)" for organization settings. + * + * 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 role 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * 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 [API](https://docs.github.com/rest/collaborators/invitations). + * + * For Enterprise Managed Users, this endpoint does not send invitations - these users are automatically added to organizations and repositories. Enterprise Managed Users can only be added to organizations and repositories within their enterprise. + * + * **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"]; + post?: never; + /** + * Remove a repository collaborator + * @description Removes a collaborator from a repository. + * + * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. + * + * This endpoint also: + * - Cancels any outstanding invitations sent by the collaborator + * - Unassigns the user from any issues + * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. + * - Unstars the repository + * - Updates access permissions to packages + * + * Removing a user as a collaborator has the following effects on forks: + * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. + * - If the user had their own fork of the repository, the fork will be deleted. + * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. + * + * > [!NOTE] + * > A user can still have access to the repository through organization permissions like base repository permissions. + * + * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. + * + * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". + */ + delete: operations["repos/remove-collaborator"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository permissions for a user + * @description Checks the repository permission and role of a collaborator. + * + * The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the + * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. + * The `role_name` attribute provides the name of the assigned role, including custom roles. The + * `permission` can also be used to determine which base level of access the collaborator has to the repository. + * + * The calculated permissions are the highest role assigned to the collaborator after considering all sources of grants, including: repo, teams, organization, and enterprise. + * There is presently not a way to differentiate between an organization level grant and a repository level grant from this endpoint response. + */ + get: operations["repos/get-collaborator-permission-level"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commit comments for a repository + * @description Lists the commit comments for a specified repository. Comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["repos/list-commit-comments-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a commit comment + * @description Gets a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["repos/get-commit-comment"]; + put?: never; + post?: never; + /** Delete a commit comment */ + delete: operations["repos/delete-commit-comment"]; + options?: never; + head?: never; + /** + * Update a commit comment + * @description Updates the contents of a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["repos/update-commit-comment"]; + trace?: never; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a commit comment + * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + get: operations["reactions/list-for-commit-comment"]; + put?: never; + /** + * Create reaction for a commit comment + * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). 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"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + delete: operations["reactions/delete-for-commit-comment"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commits + * @description **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. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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/list-commits"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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. + */ + get: operations["repos/list-branches-for-head-commit"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commit comments + * @description Lists the comments for a specified commit. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["repos/list-comments-for-commit"]; + put?: never; + /** + * Create a commit comment + * @description Create a comment for a commit using its `:commit_sha`. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["repos/create-commit-comment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests associated with a commit + * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, it will return merged and open pull requests associated with the commit. + * + * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. + */ + get: operations["repos/list-pull-requests-associated-with-commit"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a commit + * @description 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 and the default JSON media type is requested, 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." Pagination query parameters are not supported for these media types. + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.sha`**: Returns the commit's SHA-1 hash. 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. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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/get-commit"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check runs for a Git reference + * @description Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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. + * + * If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-for-ref"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check suites for a Git reference + * @description Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-suites-for-ref"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **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` + */ + get: operations["repos/get-combined-status-for-ref"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/statuses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + get: operations["repos/list-commit-statuses-for-ref"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/community/profile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get community profile metrics + * @description Returns all community profile metrics for a repository. The repository cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the 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 + * the recommended community health files are present. For more information, see + * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + get: operations["repos/get-community-profile-metrics"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/compare/{basehead}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Compare two commits + * @description Compares two commits against one another. You can compare refs (branches or tags) and commit SHAs in the same repository, or you can compare refs and commit SHAs that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." + * + * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. + * + * The API response includes details about the files that were changed between the two commits. This includes the status of the change (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. + * + * When calling this endpoint without any paging parameter (`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. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: + * + * - The list of changed files is only shown on the first page of results, and it includes up to 300 changed files for the entire comparison. + * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. + * + * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: + * + * | 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. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/contents/{path}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository content + * @description Gets the contents of a file or directory in a repository. Specify the file path or directory with the `path` parameter. If you omit the `path` parameter, you will receive the contents of the repository's root directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents for files and symlinks. + * - **`application/vnd.github.html+json`**: Returns the file contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + * - **`application/vnd.github.object+json`**: Returns the contents in a consistent object format regardless of the content type. For example, instead of an array of objects for a directory, the response will be an object with an `entries` attribute containing the array of objects. + * + * 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 [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 and the symlink's target is a normal file in the repository, then the API responds with the content of the file. Otherwise, the API responds with an object describing the symlink itself. + * + * If the content is a submodule, the `submodule_git_url` field 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. + * + * **Notes**: + * + * - To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). + * - 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/git/trees#get-a-tree). + * - Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. + * - 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 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. + */ + get: operations["repos/get-content"]; + /** + * Create or update file contents + * @description Creates a new file or replaces an existing file in a repository. + * + * > [!NOTE] + * > If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The `workflow` scope is also required in order to modify files in the `.github/workflows` directory. + */ + put: operations["repos/create-or-update-file-contents"]; + post?: never; + /** + * Delete a file + * @description 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. + * + * > [!NOTE] + * > If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + delete: operations["repos/delete-file"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/contributors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 caches contributor data to improve performance. + * + * 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. + */ + get: operations["repos/list-contributors"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependabot/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Dependabot alerts for a repository + * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/list-alerts-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a Dependabot alert + * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/get-alert"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a Dependabot alert + * @description The authenticated user must have access to security alerts for the repository to use this endpoint. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + patch: operations["dependabot/update-alert"]; + trace?: never; + }; + "/repos/{owner}/{repo}/dependabot/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["dependabot/list-repo-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependabot/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the repository is private. + */ + get: operations["dependabot/get-repo-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["dependabot/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["dependabot/create-or-update-repo-secret"]; + post?: never; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["dependabot/delete-repo-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a diff of the dependencies between commits + * @description 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependency-graph/sbom": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Export a software bill of materials (SBOM) for a repository. + * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. + */ + get: operations["dependency-graph/export-sbom"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependency-graph/snapshots": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a snapshot of dependencies for a repository + * @description Create a new snapshot of a repository's dependencies. + * + * The authenticated user must have access to the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["dependency-graph/create-repository-snapshot"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/deployments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deployments + * @description Simple filtering of deployments is available via query parameters: + */ + get: operations["repos/list-deployments"]; + put?: never; + /** + * Create a deployment + * @description 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/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. + * + * 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. + * + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + post: operations["repos/create-deployment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a deployment */ + get: operations["repos/get-deployment"]; + put?: never; + post?: never; + /** + * Delete a deployment + * @description 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. + * + * 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/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + delete: operations["repos/delete-deployment"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deployment statuses + * @description Users with pull access can view deployment statuses for a deployment: + */ + get: operations["repos/list-deployment-statuses"]; + put?: never; + /** + * Create a deployment status + * @description Users with `push` access can create deployment statuses for a given deployment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. + */ + post: operations["repos/create-deployment-status"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a deployment status + * @description Users with pull access can view a deployment status for a deployment: + */ + get: operations["repos/get-deployment-status"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dispatches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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)." + * + * 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 input example shows how you can use the `client_payload` as a test to debug your workflow. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-dispatch-event"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environments + * @description Lists the environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-all-environments"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment + * @description > [!NOTE] + * > To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-environment"]; + /** + * Create or update an environment + * @description 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] + * > To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." + * + * > [!NOTE] + * > To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/create-or-update-environment"]; + post?: never; + /** + * Delete an environment + * @description OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/delete-an-environment"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deployment branch policies + * @description Lists the deployment branch policies for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-deployment-branch-policies"]; + put?: never; + /** + * Create a deployment branch policy + * @description Creates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-deployment-branch-policy"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a deployment branch policy + * @description Gets a deployment branch or tag policy for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-deployment-branch-policy"]; + /** + * Update a deployment branch policy + * @description Updates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/update-deployment-branch-policy"]; + post?: never; + /** + * Delete a deployment branch policy + * @description Deletes a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/delete-deployment-branch-policy"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all deployment protection rules for an environment + * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-all-deployment-protection-rules"]; + put?: never; + /** + * Create a custom deployment protection rule on an environment + * @description Enable a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app), as well as the [guide to creating custom deployment protection rules](https://docs.github.com/actions/managing-workflow-runs-and-deployments/managing-deployments/creating-custom-deployment-protection-rules). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-deployment-protection-rule"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List custom deployment rule integrations available for an environment + * @description Gets all custom deployment protection rule integrations that are available for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-custom-deployment-rule-integrations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a custom deployment protection rule + * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-custom-deployment-protection-rule"]; + put?: never; + post?: never; + /** + * Disable a custom protection rule for an environment + * @description Disables a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/disable-deployment-protection-rule"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environment secrets + * @description Lists all secrets available in an environment without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-environment-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment public key + * @description 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment secret + * @description Gets a single environment secret without revealing its encrypted value. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-secret"]; + /** + * Create or update an environment secret + * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/create-or-update-environment-secret"]; + post?: never; + /** + * Delete an environment secret + * @description Deletes a secret in an environment using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-environment-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environment variables + * @description Lists all environment variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-environment-variables"]; + put?: never; + /** + * Create an environment variable + * @description Create an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-environment-variable"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment variable + * @description Gets a specific variable in an environment. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-variable"]; + put?: never; + post?: never; + /** + * Delete an environment variable + * @description Deletes an environment variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-environment-variable"]; + options?: never; + head?: never; + /** + * Update an environment variable + * @description Updates an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + patch: operations["actions/update-environment-variable"]; + trace?: never; + }; + "/repos/{owner}/{repo}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-repo-events"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/forks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List forks */ + get: operations["repos/list-forks"]; + put?: never; + /** + * Create a fork + * @description 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?tags=dotcom-rest-api). + * + * > [!NOTE] + * > Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. + */ + post: operations["repos/create-fork"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/blobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create a blob */ + post: operations["git/create-blob"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/blobs/{file_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a blob + * @description The `content` in the response will always be Base64 encoded. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw blob data. + * - **`application/vnd.github+json`**: Returns a JSON representation of the blob with `content` as a base64 encoded string. This is the default if no media type is specified. + * + * **Note** This endpoint supports blobs up to 100 megabytes in size. + */ + get: operations["git/get-blob"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a commit + * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-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 the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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. | + */ + post: operations["git/create-commit"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/commits/{commit_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a commit object + * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." + * + * **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. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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["git/get-commit"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/matching-refs/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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/pulls/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`. + */ + get: operations["git/list-matching-refs"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/ref/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * > [!NOTE] + * > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/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)". + */ + get: operations["git/get-ref"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/refs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + */ + post: operations["git/create-ref"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/refs/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete a reference + * @description Deletes the provided reference. + */ + delete: operations["git/delete-ref"]; + options?: never; + head?: never; + /** + * Update a reference + * @description Updates the provided reference to point to a new SHA. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + */ + patch: operations["git/update-ref"]; + trace?: never; + }; + "/repos/{owner}/{repo}/git/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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/git/refs#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/git/refs#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. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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. | + */ + post: operations["git/create-tag"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/tags/{tag_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a tag + * @description **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. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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["git/get-tag"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/trees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + * + * 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/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." + * + * Returns an error if you try to delete a file that does not exist. + */ + post: operations["git/create-tree"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/trees/{tree_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a tree + * @description Returns a single tree using the SHA1 value or ref name 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. + * + * > [!NOTE] + * > The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. + */ + get: operations["git/get-tree"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository webhooks + * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. + */ + get: operations["repos/list-webhooks"]; + put?: never; + /** + * Create a repository webhook + * @description 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. + */ + post: operations["repos/create-webhook"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." + */ + get: operations["repos/get-webhook"]; + put?: never; + post?: never; + /** + * Delete a repository webhook + * @description Delete a webhook for an organization. + * + * The authenticated user must be a repository owner, or have admin access in the repository, to delete the webhook. + */ + delete: operations["repos/delete-webhook"]; + options?: never; + head?: never; + /** + * 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/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." + */ + patch: operations["repos/update-webhook"]; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/webhooks/repos#get-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:repo_hook` or `repo` scope to use this endpoint. + */ + get: operations["repos/get-webhook-config-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * 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/webhooks/repos#update-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:repo_hook` or `repo` scope to use this endpoint. + */ + patch: operations["repos/update-webhook-config-for-repo"]; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deliveries for a repository webhook + * @description Returns a list of webhook deliveries for a webhook configured in a repository. + */ + get: operations["repos/list-webhook-deliveries"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a delivery for a repository webhook + * @description Returns a delivery for a webhook configured in a repository. + */ + get: operations["repos/get-webhook-delivery"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Redeliver a delivery for a repository webhook + * @description Redeliver a webhook delivery for a webhook configured in a repository. + */ + post: operations["repos/redeliver-webhook-delivery"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Ping a repository webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + post: operations["repos/ping-webhook"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + * + * > [!NOTE] + * > Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + post: operations["repos/test-push-webhook"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/import": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an import status + * @deprecated + * @description View the progress of an import. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + * + * **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/migrations/source-imports#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/migrations/source-imports#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/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#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/migrations/source-imports#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. + */ + get: operations["migrations/get-import-status"]; + /** + * Start an import + * @deprecated + * @description Start a source import to a GitHub repository using GitHub Importer. + * Importing into a GitHub repository with GitHub Actions enabled is not supported and will + * return a status `422 Unprocessable Entity` response. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + put: operations["migrations/start-import"]; + post?: never; + /** + * Cancel an import + * @deprecated + * @description Stop an import for a repository. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + delete: operations["migrations/cancel-import"]; + options?: never; + head?: never; + /** + * Update an import + * @deprecated + * @description 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. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/update-import"]; + trace?: never; + }; + "/repos/{owner}/{repo}/import/authors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get commit authors + * @deprecated + * @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 `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + get: operations["migrations/get-commit-authors"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/import/authors/{author_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Map a commit author + * @deprecated + * @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. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/map-commit-author"]; + trace?: never; + }; + "/repos/{owner}/{repo}/import/large_files": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get large files + * @deprecated + * @description List files larger than 100MB found during the import + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + get: operations["migrations/get-large-files"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/import/lfs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update Git LFS preference + * @deprecated + * @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.com). + * + * You can learn more about our LFS feature and working with large files [on our help + * site](https://docs.github.com/repositories/working-with-files/managing-large-files). + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/set-lfs-preference"]; + trace?: never; + }; + "/repos/{owner}/{repo}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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-repo-installation"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/interaction-limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["interactions/get-restrictions-for-repo"]; + /** + * 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. + */ + put: operations["interactions/set-restrictions-for-repo"]; + post?: never; + /** + * 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. + */ + delete: operations["interactions/remove-restrictions-for-repo"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository invitations + * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + get: operations["repos/list-invitations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/invitations/{invitation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Delete a repository invitation */ + delete: operations["repos/delete-invitation"]; + options?: never; + head?: never; + /** Update a repository invitation */ + patch: operations["repos/update-invitation"]; + trace?: never; + }; + "/repos/{owner}/{repo}/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository issues + * @description List issues in a repository. Only open issues will be listed. + * + * > [!NOTE] + * > GitHub's REST API 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/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-for-repo"]; + put?: never; + /** + * Create an issue + * @description 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/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue comments for a repository + * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. + * + * By default, issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-comments-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an issue comment + * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/get-comment"]; + put?: never; + post?: never; + /** + * Delete an issue comment + * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + delete: operations["issues/delete-comment"]; + options?: never; + head?: never; + /** + * Update an issue comment + * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["issues/update-comment"]; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for an issue comment + * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + get: operations["reactions/list-for-issue-comment"]; + put?: never; + /** + * Create reaction for an issue comment + * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). 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"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + delete: operations["reactions/delete-for-issue-comment"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue events for a repository + * @description Lists events for a repository. + */ + get: operations["issues/list-events-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/events/{event_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an issue event + * @description Gets a single event by the event id. + */ + get: operations["issues/get-event"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an issue + * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api#follow-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] + * > GitHub's REST API 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/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update an issue + * @description Issue owners and users with push access or Triage role can edit an issue. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["issues/update"]; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add assignees to an issue + * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + post: operations["issues/add-assignees"]; + /** + * Remove assignees from an issue + * @description Removes one or more assignees from an issue. + */ + delete: operations["issues/remove-assignees"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user can be assigned to a issue + * @description Checks if a user has permission to be assigned to a specific issue. + * + * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned-to-issue"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue comments + * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * Issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-comments"]; + put?: never; + /** + * Create an issue comment + * @description You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * 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. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/create-comment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue events + * @description Lists all events for an issue. + */ + get: operations["issues/list-events"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for an issue + * @description Lists all labels for an issue. + */ + get: operations["issues/list-labels-on-issue"]; + /** + * Set labels for an issue + * @description Removes any previous labels and sets the new labels for an issue. + */ + put: operations["issues/set-labels"]; + /** + * Add labels to an issue + * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. + */ + post: operations["issues/add-labels"]; + /** + * Remove all labels from an issue + * @description Removes all labels from an issue. + */ + delete: operations["issues/remove-all-labels"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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. + */ + delete: operations["issues/remove-label"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Lock an issue + * @description 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["issues/lock"]; + post?: never; + /** + * Unlock an issue + * @description Users with push access can unlock an issue's conversation. + */ + delete: operations["issues/unlock"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for an issue + * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + get: operations["reactions/list-for-issue"]; + put?: never; + /** + * Create reaction for an issue + * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. + */ + post: operations["reactions/create-for-issue"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + delete: operations["reactions/delete-for-issue"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/sub_issue": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove sub-issue + * @description You can use the REST API to remove a sub-issue from an issue. + * Removing content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass a specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + delete: operations["issues/remove-sub-issue"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/sub_issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List sub-issues + * @description You can use the REST API to list the sub-issues on an issue. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-sub-issues"]; + put?: never; + /** + * Add sub-issue + * @description You can use the REST API to add sub-issues to issues. + * + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/add-sub-issue"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Reprioritize sub-issue + * @description You can use the REST API to reprioritize a sub-issue to a different position in the parent list. + */ + patch: operations["issues/reprioritize-sub-issue"]; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List timeline events for an issue + * @description List all timeline events for an issue. + */ + get: operations["issues/list-events-for-timeline"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List deploy keys */ + get: operations["repos/list-deploy-keys"]; + put?: never; + /** + * Create a deploy key + * @description You can create a read-only deploy key. + */ + post: operations["repos/create-deploy-key"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/keys/{key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a deploy key */ + get: operations["repos/get-deploy-key"]; + put?: never; + post?: never; + /** + * 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. + */ + delete: operations["repos/delete-deploy-key"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for a repository + * @description Lists all labels for a repository. + */ + get: operations["issues/list-labels-for-repo"]; + put?: never; + /** + * Create a label + * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). + */ + post: operations["issues/create-label"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a label + * @description Gets a label using the given name. + */ + get: operations["issues/get-label"]; + put?: never; + post?: never; + /** + * Delete a label + * @description Deletes a label using the given label name. + */ + delete: operations["issues/delete-label"]; + options?: never; + head?: never; + /** + * Update a label + * @description Updates a label using the given label name. + */ + patch: operations["issues/update-label"]; + trace?: never; + }; + "/repos/{owner}/{repo}/languages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["repos/list-languages"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/license": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the license for a repository + * @description This method returns the contents of the repository's license file, if one is detected. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw contents of the license. + * - **`application/vnd.github.html+json`**: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + get: operations["licenses/get-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/merge-upstream": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Sync a fork branch with the upstream repository + * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + post: operations["repos/merge-upstream"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/merges": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Merge a branch */ + post: operations["repos/merge"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/milestones": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List milestones + * @description Lists milestones for a repository. + */ + get: operations["issues/list-milestones"]; + put?: never; + /** + * Create a milestone + * @description Creates a milestone. + */ + post: operations["issues/create-milestone"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a milestone + * @description Gets a milestone using the given milestone number. + */ + get: operations["issues/get-milestone"]; + put?: never; + post?: never; + /** + * Delete a milestone + * @description Deletes a milestone using the given milestone number. + */ + delete: operations["issues/delete-milestone"]; + options?: never; + head?: never; + /** Update a milestone */ + patch: operations["issues/update-milestone"]; + trace?: never; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for issues in a milestone + * @description Lists labels for issues in a milestone. + */ + get: operations["issues/list-labels-for-milestone"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/notifications": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository notifications for the authenticated user + * @description Lists all notifications for the current user in the specified repository. + */ + get: operations["activity/list-repo-notifications-for-authenticated-user"]; + /** + * Mark repository notifications as read + * @description Marks all notifications in a repository as "read" for the current user. 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/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + put: operations["activity/mark-repo-notifications-as-read"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a GitHub Pages site + * @description Gets information about a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages"]; + /** + * 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). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/update-information-about-pages-site"]; + /** + * 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)." + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-pages-site"]; + /** + * Delete a GitHub Pages site + * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/delete-pages-site"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/builds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GitHub Pages builds + * @description Lists builts of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/list-pages-builds"]; + put?: never; + /** + * 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. + * + * 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. + */ + post: operations["repos/request-pages-build"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/builds/latest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get latest Pages build + * @description Gets information about the single most recent build of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-latest-pages-build"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/builds/{build_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Pages build + * @description Gets information about a GitHub Pages build. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages-build"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/deployments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a GitHub Pages deployment + * @description Create a GitHub Pages deployment for a repository. + * + * The authenticated user must have write permission to the repository. + */ + post: operations["repos/create-pages-deployment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the status of a GitHub Pages deployment + * @description Gets the current status of a GitHub Pages deployment. + * + * The authenticated user must have read permission for the GitHub Pages site. + */ + get: operations["repos/get-pages-deployment"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Cancel a GitHub Pages deployment + * @description Cancels a GitHub Pages deployment. + * + * The authenticated user must have write permissions for the GitHub Pages site. + */ + post: operations["repos/cancel-pages-deployment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/health": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a DNS health check for GitHub Pages + * @description 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. + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages-health-check"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if private vulnerability reporting is enabled for a repository + * @description Returns a boolean indicating whether or not private vulnerability reporting is enabled for the repository. For more information, see "[Evaluating the security settings of a repository](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository)". + */ + get: operations["repos/check-private-vulnerability-reporting"]; + /** + * Enable private vulnerability reporting for a repository + * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." + */ + put: operations["repos/enable-private-vulnerability-reporting"]; + post?: never; + /** + * Disable private vulnerability reporting for a repository + * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". + */ + delete: operations["repos/disable-private-vulnerability-reporting"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-for-repo"]; + put?: never; + /** + * Create a repository project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-for-repo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/properties/values": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all custom property values for a repository + * @description Gets all custom property values that are set for a repository. + * Users with read access to the repository can use this endpoint. + */ + get: operations["repos/get-custom-properties-values"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Create or update custom property values for a repository + * @description Create new or update existing custom property values for a repository. + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * Repository admins and other users with the repository-level "edit custom property values" fine-grained permission can use this endpoint. + */ + patch: operations["repos/create-or-update-custom-properties-values"]; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests + * @description Lists pull requests in a specified repository. + * + * 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list"]; + put?: never; + /** + * 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://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. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-review-comments-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a review comment for a pull request + * @description Provides details for a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/get-review-comment"]; + put?: never; + post?: never; + /** + * Delete a review comment for a pull request + * @description Deletes a review comment. + */ + delete: operations["pulls/delete-review-comment"]; + options?: never; + head?: never; + /** + * Update a review comment for a pull request + * @description Edits the content of a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["pulls/update-review-comment"]; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a pull request review comment + * @description List the reactions to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + get: operations["reactions/list-for-pull-request-review-comment"]; + put?: never; + /** + * Create reaction for a pull request review comment + * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). 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"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + delete: operations["reactions/delete-for-pull-request-comment"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/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/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + * - **`application/vnd.github.diff`**: For more information, see "[git-diff](https://git-scm.com/docs/git-diff)" in the Git documentation. If a diff is corrupt, contact us through the [GitHub Support portal](https://support.github.com/). Include the repository name and pull request ID in your message. + */ + get: operations["pulls/get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * 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://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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["pulls/update"]; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a codespace from a pull request + * @description Creates a codespace owned by the authenticated user for the specified pull request. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/create-with-pr-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List review comments on a pull request + * @description Lists all review comments for a specified pull request. By default, review comments + * are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-review-comments"]; + put?: never; + /** + * Create a review comment for a pull request + * @description Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." + * + * If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request. + * + * The `position` parameter is closing down. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create-review-comment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create-reply-for-review-comment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/commits/commits#list-commits) + * endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-commits"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/files": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests files + * @description Lists the files in a specified pull request. + * + * > [!NOTE] + * > Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-files"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a pull request has been merged + * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. + */ + get: operations["pulls/check-if-merged"]; + /** + * Merge a pull request + * @description Merges a pull request into the base branch. + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + put: operations["pulls/merge"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all requested reviewers for a pull request + * @description Gets 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"]; + put?: never; + /** + * Request reviewers for a pull request + * @description Requests reviews for a pull request from a given set of users and/or teams. + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + post: operations["pulls/request-reviewers"]; + /** + * Remove requested reviewers from a pull request + * @description Removes review requests from a pull request for a given set of users and/or teams. + */ + delete: operations["pulls/remove-requested-reviewers"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reviews for a pull request + * @description Lists all reviews for a specified pull request. The list of reviews returns in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-reviews"]; + put?: never; + /** + * Create a review for a pull request + * @description Creates a review on a specified pull request. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." + * + * > [!NOTE] + * > To comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a pull request](https://docs.github.com/rest/pulls/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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create-review"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a review for a pull request + * @description Retrieves a pull request review by its ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/get-review"]; + /** + * Update a review for a pull request + * @description Updates the contents of a specified review summary comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + put: operations["pulls/update-review"]; + post?: never; + /** + * Delete a pending review for a pull request + * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + delete: operations["pulls/delete-pending-review"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List comments for a pull request review + * @description Lists comments for a specific pull request review. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-comments-for-review"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Dismiss a review for a pull request + * @description Dismisses a specified review on a pull request. + * + * > [!NOTE] + * > To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + put: operations["pulls/dismiss-review"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Submit a review for a pull request + * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/submit-review"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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. + * Note: If making a request on behalf of a GitHub App you must also have permissions to write the contents of the head repository. + */ + put: operations["pulls/update-branch"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/readme": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository README + * @description Gets the preferred README for a repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + get: operations["repos/get-readme"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/readme/{dir}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository README for a directory + * @description Gets the README from a repository directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + get: operations["repos/get-readme-in-directory"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/repos/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + get: operations["repos/list-releases"]; + put?: never; + /** + * Create a release + * @description Users with push access to the repository can create a release. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + post: operations["repos/create-release"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/assets/{asset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a release asset + * @description To download the asset's binary content: + * + * - If within a browser, fetch the location specified in the `browser_download_url` key provided in the response. + * - Alternatively, set the `Accept` header of the request to + * [`application/octet-stream`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#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. + */ + get: operations["repos/get-release-asset"]; + put?: never; + post?: never; + /** Delete a release asset */ + delete: operations["repos/delete-release-asset"]; + options?: never; + head?: never; + /** + * Update a release asset + * @description Users with push access to the repository can edit a release asset. + */ + patch: operations["repos/update-release-asset"]; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/generate-notes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Generate release notes content for a release + * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). 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"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/latest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the latest release + * @description 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. + */ + get: operations["repos/get-latest-release"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/tags/{tag}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a release by tag name + * @description Get a published release with the specified tag. + */ + get: operations["repos/get-release-by-tag"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a release + * @description Gets a public release with the specified release ID. + * + * > [!NOTE] + * > This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + */ + get: operations["repos/get-release"]; + put?: never; + post?: never; + /** + * Delete a release + * @description Users with push access to the repository can delete a release. + */ + delete: operations["repos/delete-release"]; + options?: never; + head?: never; + /** + * Update a release + * @description Users with push access to the repository can edit a release. + */ + patch: operations["repos/update-release"]; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}/assets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List release assets */ + get: operations["repos/list-release-assets"]; + put?: never; + /** + * Upload a release asset + * @description This endpoint makes use of a [Hypermedia relation](https://docs.github.com/rest/using-the-rest-api/getting-started-with-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/releases/releases#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 release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). + * * 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"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a release + * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + get: operations["reactions/list-for-release"]; + put?: never; + /** + * Create reaction for a release + * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. + */ + post: operations["reactions/create-for-release"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete a release reaction + * @description > [!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/releases/releases#get-a-release). + */ + delete: operations["reactions/delete-for-release"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rules/branches/{branch}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get rules for a branch + * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply + * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level + * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" + * enforcement statuses are not returned. + */ + get: operations["repos/get-branch-rules"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rulesets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all repository rulesets + * @description Get all the rulesets for a repository. + */ + get: operations["repos/get-repo-rulesets"]; + put?: never; + /** + * Create a repository ruleset + * @description Create a ruleset for a repository. + */ + post: operations["repos/create-repo-ruleset"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rulesets/rule-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository rule suites + * @description Lists suites of rule evaluations at the repository level. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-repo-rule-suites"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository rule suite + * @description Gets information about a suite of rule evaluations from within a repository. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-repo-rule-suite"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository ruleset + * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. + */ + get: operations["repos/get-repo-ruleset"]; + /** + * Update a repository ruleset + * @description Update a ruleset for a repository. + */ + put: operations["repos/update-repo-ruleset"]; + post?: never; + /** + * Delete a repository ruleset + * @description Delete a ruleset for a repository. + */ + delete: operations["repos/delete-repo-ruleset"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}/history": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository ruleset history + * @description Get the history of a repository ruleset. + */ + get: operations["repos/get-repo-ruleset-history"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository ruleset version + * @description Get a version of a repository ruleset. + */ + get: operations["repos/get-repo-ruleset-version"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secret scanning alerts for a repository + * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/list-alerts-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a secret scanning alert + * @description Gets a single secret scanning alert detected in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/get-alert"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a secret scanning alert + * @description Updates the status of a secret scanning alert in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + patch: operations["secret-scanning/update-alert"]; + trace?: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List locations for a secret scanning alert + * @description Lists all locations for a given secret scanning alert for an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/list-locations-for-alert"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["secret-scanning/create-push-protection-bypass"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/secret-scanning/scan-history": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get secret scanning scan history for a repository + * @description Lists the latest default incremental and backfill scans by type for a repository. Scans from Copilot Secret Scanning are not included. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/get-scan-history"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/security-advisories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository security advisories + * @description Lists security advisories in a repository. + * + * The authenticated user can access unpublished security advisories from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on any security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + get: operations["security-advisories/list-repository-advisories"]; + put?: never; + /** + * Create a repository security advisory + * @description Creates a new repository security advisory. + * + * In order to create a draft repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + post: operations["security-advisories/create-repository-advisory"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/security-advisories/reports": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Privately report a security vulnerability + * @description Report a security vulnerability to the maintainers of the repository. + * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. + */ + post: operations["security-advisories/create-private-vulnerability-report"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository security advisory + * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * Anyone can access any published security advisory on a public repository. + * + * The authenticated user can access an unpublished security advisory from a repository if they are a security manager or administrator of that repository, or if they are a + * collaborator on the security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + get: operations["security-advisories/get-repository-advisory"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a repository security advisory + * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * In order to update any security advisory, the authenticated user must be a security manager or administrator of that repository, + * or a collaborator on the repository security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + patch: operations["security-advisories/update-repository-advisory"]; + trace?: never; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Request a CVE for a repository security advisory + * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." + * + * You may request a CVE for public repositories, but cannot do so for private repositories. + * + * In order to request a CVE for a repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + post: operations["security-advisories/create-repository-advisory-cve-request"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a temporary private fork + * @description Create a temporary private fork to collaborate on fixing a security vulnerability in your repository. + * + * > [!NOTE] + * > Forking a repository happens asynchronously. You may have to wait up to 5 minutes before you can access the fork. + */ + post: operations["security-advisories/create-fork"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/stargazers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List stargazers + * @description Lists the people that have starred the repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + get: operations["activity/list-stargazers-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/stats/code_frequency": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the weekly commit activity + * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + * + * > [!NOTE] + * > This endpoint can only be used for repositories with fewer than 10,000 commits. If the repository contains 10,000 or more commits, a 422 status code will be returned. + */ + get: operations["repos/get-code-frequency-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/stats/commit_activity": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`. + */ + get: operations["repos/get-commit-activity-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/stats/contributors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all contributor commit activity + * @description + * 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](https://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + * + * > [!NOTE] + * > This endpoint will return `0` values for all addition and deletion counts in repositories with 10,000 or more commits. + */ + get: operations["repos/get-contributors-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/stats/participation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`. + * + * The array order is oldest week (index 0) to most recent week. + * + * The most recent week is seven days ago at UTC midnight to today at UTC midnight. + */ + get: operations["repos/get-participation-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/stats/punch_card": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the hourly commit count for each day + * @description 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. + */ + get: operations["repos/get-punch-card-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/statuses/{sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a commit status + * @description Users with push access in a repository can create commit statuses for a given SHA. + * + * 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. + */ + post: operations["repos/create-commit-status"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/subscribers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List watchers + * @description Lists the people watching the specified repository. + */ + get: operations["activity/list-watchers-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/subscription": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository subscription + * @description Gets information about whether the authenticated user is subscribed to the repository. + */ + get: operations["activity/get-repo-subscription"]; + /** + * 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/activity/watching#delete-a-repository-subscription) completely. + */ + put: operations["activity/set-repo-subscription"]; + post?: never; + /** + * 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/activity/watching#set-a-repository-subscription). + */ + delete: operations["activity/delete-repo-subscription"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List repository tags */ + get: operations["repos/list-tags"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/tags/protection": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Closing down - List tag protection states for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#get-all-repository-rulesets)" endpoint instead. + * + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + get: operations["repos/list-tag-protection"]; + put?: never; + /** + * Closing down - Create a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#create-a-repository-ruleset)" endpoint instead. + * + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + post: operations["repos/create-tag-protection"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Closing down - Delete a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#delete-a-repository-ruleset)" endpoint instead. + * + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + delete: operations["repos/delete-tag-protection"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/tarball/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 + * `main`) 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. + */ + get: operations["repos/download-tarball-archive"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository teams + * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. + * + * For a public repository, a team is listed only if that team added the public repository explicitly. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to use this endpoint with a public repository, and `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-teams"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/topics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get all repository topics */ + get: operations["repos/get-all-topics"]; + /** Replace all repository topics */ + put: operations["repos/replace-all-topics"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/traffic/clones": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["repos/get-clones"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/traffic/popular/paths": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get top referral paths + * @description Get the top 10 popular contents over the last 14 days. + */ + get: operations["repos/get-top-paths"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/traffic/popular/referrers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get top referral sources + * @description Get the top 10 referrers over the last 14 days. + */ + get: operations["repos/get-top-referrers"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/traffic/views": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["repos/get-views"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/transfer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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://docs.github.com/articles/about-repository-transfers/). + */ + post: operations["repos/transfer"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + get: operations["repos/check-vulnerability-alerts"]; + /** + * 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://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + put: operations["repos/enable-vulnerability-alerts"]; + post?: never; + /** + * 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://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + delete: operations["repos/disable-vulnerability-alerts"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/zipball/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 + * `main`) 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. If the repository is empty, you will receive a 404 when you follow the redirect. + */ + get: operations["repos/download-zipball-archive"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{template_owner}/{template_repo}/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. If the repository is not public, 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/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + post: operations["repos/create-using-template"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public repositories + * @description 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/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. + */ + get: operations["repos/list-public"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/code": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/guides/using-pagination-in-the-rest-api). + * + * 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/search/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: + * + * * 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. + * + * This endpoint requires you to authenticate and limits you to 10 requests per minute. + */ + get: operations["search/code"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search commits + * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * 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/search/search#text-match-metadata). + * + * 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: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + get: operations["search/commits"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search issues and pull requests + * @deprecated + * @description > [!WARNING] + * > **Notice:** Search for issues and pull requests will be overridden by advanced search on September 4, 2025. + * > You can read more about this change on [the GitHub blog](https://github.blog/changelog/2025-03-06-github-issues-projects-api-support-for-issues-advanced-search-and-more/). + */ + get: operations["search/issues-and-pull-requests"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/guides/using-pagination-in-the-rest-api). + * + * 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/search/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. + */ + get: operations["search/labels"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search repositories + * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * 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/search/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. + */ + get: operations["search/repos"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/topics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/guides/using-pagination-in-the-rest-api). 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/search/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: + * + * `q=ruby+is:featured` + * + * 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. + */ + get: operations["search/topics"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search users + * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for users, you can get text match metadata for the issue **login**, public **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/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/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` + * + * 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. + * + * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." + */ + get: operations["search/users"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#get-a-team-by-name) endpoint. + */ + get: operations["teams/get-legacy"]; + put?: never; + post?: never; + /** + * Delete a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/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. + */ + delete: operations["teams/delete-legacy"]; + options?: never; + head?: never; + /** + * Update a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * > [!NOTE] + * > With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + patch: operations["teams/update-legacy"]; + trace?: never; + }; + "/teams/{team_id}/discussions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#list-discussions) endpoint. + * + * List all discussions on a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussions-legacy"]; + put?: never; + /** + * Create a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-legacy"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/discussions/{discussion_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-legacy"]; + put?: never; + post?: never; + /** + * Delete a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-legacy"]; + options?: never; + head?: never; + /** + * Update a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-legacy"]; + trace?: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussion comments (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussion-comments-legacy"]; + put?: never; + /** + * Create a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-comment-legacy"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-comment-legacy"]; + put?: never; + post?: never; + /** + * Delete a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-comment-legacy"]; + options?: never; + head?: never; + /** + * Update a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-comment-legacy"]; + trace?: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-comment-legacy"]; + put?: never; + /** + * Create reaction for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-comment-legacy"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-legacy"]; + put?: never; + /** + * Create reaction for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-legacy"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pending team invitations (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#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`. + */ + get: operations["teams/list-pending-invitations-legacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team members (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + get: operations["teams/list-members-legacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/members/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get team member (Legacy) + * @deprecated + * @description The "Get team member" endpoint (described below) is closing down. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#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. + */ + get: operations["teams/get-member-legacy"]; + /** + * Add team member (Legacy) + * @deprecated + * @description The "Add team member" endpoint (described below) is closing down. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["teams/add-member-legacy"]; + post?: never; + /** + * Remove team member (Legacy) + * @deprecated + * @description The "Remove team member" endpoint (described below) is closing down. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#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. + * + * 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/)." + */ + delete: operations["teams/remove-member-legacy"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/memberships/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#get-team-membership-for-a-user) endpoint. + * + * 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/teams/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-legacy"]; + /** + * Add or update team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#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://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. + */ + put: operations["teams/add-or-update-membership-for-user-legacy"]; + post?: never; + /** + * Remove team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#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://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/)." + */ + delete: operations["teams/remove-membership-for-user-legacy"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team projects (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/list-projects-legacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a project (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/check-permissions-for-project-legacy"]; + /** + * Add or update team project permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + put: operations["teams/add-or-update-project-permissions-legacy"]; + post?: never; + /** + * Remove a project from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["teams/remove-project-legacy"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team repositories (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#list-team-repositories) endpoint. + */ + get: operations["teams/list-repos-legacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/repos/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a repository (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#check-team-permissions-for-a-repository) endpoint. + * + * > [!NOTE] + * > 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/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `Accept` header: + */ + get: operations["teams/check-permissions-for-repo-legacy"]; + /** + * Add or update team repository permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#add-or-update-team-repository-permissions)" endpoint. + * + * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["teams/add-or-update-repo-permissions-legacy"]; + post?: never; + /** + * Remove a repository from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/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. + */ + delete: operations["teams/remove-repo-legacy"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List child teams (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#list-child-teams) endpoint. + */ + get: operations["teams/list-child-legacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private profile information. + */ + get: operations["users/get-authenticated"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * 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. + */ + patch: operations["users/update-authenticated"]; + trace?: never; + }; + "/user/blocks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users blocked by the authenticated user + * @description List the users you've blocked on your personal account. + */ + get: operations["users/list-blocked-by-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/blocks/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user is blocked by the authenticated user + * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. + */ + get: operations["users/check-blocked"]; + /** + * Block a user + * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. + */ + put: operations["users/block"]; + post?: never; + /** + * Unblock a user + * @description Unblocks the given user and returns a 204. + */ + delete: operations["users/unblock"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces for the authenticated user + * @description Lists the authenticated user's codespaces. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/list-for-authenticated-user"]; + put?: never; + /** + * Create a codespace for the authenticated user + * @description Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/create-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secrets for the authenticated user + * @description Lists all development environment secrets available for a user's codespaces without revealing their + * encrypted values. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/list-secrets-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get public key for the authenticated user + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/get-public-key-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a secret for the authenticated user + * @description Gets a development environment secret available to a user's codespaces without revealing its encrypted value. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/get-secret-for-authenticated-user"]; + /** + * Create or update a secret for the authenticated user + * @description Creates or updates a development environment secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; + post?: never; + /** + * Delete a secret for the authenticated user + * @description Deletes a development environment 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. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + delete: operations["codespaces/delete-secret-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories for a user secret + * @description List the repositories that have been granted the ability to use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; + /** + * Set selected repositories for a user secret + * @description Select the repositories that will use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Add a selected repository to a user secret + * @description Adds a repository to the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; + post?: never; + /** + * Remove a selected repository from a user secret + * @description Removes a repository from the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/{codespace_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a codespace for the authenticated user + * @description Gets information about a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/get-for-authenticated-user"]; + put?: never; + post?: never; + /** + * Delete a codespace for the authenticated user + * @description Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + delete: operations["codespaces/delete-for-authenticated-user"]; + options?: never; + head?: never; + /** + * Update a codespace for the authenticated user + * @description 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + patch: operations["codespaces/update-for-authenticated-user"]; + trace?: never; + }; + "/user/codespaces/{codespace_name}/exports": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Export a codespace for the authenticated user + * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/export-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/{codespace_name}/exports/{export_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get details about a codespace export + * @description Gets information about an export of a codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/get-export-details-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/{codespace_name}/machines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List machine types for a codespace + * @description List the machine types a codespace can transition to use. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/codespace-machines-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/{codespace_name}/publish": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a repository from an unpublished codespace + * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. + * + * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. + * + * This will fail for a codespace that is already published, meaning it has an associated repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/publish-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/{codespace_name}/start": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Start a codespace for the authenticated user + * @description Starts a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/start-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/{codespace_name}/stop": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Stop a codespace for the authenticated user + * @description Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/stop-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/docker/conflicts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get list of conflicting packages during Docker migration for authenticated-user + * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/email/visibility": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Set primary email visibility for the authenticated user + * @description Sets the visibility for your primary email addresses. + */ + patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; + trace?: never; + }; + "/user/emails": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List email addresses for the authenticated user + * @description Lists all of your email addresses, and specifies which one is visible + * to the public. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + get: operations["users/list-emails-for-authenticated-user"]; + put?: never; + /** + * Add an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + post: operations["users/add-email-for-authenticated-user"]; + /** + * Delete an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + delete: operations["users/delete-email-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/followers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List followers of the authenticated user + * @description Lists the people following the authenticated user. + */ + get: operations["users/list-followers-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/following": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List the people the authenticated user follows + * @description Lists the people who the authenticated user follows. + */ + get: operations["users/list-followed-by-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/following/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Check if a person is followed by the authenticated user */ + get: operations["users/check-person-is-followed-by-authenticated"]; + /** + * 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/guides/getting-started-with-the-rest-api#http-method)." + * + * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + put: operations["users/follow"]; + post?: never; + /** + * Unfollow a user + * @description OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + delete: operations["users/unfollow"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/gpg_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GPG keys for the authenticated user + * @description Lists the current user's GPG keys. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + get: operations["users/list-gpg-keys-for-authenticated-user"]; + put?: never; + /** + * Create a GPG key for the authenticated user + * @description Adds a GPG key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + post: operations["users/create-gpg-key-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/gpg_keys/{gpg_key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a GPG key for the authenticated user + * @description View extended details for a single GPG key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + get: operations["users/get-gpg-key-for-authenticated-user"]; + put?: never; + post?: never; + /** + * Delete a GPG key for the authenticated user + * @description Removes a GPG key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. + */ + delete: operations["users/delete-gpg-key-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/installations/{installation_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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. + * + * 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/installations/{installation_id}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + put: operations["apps/add-repo-to-installation-for-authenticated-user"]; + post?: never; + /** + * 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. The installation must have the `repository_selection` of `selected`. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/interaction-limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["interactions/get-restrictions-for-authenticated-user"]; + /** + * 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. + */ + put: operations["interactions/set-restrictions-for-authenticated-user"]; + post?: never; + /** + * Remove interaction restrictions from your public repositories + * @description Removes any interaction restrictions from your public repositories. + */ + delete: operations["interactions/remove-restrictions-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List user account issues assigned to the authenticated user + * @description List issues across owned and member repositories assigned to the authenticated user. + * + * > [!NOTE] + * > GitHub's REST API 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/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public SSH keys for the authenticated user + * @description Lists the public SSH keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + get: operations["users/list-public-ssh-keys-for-authenticated-user"]; + put?: never; + /** + * Create a public SSH key for the authenticated user + * @description Adds a public SSH key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + post: operations["users/create-public-ssh-key-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/keys/{key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a public SSH key for the authenticated user + * @description View extended details for a single public SSH key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + get: operations["users/get-public-ssh-key-for-authenticated-user"]; + put?: never; + post?: never; + /** + * Delete a public SSH key for the authenticated user + * @description Removes a public SSH key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. + */ + delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/marketplace_purchases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List subscriptions for the authenticated user + * @description Lists the active subscriptions for the authenticated user. + */ + get: operations["apps/list-subscriptions-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/marketplace_purchases/stubbed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List subscriptions for the authenticated user (stubbed) + * @description Lists the active subscriptions for the authenticated user. + */ + get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/memberships/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization memberships for the authenticated user + * @description Lists all of the authenticated user's organization memberships. + */ + get: operations["orgs/list-memberships-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/memberships/orgs/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization membership for the authenticated user + * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. + */ + get: operations["orgs/get-membership-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update an organization membership for the authenticated user + * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. + */ + patch: operations["orgs/update-membership-for-authenticated-user"]; + trace?: never; + }; + "/user/migrations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List user migrations + * @description Lists all migrations a user has started. + */ + get: operations["migrations/list-for-authenticated-user"]; + put?: never; + /** + * Start a user migration + * @description Initiates the generation of a user migration archive. + */ + post: operations["migrations/start-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/migrations/{migration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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: + * + * * `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/migrations/users#download-a-user-migration-archive). + */ + get: operations["migrations/get-status-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/migrations/{migration_id}/archive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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: + * + * * 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"]; + put?: never; + post?: never; + /** + * 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/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#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"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/migrations/{migration_id}/repos/{repo_name}/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Unlock a user repository + * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#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/repos/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"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/migrations/{migration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories for a user migration + * @description Lists all the repositories for this user migration. + */ + get: operations["migrations/list-repos-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organizations for the authenticated user + * @description List organizations for the authenticated user. + * + * For OAuth app tokens and personal access tokens (classic), this endpoint 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 for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will receive a `403 Forbidden` response. + * + * > [!NOTE] + * > Requests using a fine-grained access token will receive a `200 Success` response with an empty list. + */ + get: operations["orgs/list-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List packages for the authenticated user's namespace + * @description Lists packages owned by the authenticated user within the user's namespace. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/packages/{package_type}/{package_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package for the authenticated user + * @description Gets a specific package for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-authenticated-user"]; + put?: never; + post?: never; + /** + * Delete a package for the authenticated user + * @description 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/packages/{package_type}/{package_name}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore a package for the authenticated user + * @description 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/packages/{package_type}/{package_name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List package versions for a package owned by the authenticated user + * @description Lists package versions for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package version for the authenticated user + * @description Gets a specific package version for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-authenticated-user"]; + put?: never; + post?: never; + /** + * Delete a package version for the authenticated user + * @description 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore a package version for the authenticated user + * @description 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a user project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/public_emails": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/users/emails#set-primary-email-visibility-for-the-authenticated-user) + * endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + get: operations["users/list-public-emails-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories for the authenticated user + * @description 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"]; + put?: never; + /** + * Create a repository for the authenticated user + * @description Creates a new repository for the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + post: operations["repos/create-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/repository_invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["repos/list-invitations-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/repository_invitations/{invitation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Decline a repository invitation */ + delete: operations["repos/decline-invitation-for-authenticated-user"]; + options?: never; + head?: never; + /** Accept a repository invitation */ + patch: operations["repos/accept-invitation-for-authenticated-user"]; + trace?: never; + }; + "/user/social_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List social accounts for the authenticated user + * @description Lists all of your social accounts. + */ + get: operations["users/list-social-accounts-for-authenticated-user"]; + put?: never; + /** + * Add social accounts for the authenticated user + * @description Add one or more social accounts to the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + post: operations["users/add-social-account-for-authenticated-user"]; + /** + * Delete social accounts for the authenticated user + * @description Deletes one or more social accounts from the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + delete: operations["users/delete-social-account-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/ssh_signing_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List SSH signing keys for the authenticated user + * @description Lists the SSH signing keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; + put?: never; + /** + * Create a SSH signing key for the authenticated user + * @description Creates an SSH signing key for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint. + */ + post: operations["users/create-ssh-signing-key-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/ssh_signing_keys/{ssh_signing_key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an SSH signing key for the authenticated user + * @description Gets extended details for an SSH signing key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + get: operations["users/get-ssh-signing-key-for-authenticated-user"]; + put?: never; + post?: never; + /** + * Delete an SSH signing key for the authenticated user + * @description Deletes an SSH signing key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint. + */ + delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/starred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories starred by the authenticated user + * @description Lists repositories the authenticated user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + get: operations["activity/list-repos-starred-by-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/starred/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a repository is starred by the authenticated user + * @description Whether the authenticated user has starred the repository. + */ + get: operations["activity/check-repo-is-starred-by-authenticated-user"]; + /** + * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["activity/star-repo-for-authenticated-user"]; + post?: never; + /** + * Unstar a repository for the authenticated user + * @description Unstar a repository that the authenticated user has previously starred. + */ + delete: operations["activity/unstar-repo-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/subscriptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories watched by the authenticated user + * @description Lists repositories the authenticated user is watching. + */ + get: operations["activity/list-watched-repos-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List teams for the authenticated user + * @description List all of the teams across all of the organizations to which the authenticated + * user belongs. + * + * OAuth app tokens and personal access tokens (classic) need the `user`, `repo`, or `read:org` scope to use this endpoint. + * + * When using a fine-grained personal access token, the resource owner of the token must be a single organization, and the response will only include the teams from that organization. + */ + get: operations["teams/list-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/{account_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user using their ID + * @description Provides publicly available information about someone with a GitHub account. This method takes their durable user `ID` instead of their `login`, which can change over time. + * + * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + * + * 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/guides/getting-started-with-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/users/emails). + */ + get: operations["users/get-by-id"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users + * @description 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/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. + */ + get: operations["users/list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user + * @description Provides publicly available information about someone with a GitHub account. + * + * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + * + * 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/guides/getting-started-with-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/users/emails). + */ + get: operations["users/get-by-username"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/attestations/bulk-list": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * List attestations by bulk subject digests + * @description List a collection of artifact attestations associated with any entry in a list of subject digests owned by a user. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + post: operations["users/list-attestations-bulk"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/attestations/delete-request": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Delete attestations in bulk + * @description Delete artifact attestations in bulk by either subject digests or unique ID. + */ + post: operations["users/delete-attestations-bulk"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/attestations/digest/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete attestations by subject digest + * @description Delete an artifact attestation by subject digest. + */ + delete: operations["users/delete-attestations-by-subject-digest"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/attestations/{attestation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete attestations by ID + * @description Delete an artifact attestation by unique ID that is associated with a repository owned by a user. + */ + delete: operations["users/delete-attestations-by-id"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/attestations/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by a user. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["users/list-attestations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/docker/conflicts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get list of conflicting packages during Docker migration for user + * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. _Optional_: use the fine-grained token with following permission set to view private events: "Events" user permissions (read). + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-events-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/events/orgs/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-org-events-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/events/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public events for a user + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-events-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/followers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List followers of a user + * @description Lists the people following the specified user. + */ + get: operations["users/list-followers-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/following": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List the people a user follows + * @description Lists the people who the specified user follows. + */ + get: operations["users/list-following-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/following/{target_user}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Check if a user follows another user */ + get: operations["users/check-following-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/gists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List gists for a user + * @description Lists public gists for the specified user: + */ + get: operations["gists/list-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/gpg_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GPG keys for a user + * @description Lists the GPG keys for a user. This information is accessible by anyone. + */ + get: operations["users/list-gpg-keys-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/hovercard": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get contextual information for a user + * @description Provides hovercard information. 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, you would use a `subject_type` value of `repository` and a `subject_id` value of `1300192` (the ID of the `Spoon-Knife` repository). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["users/get-context-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user installation for the authenticated app + * @description 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public keys for a user + * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + get: operations["users/list-public-keys-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organizations for a user + * @description 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/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + get: operations["orgs/list-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List packages for a user + * @description Lists all packages in a user's namespace for which the requesting user has access. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/packages/{package_type}/{package_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package for a user + * @description Gets a specific package metadata for a public package owned by a user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-user"]; + put?: never; + post?: never; + /** + * Delete a package for a user + * @description 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore a package for a user + * @description 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List package versions for a package owned by a user + * @description Lists package versions for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package version for a user + * @description Gets a specific package version for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-user"]; + put?: never; + post?: never; + /** + * Delete package version for a user + * @description 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore package version for a user + * @description 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List user projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/received_events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List events received by the authenticated user + * @description These are events that you've received by watching repositories and following users. If you are authenticated as the + * given user, you will see private events. Otherwise, you'll only see public events. + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-received-events-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/received_events/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public events received by a user + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-received-public-events-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories for a user + * @description Lists public repositories for the specified user. + */ + get: operations["repos/list-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/settings/billing/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions billing for a user + * @description 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)". + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + get: operations["billing/get-github-actions-billing-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/settings/billing/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Packages billing for a user + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + get: operations["billing/get-github-packages-billing-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/settings/billing/shared-storage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get shared storage billing for a user + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + get: operations["billing/get-shared-storage-billing-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/settings/billing/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get billing usage report for a user + * @description Gets a report of the total usage for a user. + * + * **Note:** This endpoint is only available to users with access to the enhanced billing platform. + */ + get: operations["billing/get-github-billing-usage-report-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/social_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List social accounts for a user + * @description Lists social media accounts for a user. This endpoint is accessible by anyone. + */ + get: operations["users/list-social-accounts-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/ssh_signing_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List SSH signing keys for a user + * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. + */ + get: operations["users/list-ssh-signing-keys-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/starred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories starred by a user + * @description Lists repositories a user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + get: operations["activity/list-repos-starred-by-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/subscriptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories watched by a user + * @description Lists repositories a user is watching. + */ + get: operations["activity/list-repos-watched-by-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all API versions + * @description Get all supported GitHub API versions. + */ + get: operations["meta/get-all-versions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/zen": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the Zen of GitHub + * @description Get a random sentence from the Zen of GitHub + */ + get: operations["meta/get-zen"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +}; +export type webhooks = Record; +export type 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 + * @deprecated + */ + 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; + }; + /** + * @description The package's language or package management ecosystem. + * @enum {string} + */ + "security-advisory-ecosystems": "rubygems" | "npm" | "pip" | "maven" | "nuget" | "composer" | "go" | "rust" | "erlang" | "actions" | "pub" | "other" | "swift"; + /** @description A vulnerability describing the product and its affected versions within a GitHub Security Advisory. */ + vulnerability: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version that resolves the vulnerability. */ + first_patched_version: string | null; + /** @description The functions in the package that are affected by the vulnerability. */ + readonly vulnerable_functions: string[] | null; + }; + "cvss-severities": { + cvss_v3?: { + /** @description The CVSS 3 vector string. */ + vector_string: string | null; + /** @description The CVSS 3 score. */ + readonly score: number | null; + } | null; + cvss_v4?: { + /** @description The CVSS 4 vector string. */ + vector_string: string | null; + /** @description The CVSS 4 score. */ + readonly score: number | null; + } | null; + } | null; + /** @description The EPSS scores as calculated by the [Exploit Prediction Scoring System](https://www.first.org/epss). */ + "security-advisory-epss": { + percentage?: number; + percentile?: number; + } | null; + /** + * Simple User + * @description A GitHub user. + */ + "simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** + * Format: int64 + * @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; + /** @example public */ + user_view_type?: string; + }; + /** + * @description The type of credit the user is receiving. + * @enum {string} + */ + "security-advisory-credit-types": "analyst" | "finder" | "reporter" | "coordinator" | "remediation_developer" | "remediation_reviewer" | "remediation_verifier" | "tool" | "sponsor" | "other"; + /** @description A GitHub Security Advisory. */ + "global-advisory": { + /** @description The GitHub Security Advisory ID. */ + readonly ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + readonly cve_id: string | null; + /** @description The API URL for the advisory. */ + readonly url: string; + /** + * Format: uri + * @description The URL for the advisory. + */ + readonly html_url: string; + /** + * Format: uri + * @description The API URL for the repository advisory. + */ + readonly repository_advisory_url: string | null; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; + /** + * @description The type of advisory. + * @enum {string} + */ + readonly type: "reviewed" | "unreviewed" | "malware"; + /** + * @description The severity of the advisory. + * @enum {string} + */ + severity: "critical" | "high" | "medium" | "low" | "unknown"; + /** + * Format: uri + * @description The URL of the advisory's source code. + */ + source_code_location: string | null; + readonly identifiers: { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[] | null; + references: string[] | null; + /** + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. + */ + readonly published_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. + */ + readonly updated_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format. + */ + readonly github_reviewed_at: string | null; + /** + * Format: date-time + * @description The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format. + * This field is only populated when the advisory is imported from the National Vulnerability Database. + */ + readonly nvd_published_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + */ + readonly withdrawn_at: string | null; + /** @description The products and respective version ranges affected by the advisory. */ + vulnerabilities: components["schemas"]["vulnerability"][] | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + readonly score: number | null; + } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; + epss?: components["schemas"]["security-advisory-epss"]; + cwes: { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + readonly name: string; + }[] | null; + /** @description The users who contributed to the advisory. */ + readonly credits: { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + }[] | null; + }; + /** + * 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[]; + }; + /** + * Enterprise + * @description An enterprise on GitHub. + */ + 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; + }; + /** + * 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; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + owner: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; + /** + * @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. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation. + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself. + * @example 5 + */ + installations_count?: number; + } | null; + /** + * 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": { + /** + * Format: int64 + * @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; + /** + * Format: int64 + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * Format: int64 + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + /** + * Format: date-time + * @description Time when the webhook delivery was throttled. + * @example 2021-05-12T20:33:44Z + */ + throttled_at?: string | 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; + /** + * Format: date-time + * @description Time when the webhook delivery was throttled. + * @example 2021-05-12T20:33:44Z + */ + throttled_at?: string | 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; + }; + }; + /** + * Integration Installation Request + * @description Request to install an integration on a target + */ + "integration-installation-request": { + /** + * @description Unique identifier of the request installation. + * @example 42 + */ + id: number; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id?: string; + account: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; + requester: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2022-07-08T16:18:44-04:00 + */ + created_at: string; + }; + /** + * App Permissions + * @description The permissions granted to the user 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 to create, edit, delete, and list Codespaces. + * @enum {string} + */ + codespaces?: "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 to manage Dependabot secrets. + * @enum {string} + */ + dependabot_secrets?: "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 view and edit custom properties for a repository, when allowed by the property. + * @enum {string} + */ + repository_custom_properties?: "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 for custom repository roles management. + * @enum {string} + */ + organization_custom_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom organization roles management. + * @enum {string} + */ + organization_custom_org_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom property management. + * @enum {string} + */ + organization_custom_properties?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for managing access to GitHub Copilot for members of an organization with a Copilot Business subscription. This property is in public preview and is subject to change. + * @enum {string} + */ + organization_copilot_seat_management?: "write"; + /** + * @description The level of permission to grant the access token to view and manage announcement banners for an organization. + * @enum {string} + */ + organization_announcement_banners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view events triggered by an activity in an organization. + * @enum {string} + */ + organization_events?: "read"; + /** + * @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 and managing fine-grained personal access token requests to an organization. + * @enum {string} + */ + organization_personal_access_tokens?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. + * @enum {string} + */ + organization_personal_access_token_requests?: "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 public preview (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"; + /** + * @description The level of permission to grant the access token to manage the email addresses belonging to a user. + * @enum {string} + */ + email_addresses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the followers belonging to a user. + * @enum {string} + */ + followers?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage git SSH keys. + * @enum {string} + */ + git_ssh_keys?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GPG keys belonging to a user. + * @enum {string} + */ + gpg_keys?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage interaction limits on a repository. + * @enum {string} + */ + interaction_limits?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the profile settings belonging to a user. + * @enum {string} + */ + profile?: "write"; + /** + * @description The level of permission to grant the access token to list and manage repositories a user is starring. + * @enum {string} + */ + starring?: "read" | "write"; + }; + /** + * Simple User + * @description A GitHub user. + */ + "nullable-simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** + * Format: int64 + * @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; + /** @example public */ + user_view_type?: string; + } | null; + /** + * Installation + * @description Installation + */ + installation: { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + account: (components["schemas"]["simple-user"] | components["schemas"]["enterprise"]) | 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/app/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; + /** @example Iv1.ab1112223334445c */ + client_id?: string; + /** @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 repository on GitHub. + */ + repository: { + /** + * Format: int64 + * @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; + }; + 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; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @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; + /** + * @deprecated + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions: 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; + 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; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @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; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required: boolean; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + /** @description The status of the code search index for this repository */ + code_search_index_status?: { + lexical_search_ok?: boolean; + lexical_commit_sha?: 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[]; + }; + /** 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: { + /** Format: int64 */ + 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; + }; + /** + * Simple Classroom Repository + * @description A GitHub repository view for Classroom + */ + "simple-classroom-repository": { + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @description The full, globally unique name of the repository. + * @example octocat/Hello-World + */ + full_name: string; + /** + * Format: uri + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + */ + node_id: string; + /** @description Whether the repository is private. */ + private: boolean; + /** + * @description The default branch for the repository. + * @example main + */ + default_branch: string; + }; + /** + * Organization Simple for Classroom + * @description A GitHub organization. + */ + "simple-classroom-organization": { + /** @example 1 */ + id: number; + /** @example github */ + login: string; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/github + */ + html_url: string; + /** @example Github - Code thigns happen here */ + name: string | null; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + }; + /** + * Classroom + * @description A GitHub Classroom classroom + */ + classroom: { + /** + * @description Unique identifier of the classroom. + * @example 42 + */ + id: number; + /** + * @description The name of the classroom. + * @example Programming Elixir + */ + name: string; + /** + * @description Whether classroom is archived. + * @example false + */ + archived: boolean; + organization: components["schemas"]["simple-classroom-organization"]; + /** + * @description The URL of the classroom on GitHub Classroom. + * @example https://classroom.github.com/classrooms/1-programming-elixir + */ + url: string; + }; + /** + * Classroom Assignment + * @description A GitHub Classroom assignment + */ + "classroom-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment creates a public repository. + * @example true + */ + public_repo: boolean; + /** + * @description Assignment title. + * @example Intro to Binaries + */ + title: string; + /** + * @description Whether it's a group assignment or individual assignment. + * @example individual + * @enum {string} + */ + type: "individual" | "group"; + /** + * @description The link that a student can use to accept the assignment. + * @example https://classroom.github.com/a/Lx7jiUgx + */ + invite_link: string; + /** + * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. + * @example true + */ + invitations_enabled: boolean; + /** + * @description Sluggified name of the assignment. + * @example intro-to-binaries + */ + slug: string; + /** + * @description Whether students are admins on created repository when a student accepts the assignment. + * @example true + */ + students_are_repo_admins: boolean; + /** + * @description Whether feedback pull request will be created when a student accepts the assignment. + * @example true + */ + feedback_pull_requests_enabled: boolean; + /** + * @description The maximum allowable teams for the assignment. + * @example 0 + */ + max_teams: number | null; + /** + * @description The maximum allowable members per team. + * @example 0 + */ + max_members: number | null; + /** + * @description The selected editor for the assignment. + * @example codespaces + */ + editor: string; + /** + * @description The number of students that have accepted the assignment. + * @example 25 + */ + accepted: number; + /** + * @description The number of students that have submitted the assignment. + * @example 10 + */ + submitted: number; + /** + * @description The number of students that have passed the assignment. + * @example 10 + */ + passing: number; + /** + * @description The programming language used in the assignment. + * @example elixir + */ + language: string; + /** + * Format: date-time + * @description The time at which the assignment is due. + * @example 2011-01-26T19:06:43Z + */ + deadline: string | null; + starter_code_repository: components["schemas"]["simple-classroom-repository"]; + classroom: components["schemas"]["classroom"]; + }; + /** + * Simple Classroom User + * @description A GitHub user simplified for Classroom. + */ + "simple-classroom-user": { + /** @example 1 */ + id: number; + /** @example octocat */ + login: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + }; + /** + * Simple Classroom + * @description A GitHub Classroom classroom + */ + "simple-classroom": { + /** + * @description Unique identifier of the classroom. + * @example 42 + */ + id: number; + /** + * @description The name of the classroom. + * @example Programming Elixir + */ + name: string; + /** + * @description Returns whether classroom is archived or not. + * @example false + */ + archived: boolean; + /** + * @description The url of the classroom on GitHub Classroom. + * @example https://classroom.github.com/classrooms/1-programming-elixir + */ + url: string; + }; + /** + * Simple Classroom Assignment + * @description A GitHub Classroom assignment + */ + "simple-classroom-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment creates a public repository. + * @example true + */ + public_repo: boolean; + /** + * @description Assignment title. + * @example Intro to Binaries + */ + title: string; + /** + * @description Whether it's a Group Assignment or Individual Assignment. + * @example individual + * @enum {string} + */ + type: "individual" | "group"; + /** + * @description The link that a student can use to accept the assignment. + * @example https://classroom.github.com/a/Lx7jiUgx + */ + invite_link: string; + /** + * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. + * @example true + */ + invitations_enabled: boolean; + /** + * @description Sluggified name of the assignment. + * @example intro-to-binaries + */ + slug: string; + /** + * @description Whether students are admins on created repository on accepted assignment. + * @example true + */ + students_are_repo_admins: boolean; + /** + * @description Whether feedback pull request will be created on assignment acceptance. + * @example true + */ + feedback_pull_requests_enabled: boolean; + /** + * @description The maximum allowable teams for the assignment. + * @example 0 + */ + max_teams?: number | null; + /** + * @description The maximum allowable members per team. + * @example 0 + */ + max_members?: number | null; + /** + * @description The selected editor for the assignment. + * @example codespaces + */ + editor: string; + /** + * @description The number of students that have accepted the assignment. + * @example 25 + */ + accepted: number; + /** + * @description The number of students that have submitted the assignment. + * @example 10 + */ + submitted: number; + /** + * @description The number of students that have passed the assignment. + * @example 10 + */ + passing: number; + /** + * @description The programming language used in the assignment. + * @example elixir + */ + language: string; + /** + * Format: date-time + * @description The time at which the assignment is due. + * @example 2011-01-26T19:06:43Z + */ + deadline: string | null; + classroom: components["schemas"]["simple-classroom"]; + }; + /** + * Classroom Accepted Assignment + * @description A GitHub Classroom accepted assignment + */ + "classroom-accepted-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment has been submitted. + * @example true + */ + submitted: boolean; + /** + * @description Whether a submission passed. + * @example true + */ + passing: boolean; + /** + * @description Count of student commits. + * @example 5 + */ + commit_count: number; + /** + * @description Most recent grade. + * @example 10/10 + */ + grade: string; + students: components["schemas"]["simple-classroom-user"][]; + repository: components["schemas"]["simple-classroom-repository"]; + assignment: components["schemas"]["simple-classroom-assignment"]; + }; + /** + * Classroom Assignment Grade + * @description Grade for a student or groups GitHub Classroom assignment + */ + "classroom-assignment-grade": { + /** @description Name of the assignment */ + assignment_name: string; + /** @description URL of the assignment */ + assignment_url: string; + /** @description URL of the starter code for the assignment */ + starter_code_url: string; + /** @description GitHub username of the student */ + github_username: string; + /** @description Roster identifier of the student */ + roster_identifier: string; + /** @description Name of the student's assignment repository */ + student_repository_name: string; + /** @description URL of the student's assignment repository */ + student_repository_url: string; + /** @description Timestamp of the student's assignment submission */ + submission_timestamp: string; + /** @description Number of points awarded to the student */ + points_awarded: number; + /** @description Number of points available for the assignment */ + points_available: number; + /** @description If a group assignment, name of the group the student is in */ + group_name?: string; + }; + /** + * 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](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/). + * */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + /** @description A code security configuration */ + "code-security-configuration": { + /** @description The ID of the code security configuration */ + id?: number; + /** @description The name of the code security configuration. Must be unique within the organization. */ + name?: string; + /** + * @description The type of the code security configuration. + * @enum {string} + */ + target_type?: "global" | "organization" | "enterprise"; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security + * @enum {string} + */ + advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for code scanning */ + code_scanning_options?: Record | null; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for code scanning default setup */ + code_scanning_default_setup_options?: { + /** + * @description Whether to use labeled runners or standard GitHub runners. + * @enum {string|null} + */ + runner_type?: "standard" | "labeled" | "not_set" | null; + /** @description The label of the runner to use for code scanning when runner_type is 'labeled'. */ + runner_label?: string | null; + } | null; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated bypass + * @enum {string} + */ + secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for secret scanning delegated bypass */ + secret_scanning_delegated_bypass_options?: { + /** @description The bypass reviewers for secret scanning delegated bypass */ + reviewers?: { + /** @description The ID of the team or role selected as a bypass reviewer */ + reviewer_id: number; + /** + * @description The type of the bypass reviewer + * @enum {string} + */ + reviewer_type: "TEAM" | "ROLE"; + }[]; + }; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + /** + * Format: uri + * @description The URL of the configuration + */ + url?: string; + /** + * Format: uri + * @description The URL of the configuration + */ + html_url?: string; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** @description Feature options for code scanning default setup */ + "code-scanning-default-setup-options": { + /** + * @description Whether to use labeled runners or standard GitHub runners. + * @enum {string} + */ + runner_type?: "standard" | "labeled" | "not_set"; + /** @description The label of the runner to use for code scanning default setup when runner_type is 'labeled'. */ + runner_label?: string | null; + } | null; + /** @description A list of default code security configurations */ + "code-security-default-configurations": { + /** + * @description The visibility of newly created repositories for which the code security configuration will be applied to by default + * @enum {unknown} + */ + default_for_new_repos?: "public" | "private_and_internal" | "all"; + configuration?: components["schemas"]["code-security-configuration"]; + }[]; + /** + * Simple Repository + * @description A GitHub repository. + */ + "simple-repository": { + /** + * Format: int64 + * @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; + }; + /** @description Repositories associated with a code security configuration and attachment status */ + "code-security-configuration-repositories": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + repository?: components["schemas"]["simple-repository"]; + }; + /** @description The security alert number. */ + "alert-number": number; + /** @description Details for the vulnerable package. */ + "dependabot-alert-package": { + /** @description The package's language or package management ecosystem. */ + readonly ecosystem: string; + /** @description The unique package name within its ecosystem. */ + readonly name: string; + }; + /** @description Details pertaining to one vulnerable version range for the advisory. */ + "dependabot-alert-security-vulnerability": { + package: components["schemas"]["dependabot-alert-package"]; + /** + * @description The severity of the vulnerability. + * @enum {string} + */ + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Conditions that identify vulnerable versions of this vulnerability's package. */ + readonly vulnerable_version_range: string; + /** @description Details pertaining to the package version that patches this vulnerability. */ + readonly first_patched_version: { + /** @description The package version that patches this vulnerability. */ + readonly identifier: string; + } | null; + }; + /** @description Details for the GitHub Security Advisory. */ + "dependabot-alert-security-advisory": { + /** @description The unique GitHub Security Advisory ID assigned to the advisory. */ + readonly ghsa_id: string; + /** @description The unique CVE ID assigned to the advisory. */ + readonly cve_id: string | null; + /** @description A short, plain text summary of the advisory. */ + readonly summary: string; + /** @description A long-form Markdown-supported description of the advisory. */ + readonly description: string; + /** @description Vulnerable version range information for the advisory. */ + readonly vulnerabilities: components["schemas"]["dependabot-alert-security-vulnerability"][]; + /** + * @description The severity of the advisory. + * @enum {string} + */ + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Details for the advisory pertaining to the Common Vulnerability Scoring System. */ + readonly cvss: { + /** @description The overall CVSS score of the advisory. */ + readonly score: number; + /** @description The full CVSS vector string for the advisory. */ + readonly vector_string: string | null; + }; + cvss_severities?: components["schemas"]["cvss-severities"]; + epss?: components["schemas"]["security-advisory-epss"]; + /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ + readonly cwes: { + /** @description The unique CWE ID. */ + readonly cwe_id: string; + /** @description The short, plain text name of the CWE. */ + readonly name: string; + }[]; + /** @description Values that identify this advisory among security information sources. */ + readonly identifiers: { + /** + * @description The type of advisory identifier. + * @enum {string} + */ + readonly type: "CVE" | "GHSA"; + /** @description The value of the advisory identifer. */ + readonly value: string; + }[]; + /** @description Links to additional advisory information. */ + readonly references: { + /** + * Format: uri + * @description The URL of the reference. + */ + readonly url: string; + }[]; + /** + * Format: date-time + * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly published_at: string; + /** + * Format: date-time + * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly updated_at: string; + /** + * Format: date-time + * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly withdrawn_at: string | null; + }; + /** + * 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: 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: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-dismissed-at": string | null; + /** + * 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`. + */ + "alert-fixed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-auto-dismissed-at": string | null; + /** @description A Dependabot alert. */ + "dependabot-alert-with-repository": { + number: components["schemas"]["alert-number"]; + /** + * @description The state of the Dependabot alert. + * @enum {string} + */ + readonly state: "auto_dismissed" | "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + readonly dependency: { + package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; + /** + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} + */ + readonly scope?: "development" | "runtime" | null; + /** + * @description The vulnerable dependency's relationship to your project. + * + * > [!NOTE] + * > We are rolling out support for dependency relationship across ecosystems. This value will be "unknown" for all dependencies in unsupported ecosystems. + * + * @enum {string|null} + */ + readonly relationship?: "unknown" | "direct" | "transitive" | null; + }; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | null; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: string | null; + fixed_at: components["schemas"]["alert-fixed-at"]; + auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; + 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. 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": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | 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; + }; + /** @description Represents a 'wiki_commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository wiki. */ + "secret-scanning-location-wiki-commit": { + /** + * @description The file path of the wiki page + * @example /example/Home.md + */ + 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 8-bit ASCII. */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8-bit ASCII. */ + end_column: number; + /** + * @description SHA-1 hash ID of the associated blob + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + blob_sha: string; + /** + * @description The GitHub URL to get the associated wiki page + * @example https://github.com/octocat/Hello-World/wiki/Home/302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + page_url: string; + /** + * @description SHA-1 hash ID of the associated commit + * @example 302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + commit_sha: string; + /** + * @description The GitHub URL to get the associated wiki commit + * @example https://github.com/octocat/Hello-World/wiki/_compare/302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + commit_url: string; + }; + /** @description Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. */ + "secret-scanning-location-issue-title": { + /** + * Format: uri + * @description The API URL to get the issue where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_title_url: string; + }; + /** @description Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. */ + "secret-scanning-location-issue-body": { + /** + * Format: uri + * @description The API URL to get the issue where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_body_url: string; + }; + /** @description Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. */ + "secret-scanning-location-issue-comment": { + /** + * Format: uri + * @description The API URL to get the issue comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 + */ + issue_comment_url: string; + }; + /** @description Represents a 'discussion_title' secret scanning location type. This location type shows that a secret was detected in the title of a discussion. */ + "secret-scanning-location-discussion-title": { + /** + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082 + */ + discussion_title_url: string; + }; + /** @description Represents a 'discussion_body' secret scanning location type. This location type shows that a secret was detected in the body of a discussion. */ + "secret-scanning-location-discussion-body": { + /** + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussion-4566270 + */ + discussion_body_url: string; + }; + /** @description Represents a 'discussion_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a discussion. */ + "secret-scanning-location-discussion-comment": { + /** + * Format: uri + * @description The API URL to get the discussion comment where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussioncomment-4158232 + */ + discussion_comment_url: string; + }; + /** @description Represents a 'pull_request_title' secret scanning location type. This location type shows that a secret was detected in the title of a pull request. */ + "secret-scanning-location-pull-request-title": { + /** + * Format: uri + * @description The API URL to get the pull request where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846 + */ + pull_request_title_url: string; + }; + /** @description Represents a 'pull_request_body' secret scanning location type. This location type shows that a secret was detected in the body of a pull request. */ + "secret-scanning-location-pull-request-body": { + /** + * Format: uri + * @description The API URL to get the pull request where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846 + */ + pull_request_body_url: string; + }; + /** @description Represents a 'pull_request_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a pull request. */ + "secret-scanning-location-pull-request-comment": { + /** + * Format: uri + * @description The API URL to get the pull request comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 + */ + pull_request_comment_url: string; + }; + /** @description Represents a 'pull_request_review' secret scanning location type. This location type shows that a secret was detected in a review on a pull request. */ + "secret-scanning-location-pull-request-review": { + /** + * Format: uri + * @description The API URL to get the pull request review where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846/reviews/80 + */ + pull_request_review_url: string; + }; + /** @description Represents a 'pull_request_review_comment' secret scanning location type. This location type shows that a secret was detected in a review comment on a pull request. */ + "secret-scanning-location-pull-request-review-comment": { + /** + * Format: uri + * @description The API URL to get the pull request review comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/12 + */ + pull_request_review_comment_url: string; + }; + /** @description Details on the location where the token was initially detected. This can be a commit, wiki commit, issue, discussion, pull request. + * */ + "nullable-secret-scanning-first-detected-location": (components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]) | 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 "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ + 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; + push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment when reviewing a push protection bypass. */ + push_protection_bypass_request_reviewer_comment?: string | null; + /** @description An optional comment when requesting a push protection bypass. */ + push_protection_bypass_request_comment?: string | null; + /** + * Format: uri + * @description The URL to a push protection bypass request. + */ + push_protection_bypass_request_html_url?: string | null; + /** @description The comment that was optionally added when this alert was closed */ + resolution_comment?: string | null; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @description Whether the secret was publicly leaked. */ + publicly_leaked?: boolean | null; + /** @description Whether the detected secret was found in multiple repositories in the same organization or enterprise. */ + multi_repo?: boolean | null; + /** @description A boolean value representing whether or not alert is base64 encoded */ + is_base64_encoded?: boolean | null; + first_location_detected?: components["schemas"]["nullable-secret-scanning-first-detected-location"]; + /** @description A boolean value representing whether or not the token in the alert was detected in more than one location. */ + has_more_locations?: boolean; + }; + /** + * 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; + /** + * Issue Type + * @description The type of issue. + */ + "issue-type": { + /** @description The unique identifier of the issue type. */ + id: number; + /** @description The node identifier of the issue type. */ + node_id: string; + /** @description The name of the issue type. */ + name: string; + /** @description The description of the issue type. */ + description: string | null; + /** + * @description The color of the issue type. + * @enum {string|null} + */ + color?: "gray" | "blue" | "green" | "yellow" | "orange" | "red" | "pink" | "purple" | null; + /** + * Format: date-time + * @description The time the issue type created. + */ + created_at?: string; + /** + * Format: date-time + * @description The time the issue type last updated. + */ + updated_at?: string; + /** @description The enabled state of the issue type. */ + is_enabled?: boolean; + } | 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; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + owner: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; + /** + * @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. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation. + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself. + * @example 5 + */ + installations_count?: number; + } | 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; + }; + /** Sub-issues Summary */ + "sub-issues-summary": { + total: number; + completed: number; + percent_completed: number; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + issue: { + /** Format: int64 */ + 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 + * @enum {string|null} + */ + state_reason?: "completed" | "reopened" | "not_planned" | "duplicate" | 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; + type?: components["schemas"]["issue-type"]; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + }; + /** + * Issue Comment + * @description Comments provide a way for people to collaborate on an issue. + */ + "issue-comment": { + /** + * Format: int64 + * @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; + /** + * @description A feed of discussions for a given repository. + * @example https://github.com/{user}/{repo}/discussions + */ + repository_discussions_url?: string; + /** + * @description A feed of discussions for a given repository and category. + * @example https://github.com/{user}/{repo}/discussions/categories/{category} + */ + repository_discussions_category_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"][]; + repository_discussions?: components["schemas"]["link-with-type"]; + repository_discussions_category?: 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; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding: string; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + comments_enabled?: boolean; + 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; + /** Format: int64 */ + id: number; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + user_view_type: "public"; + 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; + /** Format: email */ + notification_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; + }; + /** @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; + comments_enabled?: boolean; + 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; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding: string; + } | null; + }; + public?: boolean; + created_at?: string; + updated_at?: string; + description?: string | null; + comments?: number; + comments_enabled?: boolean; + 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 + * @enum {string} + */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + /** @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 ABCDEFGHIJKLMNOPQRSTUVWXYZ" + * ] */ + ssh_keys?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + hooks?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + github_enterprise_importer?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + web?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + api?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + git?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + packages?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + pages?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + importer?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + actions?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + actions_macos?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + codespaces?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + dependabot?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + copilot?: string[]; + domains?: { + website?: string[]; + codespaces?: string[]; + copilot?: string[]; + packages?: string[]; + actions?: string[]; + actions_inbound?: { + full_domains?: string[]; + wildcard_domains?: string[]; + }; + artifact_attestations?: { + /** @example [ + * "example" + * ] */ + trust_domain?: string; + services?: string[]; + }; + }; + }; + "security-and-analysis": { + /** @description Enable or disable GitHub Advanced Security for the repository. + * + * For standalone Code Scanning or Secret Protection products, this parameter cannot be used. + * */ + advanced_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + code_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + /** @description Enable or disable Dependabot security updates for the repository. */ + dependabot_security_updates?: { + /** + * @description The enablement status of Dependabot security updates for the repository. + * @enum {string} + */ + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_push_protection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_non_provider_patterns?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_ai_detection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + /** + * Minimal Repository + * @description Minimal Repository + */ + "minimal-repository": { + /** + * Format: int64 + * @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; + /** @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. */ + 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; + has_discussions?: 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; + 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; + /** @example false */ + web_commit_signoff_required?: boolean; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + /** + * 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 Simple + * @description A GitHub organization. + */ + "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; + }; + /** + * Simple Repository + * @description A GitHub repository. + */ + "nullable-simple-repository": { + /** + * Format: int64 + * @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; + } | null; + /** + * Dependabot Repository Access Details + * @description Information about repositories that Dependabot is able to access in an organization + */ + "dependabot-repository-access-details": { + /** + * @description The default repository access level for Dependabot updates. + * @example internal + * @enum {string|null} + */ + default_level?: "public" | "internal" | null; + accessible_repositories?: components["schemas"]["nullable-simple-repository"][]; + }; + "billing-usage-report": { + usageItems?: { + /** @description Date of the usage line item. */ + date: string; + /** @description Product name. */ + product: string; + /** @description SKU name. */ + sku: string; + /** @description Quantity of the usage line item. */ + quantity: number; + /** @description Unit type of the usage line item. */ + unitType: string; + /** @description Price per unit of the usage line item. */ + pricePerUnit: number; + /** @description Gross amount of the usage line item. */ + grossAmount: number; + /** @description Discount amount of the usage line item. */ + discountAmount: number; + /** @description Net amount of the usage line item. */ + netAmount: number; + /** @description Name of the organization. */ + organizationName: string; + /** @description Name of the repository. */ + repositoryName?: 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; + /** @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; + /** + * @description The number of collaborators on private repositories. + * + * This field may be null if the number of private repositories is over 50,000. + * @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; + /** + * @description The default branch for repositories created in this organization. + * @example main + */ + default_repository_branch?: 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 true */ + members_can_delete_repositories?: boolean; + /** @example true */ + members_can_change_repo_visibility?: boolean; + /** @example true */ + members_can_invite_outside_collaborators?: boolean; + /** @example true */ + members_can_delete_issues?: boolean; + /** @example true */ + display_commenter_full_name_setting_enabled?: boolean; + /** @example true */ + readers_can_create_discussions?: boolean; + /** @example true */ + members_can_create_teams?: boolean; + /** @example true */ + members_can_view_dependency_insights?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + advanced_security_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** + * @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. + * @example false + */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** + * @description An optional URL string to display to contributors who are blocked from pushing a secret. + * @example https://github.com/test-org/test-repo/blob/main/README.md + */ + secret_scanning_push_protection_custom_link?: string | null; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; + /** + * @description Controls whether or not deploy keys may be added and used for repositories in the organization. + * @example false + */ + deploy_keys_enabled_for_repositories?: boolean; + }; + "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 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; + }; + /** + * GitHub-hosted runner image details. + * @description Provides details of a hosted runner image + */ + "nullable-actions-hosted-runner-pool-image": { + /** + * @description The ID of the image. Use this ID for the `image` parameter when creating a new larger runner. + * @example ubuntu-20.04 + */ + id: string; + /** + * @description Image size in GB. + * @example 86 + */ + size_gb: number; + /** + * @description Display name for this image. + * @example 20.04 + */ + display_name: string; + /** + * @description The image provider. + * @enum {string} + */ + source: "github" | "partner" | "custom"; + } | null; + /** + * Github-owned VM details. + * @description Provides details of a particular machine spec. + */ + "actions-hosted-runner-machine-spec": { + /** + * @description The ID used for the `size` parameter when creating a new runner. + * @example 8-core + */ + id: string; + /** + * @description The number of cores. + * @example 8 + */ + cpu_cores: number; + /** + * @description The available RAM for the machine spec. + * @example 32 + */ + memory_gb: number; + /** + * @description The available SSD storage for the machine spec. + * @example 300 + */ + storage_gb: number; + }; + /** + * Public IP for a GitHub-hosted larger runners. + * @description Provides details of Public IP for a GitHub-hosted larger runners + */ + "public-ip": { + /** + * @description Whether public IP is enabled. + * @example true + */ + enabled?: boolean; + /** + * @description The prefix for the public IP. + * @example 20.80.208.150 + */ + prefix?: string; + /** + * @description The length of the IP prefix. + * @example 28 + */ + length?: number; + }; + /** + * GitHub-hosted hosted runner + * @description A Github-hosted hosted runner. + */ + "actions-hosted-runner": { + /** + * @description The unique identifier of the hosted runner. + * @example 5 + */ + id: number; + /** + * @description The name of the hosted runner. + * @example my-github-hosted-runner + */ + name: string; + /** + * @description The unique identifier of the group that the hosted runner belongs to. + * @example 2 + */ + runner_group_id?: number; + image_details: components["schemas"]["nullable-actions-hosted-runner-pool-image"]; + machine_size_details: components["schemas"]["actions-hosted-runner-machine-spec"]; + /** + * @description The status of the runner. + * @example Ready + * @enum {string} + */ + status: "Ready" | "Provisioning" | "Shutdown" | "Deleting" | "Stuck"; + /** + * @description The operating system of the image. + * @example linux-x64 + */ + platform: string; + /** + * @description The maximum amount of hosted runners. Runners will not scale automatically above this number. Use this setting to limit your cost. + * @default 10 + * @example 5 + */ + maximum_runners: number; + /** + * @description Whether public IP is enabled for the hosted runners. + * @example true + */ + public_ip_enabled: boolean; + /** @description The public IP ranges when public IP is enabled for the hosted runners. */ + public_ips?: components["schemas"]["public-ip"][]; + /** + * Format: date-time + * @description The time at which the runner was last used, in ISO 8601 format. + * @example 2022-10-09T23:39:01Z + */ + last_active_on?: string | null; + }; + /** + * GitHub-hosted runner image details. + * @description Provides details of a hosted runner image + */ + "actions-hosted-runner-image": { + /** + * @description The ID of the image. Use this ID for the `image` parameter when creating a new larger runner. + * @example ubuntu-20.04 + */ + id: string; + /** + * @description The operating system of the image. + * @example linux-x64 + */ + platform: string; + /** + * @description Image size in GB. + * @example 86 + */ + size_gb: number; + /** + * @description Display name for this image. + * @example 20.04 + */ + display_name: string; + /** + * @description The image provider. + * @enum {string} + */ + source: "github" | "partner" | "custom"; + }; + "actions-hosted-runner-limits": { + /** + * Static public IP Limits for GitHub-hosted Hosted Runners. + * @description Provides details of static public IP limits for GitHub-hosted Hosted Runners + */ + public_ips: { + /** + * @description The maximum number of static public IP addresses that can be used for Hosted Runners. + * @example 50 + */ + maximum: number; + /** + * @description The current number of static public IP addresses in use by Hosted Runners. + * @example 17 + */ + current_usage: number; + }; + }; + /** + * Actions OIDC Subject customization + * @description Actions OIDC Subject customization + */ + "oidc-custom-sub": { + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys: string[]; + }; + /** + * Empty Object + * @description An object without any properties. + */ + "empty-object": Record; + /** + * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. + * @enum {string} + */ + "enabled-repositories": "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-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"]; + }; + "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/*`. + * + * > [!NOTE] + * > The `patterns_allowed` setting only applies to public repositories. */ + 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-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; + hosted_runners_url?: string; + /** @description The identifier of a hosted compute network configuration. */ + network_configuration_id?: 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[]; + }; + /** + * 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 ID of the runner group. + * @example 1 + */ + runner_group_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"][]; + ephemeral?: boolean; + }; + /** + * 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?: Record; + /** @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"; + }; + /** + * 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; + }; + /** + * Actions Variable for an Organization + * @description Organization variable for GitHub Actions. + */ + "organization-actions-variable": { + /** + * @description The name of the variable. + * @example USERNAME + */ + name: string; + /** + * @description The value of the variable. + * @example octocat + */ + value: string; + /** + * Format: date-time + * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + updated_at: string; + /** + * @description Visibility of a variable + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/variables/USERNAME/repositories + */ + selected_repositories_url?: string; + }; + /** + * Campaign state + * @description Indicates whether a campaign is open or closed + * @enum {string} + */ + "campaign-state": "open" | "closed"; + /** + * 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; + /** + * @description The notification setting the team has set + * @example notifications_enabled + */ + notification_setting?: 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; + notification_setting?: 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"]; + }; + /** + * Campaign summary + * @description The campaign metadata and alert stats. + */ + "campaign-summary": { + /** @description The number of the newly created campaign */ + number: number; + /** + * Format: date-time + * @description The date and time the campaign was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time the campaign was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** @description The campaign name */ + name?: string; + /** @description The campaign description */ + description: string; + /** @description The campaign managers */ + managers: components["schemas"]["simple-user"][]; + /** @description The campaign team managers */ + team_managers?: components["schemas"]["team"][]; + /** + * Format: date-time + * @description The date and time the campaign was published, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + published_at?: string; + /** + * Format: date-time + * @description The date and time the campaign has ended, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + ends_at: string; + /** + * Format: date-time + * @description The date and time the campaign was closed, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. Will be null if the campaign is still open. + */ + closed_at?: string | null; + state: components["schemas"]["campaign-state"]; + /** + * Format: uri + * @description The contact link of the campaign. + */ + contact_link: string | null; + alert_stats?: { + /** @description The number of open alerts */ + open_count: number; + /** @description The number of closed alerts */ + closed_count: number; + /** @description The number of in-progress alerts */ + in_progress_count: number; + }; + }; + /** @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-query": "open" | "closed" | "dismissed" | "fixed"; + /** + * @description Severity of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-severity": "critical" | "high" | "medium" | "low" | "warning" | "note" | "error"; + /** + * Format: uri + * @description The REST API URL for fetching the list of instances for an alert. + */ + "alert-instances-url": string; + /** + * @description State of a code scanning alert. + * @enum {string|null} + */ + "code-scanning-alert-state": "open" | "dismissed" | "fixed" | null; + /** + * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. + * @enum {string|null} + */ + "code-scanning-alert-dismissed-reason": "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-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 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 A 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 A link to the documentation for the rule used to detect the alert. */ + help_uri?: 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 Git reference, formatted as `refs/pull//merge`, `refs/pull//head`, + * `refs/heads/` or simply ``. */ + "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"][]; + }; + "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"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["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"]; + repository: components["schemas"]["simple-repository"]; + dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; + }; + /** + * 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, 16 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 17179869184 + */ + 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: { + /** + * Format: int64 + * @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 initally assigned location of a new codespace. + * @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 to publish this codespace to a new repository. + */ + publish_url?: string | null; + /** + * 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; + /** + * @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). + * @example 60 + */ + retention_period_minutes?: number | null; + /** + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" + * @example 2011-01-26T20:01:12Z + */ + retention_expires_at?: string | null; + /** + * @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. + * @example you've used 100% of your spending limit for Codespaces + */ + last_known_stop_notice?: string | null; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-org-secret": { + /** + * @description The name of the secret + * @example SECRET_NAME + */ + name: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to can be retrieved + * @example https://api.github.com/orgs/ORGANIZATION/codespaces/secrets/SECRET_NAME/repositories + */ + selected_repositories_url?: 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; + }; + /** + * Copilot Seat Breakdown + * @description The breakdown of Copilot Business seats for the organization. + */ + "copilot-organization-seat-breakdown": { + /** @description The total number of seats being billed for the organization as of the current billing cycle. */ + total?: number; + /** @description Seats added during the current billing cycle. */ + added_this_cycle?: number; + /** @description The number of seats that are pending cancellation at the end of the current billing cycle. */ + pending_cancellation?: number; + /** @description The number of users who have been invited to receive a Copilot seat through this organization. */ + pending_invitation?: number; + /** @description The number of seats that have used Copilot during the current billing cycle. */ + active_this_cycle?: number; + /** @description The number of seats that have not used Copilot during the current billing cycle. */ + inactive_this_cycle?: number; + }; + /** + * Copilot Organization Details + * @description Information about the seat breakdown and policies set for an organization with a Copilot Business or Copilot Enterprise subscription. + */ + "copilot-organization-details": { + seat_breakdown: components["schemas"]["copilot-organization-seat-breakdown"]; + /** + * @description The organization policy for allowing or blocking suggestions matching public code (duplication detection filter). + * @enum {string} + */ + public_code_suggestions: "allow" | "block" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing Copilot Chat in the IDE. + * @enum {string} + */ + ide_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing Copilot features on GitHub.com. + * @enum {string} + */ + platform_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing Copilot in the CLI. + * @enum {string} + */ + cli?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The mode of assigning new seats. + * @enum {string} + */ + seat_management_setting: "assign_all" | "assign_selected" | "disabled" | "unconfigured"; + /** + * @description The Copilot plan of the organization, or the parent enterprise, when applicable. + * @enum {string} + */ + plan_type?: "business" | "enterprise"; + } & { + [key: string]: unknown; + }; + /** + * Organization Simple + * @description A GitHub organization. + */ + "nullable-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; + } | null; + /** + * Enterprise Team + * @description Group of enterprise owners and/or members + */ + "enterprise-team": { + /** Format: int64 */ + id: number; + name: string; + description?: string; + slug: string; + /** Format: uri */ + url: string; + /** @example disabled | all */ + sync_to_organizations?: string; + /** @example disabled | all */ + organization_selection_type?: string; + /** @example 62ab9291-fae2-468e-974b-7e45096d5021 */ + group_id?: string | null; + /** @example Justice League */ + group_name?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/dc/teams/justice-league + */ + html_url: string; + members_url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Copilot Business Seat Detail + * @description Information about a Copilot Business seat assignment for a user, team, or organization. + */ + "copilot-seat-details": { + assignee?: components["schemas"]["nullable-simple-user"]; + organization?: components["schemas"]["nullable-organization-simple"]; + /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ + assigning_team?: (components["schemas"]["team"] | components["schemas"]["enterprise-team"]) | null; + /** + * Format: date + * @description The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle. + */ + pending_cancellation_date?: string | null; + /** + * Format: date-time + * @description Timestamp of user's last GitHub Copilot activity, in ISO 8601 format. + */ + last_activity_at?: string | null; + /** @description Last editor that was used by the user for a GitHub Copilot completion. */ + last_activity_editor?: string | null; + /** + * Format: date-time + * @description Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format. + */ + created_at: string; + /** + * Format: date-time + * @deprecated + * @description **Closing down notice:** This field is no longer relevant and is closing down. Use the `created_at` field to determine when the assignee was last granted access to GitHub Copilot. Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format. + */ + updated_at?: string; + /** + * @description The Copilot plan of the organization, or the parent enterprise, when applicable. + * @enum {string} + */ + plan_type?: "business" | "enterprise" | "unknown"; + }; + /** @description Usage metrics for Copilot editor code completions in the IDE. */ + "copilot-ide-code-completions": ({ + /** @description Number of users who accepted at least one Copilot code suggestion, across all active editors. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description Code completion metrics for active languages. */ + languages?: { + /** @description Name of the language used for Copilot code completion suggestions. */ + name?: string; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given language. Includes both full and partial acceptances. */ + total_engaged_users?: number; + }[]; + editors?: ({ + /** @description Name of the given editor. */ + name?: string; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description List of model metrics for custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot code completion suggestions. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model. */ + custom_model_training_date?: string | null; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor, for the given language and model. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description Code completion metrics for active languages, for the given editor. */ + languages?: { + /** @description Name of the language used for Copilot code completion suggestions, for the given editor. */ + name?: string; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor, for the given language. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description The number of Copilot code suggestions generated for the given editor, for the given language. */ + total_code_suggestions?: number; + /** @description The number of Copilot code suggestions accepted for the given editor, for the given language. Includes both full and partial acceptances. */ + total_code_acceptances?: number; + /** @description The number of lines of code suggested by Copilot code completions for the given editor, for the given language. */ + total_code_lines_suggested?: number; + /** @description The number of lines of code accepted from Copilot code suggestions for the given editor, for the given language. */ + total_code_lines_accepted?: number; + }[]; + }[]; + } & { + [key: string]: unknown; + })[]; + } & { + [key: string]: unknown; + }) | null; + /** @description Usage metrics for Copilot Chat in the IDE. */ + "copilot-ide-chat": ({ + /** @description Total number of users who prompted Copilot Chat in the IDE. */ + total_engaged_users?: number; + editors?: { + /** @description Name of the given editor. */ + name?: string; + /** @description The number of users who prompted Copilot Chat in the specified editor. */ + total_engaged_users?: number; + /** @description List of model metrics for custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot Chat. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model. */ + custom_model_training_date?: string | null; + /** @description The number of users who prompted Copilot Chat in the given editor and model. */ + total_engaged_users?: number; + /** @description The total number of chats initiated by users in the given editor and model. */ + total_chats?: number; + /** @description The number of times users accepted a code suggestion from Copilot Chat using the 'Insert Code' UI element, for the given editor. */ + total_chat_insertion_events?: number; + /** @description The number of times users copied a code suggestion from Copilot Chat using the keyboard, or the 'Copy' UI element, for the given editor. */ + total_chat_copy_events?: number; + }[]; + }[]; + } & { + [key: string]: unknown; + }) | null; + /** @description Usage metrics for Copilot Chat in GitHub.com */ + "copilot-dotcom-chat": ({ + /** @description Total number of users who prompted Copilot Chat on github.com at least once. */ + total_engaged_users?: number; + /** @description List of model metrics for a custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot Chat. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model (if applicable). */ + custom_model_training_date?: string | null; + /** @description Total number of users who prompted Copilot Chat on github.com at least once for each model. */ + total_engaged_users?: number; + /** @description Total number of chats initiated by users on github.com. */ + total_chats?: number; + }[]; + } & { + [key: string]: unknown; + }) | null; + /** @description Usage metrics for Copilot for pull requests. */ + "copilot-dotcom-pull-requests": ({ + /** @description The number of users who used Copilot for Pull Requests on github.com to generate a pull request summary at least once. */ + total_engaged_users?: number; + /** @description Repositories in which users used Copilot for Pull Requests to generate pull request summaries */ + repositories?: { + /** @description Repository name */ + name?: string; + /** @description The number of users who generated pull request summaries using Copilot for Pull Requests in the given repository. */ + total_engaged_users?: number; + /** @description List of model metrics for custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot pull request summaries. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model. */ + custom_model_training_date?: string | null; + /** @description The number of pull request summaries generated using Copilot for Pull Requests in the given repository. */ + total_pr_summaries_created?: number; + /** @description The number of users who generated pull request summaries using Copilot for Pull Requests in the given repository and model. */ + total_engaged_users?: number; + }[]; + }[]; + } & { + [key: string]: unknown; + }) | null; + /** + * Copilot Usage Metrics + * @description Copilot usage metrics for a given day. + */ + "copilot-usage-metrics-day": { + /** + * Format: date + * @description The date for which the usage metrics are aggregated, in `YYYY-MM-DD` format. + */ + date: string; + /** @description The total number of Copilot users with activity belonging to any Copilot feature, globally, for the given day. Includes passive activity such as receiving a code suggestion, as well as engagement activity such as accepting a code suggestion or prompting chat. Does not include authentication events. Is not limited to the individual features detailed on the endpoint. */ + total_active_users?: number; + /** @description The total number of Copilot users who engaged with any Copilot feature, for the given day. Examples include but are not limited to accepting a code suggestion, prompting Copilot chat, or triggering a PR Summary. Does not include authentication events. Is not limited to the individual features detailed on the endpoint. */ + total_engaged_users?: number; + copilot_ide_code_completions?: components["schemas"]["copilot-ide-code-completions"]; + copilot_ide_chat?: components["schemas"]["copilot-ide-chat"]; + copilot_dotcom_chat?: components["schemas"]["copilot-dotcom-chat"]; + copilot_dotcom_pull_requests?: components["schemas"]["copilot-dotcom-pull-requests"]; + } & { + [key: string]: unknown; + }; + /** + * 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; + }; + /** + * Minimal Repository + * @description Minimal Repository + */ + "nullable-minimal-repository": { + /** + * Format: int64 + * @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; + /** @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. */ + 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; + has_discussions?: 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; + 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; + /** @example false */ + web_commit_signoff_required?: boolean; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + } | 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; + }; + /** + * Organization Invitation + * @description Organization Invitation + */ + "organization-invitation": { + /** Format: int64 */ + 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; + /** @example "member" */ + invitation_source?: 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; + }; + /** + * Route Stats + * @description API Insights usage route stats for an actor + */ + "api-insights-route-stats": { + /** @description The HTTP method */ + http_method?: string; + /** @description The API path's route template */ + api_route?: string; + /** + * Format: int64 + * @description The total number of requests within the queried time period + */ + total_request_count?: number; + /** + * Format: int64 + * @description The total number of requests that were rate limited within the queried time period + */ + rate_limited_request_count?: number; + last_rate_limited_timestamp?: string | null; + last_request_timestamp?: string; + }[]; + /** + * Subject Stats + * @description API Insights usage subject stats for an organization + */ + "api-insights-subject-stats": { + subject_type?: string; + subject_name?: string; + /** Format: int64 */ + subject_id?: number; + total_request_count?: number; + rate_limited_request_count?: number; + last_rate_limited_timestamp?: string | null; + last_request_timestamp?: string; + }[]; + /** + * Summary Stats + * @description API Insights usage summary stats for an organization + */ + "api-insights-summary-stats": { + /** + * Format: int64 + * @description The total number of requests within the queried time period + */ + total_request_count?: number; + /** + * Format: int64 + * @description The total number of requests that were rate limited within the queried time period + */ + rate_limited_request_count?: number; + }; + /** + * Time Stats + * @description API Insights usage time stats for an organization + */ + "api-insights-time-stats": { + timestamp?: string; + /** Format: int64 */ + total_request_count?: number; + /** Format: int64 */ + rate_limited_request_count?: number; + }[]; + /** + * User Stats + * @description API Insights usage stats for a user + */ + "api-insights-user-stats": { + actor_type?: string; + actor_name?: string; + /** Format: int64 */ + actor_id?: number; + /** Format: int64 */ + integration_id?: number | null; + /** Format: int64 */ + oauth_application_id?: number | null; + total_request_count?: number; + rate_limited_request_count?: number; + last_rate_limited_timestamp?: string | null; + last_request_timestamp?: 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"]; + }; + "organization-create-issue-type": { + /** @description Name of the issue type. */ + name: string; + /** @description Whether or not the issue type is enabled at the organization level. */ + is_enabled: boolean; + /** @description Description of the issue type. */ + description?: string | null; + /** + * @description Color for the issue type. + * @enum {string|null} + */ + color?: "gray" | "blue" | "green" | "yellow" | "orange" | "red" | "pink" | "purple" | null; + }; + "organization-update-issue-type": { + /** @description Name of the issue type. */ + name: string; + /** @description Whether or not the issue type is enabled at the organization level. */ + is_enabled: boolean; + /** @description Description of the issue type. */ + description?: string | null; + /** + * @description Color for the issue type. + * @enum {string|null} + */ + color?: "gray" | "blue" | "green" | "yellow" | "orange" | "red" | "pink" | "purple" | null; + }; + /** + * 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"; + /** + * @description Whether the user has direct membership in the organization. + * @example true + */ + direct_membership?: boolean; + /** + * @description The slugs of the enterprise teams providing the user with indirect membership in the organization. + * A limit of 100 enterprise team slugs is returned. + * @example [ + * "ent:team-one", + * "ent:team-two" + * ] + */ + enterprise_teams_providing_indirect_membership?: string[]; + /** + * 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: { + /** + * Format: int64 + * @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; + /** @description The repositories included in the migration. Only returned for export migrations. */ + 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; + /** @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?: string[]; + }; + /** + * Organization Role + * @description Organization roles + */ + "organization-role": { + /** + * Format: int64 + * @description The unique identifier of the role. + */ + id: number; + /** @description The name of the role. */ + name: string; + /** @description A short description about who this role is for or what permissions it grants. */ + description?: string | null; + /** + * @description The system role from which this role inherits permissions. + * @enum {string|null} + */ + base_role?: "read" | "triage" | "write" | "maintain" | "admin" | null; + /** + * @description Source answers the question, "where did this role come from?" + * @enum {string|null} + */ + source?: "Organization" | "Enterprise" | "Predefined" | null; + /** @description A list of permissions included in this role. */ + permissions: string[]; + organization: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The date and time the role was created. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time the role was last updated. + */ + updated_at: string; + }; + /** + * A Role Assignment for a Team + * @description The Relationship a Team has with a role. + */ + "team-role-assignment": { + /** + * @description Determines if the team has a direct, indirect, or mixed relationship to a role + * @example direct + * @enum {string} + */ + assignment?: "direct" | "indirect" | "mixed"; + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + notification_setting?: 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"]; + }; + /** + * 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; + /** + * @description The notification setting the team has set + * @example notifications_enabled + */ + notification_setting?: 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; + }; + /** + * A Role Assignment for a User + * @description The Relationship a User has with a role. + */ + "user-role-assignment": { + /** + * @description Determines if the user has a direct, indirect, or mixed relationship to a role + * @example direct + * @enum {string} + */ + assignment?: "direct" | "indirect" | "mixed"; + /** @description Team the user has gotten the role through */ + inherited_from?: components["schemas"]["team-simple"][]; + 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; + /** @example public */ + user_view_type?: 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[]; + }; + }; + }; + /** + * Simple Organization Programmatic Access Grant Request + * @description Minimal representation of an organization programmatic access grant request for enumerations + */ + "organization-programmatic-access-grant-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests. */ + id: number; + /** @description Reason for requesting access. */ + reason: string | null; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ + token_id: number; + /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ + token_name: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Organization Programmatic Access Grant + * @description Minimal representation of an organization programmatic access grant for enumerations + */ + "organization-programmatic-access-grant": { + /** @description Unique identifier of the fine-grained personal access token grant. The `pat_id` used to get details about an approved fine-grained personal access token. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ + access_granted_at: string; + /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ + token_id: number; + /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ + token_name: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Organization private registry + * @description Private registry configuration for an organization + */ + "org-private-registry-configuration": { + /** + * @description The name of the private registry configuration. + * @example MAVEN_REPOSITORY_SECRET + */ + name: string; + /** + * @description The registry type. + * @enum {string} + */ + registry_type: "maven_repository" | "nuget_feed" | "goproxy_server" | "npm_registry" | "rubygems_server" | "cargo_registry" | "composer_repository" | "docker_registry" | "git_source" | "helm_registry"; + /** + * @description The username to use when authenticating with the private registry. + * @example monalisa + */ + username?: string | null; + /** + * @description Which type of organization repositories have access to the private registry. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Organization private registry + * @description Private registry configuration for an organization + */ + "org-private-registry-configuration-with-selected-repositories": { + /** + * @description The name of the private registry configuration. + * @example MAVEN_REPOSITORY_SECRET + */ + name: string; + /** + * @description The registry type. + * @enum {string} + */ + registry_type: "maven_repository" | "nuget_feed" | "goproxy_server" | "npm_registry" | "rubygems_server" | "cargo_registry" | "composer_repository" | "docker_registry" | "git_source" | "helm_registry"; + /** + * @description The username to use when authenticating with the private registry. + * @example monalisa + */ + username?: string; + /** + * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization private registry when `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * 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; + }; + /** + * Organization Custom Property + * @description Custom property defined on an organization + */ + "custom-property": { + /** @description The name of the property */ + property_name: string; + /** + * Format: uri + * @description The URL that can be used to fetch, update, or delete info about this property via the API. + */ + url?: string; + /** + * @description The source type of the property + * @example organization + * @enum {string} + */ + source_type?: "organization" | "enterprise"; + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select" | "multi_select" | "true_false"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: (string | string[]) | null; + /** @description Short description of the property */ + description?: string | null; + /** @description An ordered list of the allowed values of the property. + * The property can have up to 200 allowed values. */ + allowed_values?: string[] | null; + /** + * @description Who can edit the values of the property + * @example org_actors + * @enum {string|null} + */ + values_editable_by?: "org_actors" | "org_and_repo_actors" | null; + }; + /** + * Custom Property Set Payload + * @description Custom property set payload + */ + "custom-property-set-payload": { + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select" | "multi_select" | "true_false"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: (string | string[]) | null; + /** @description Short description of the property */ + description?: string | null; + /** @description An ordered list of the allowed values of the property. + * The property can have up to 200 allowed values. */ + allowed_values?: string[] | null; + /** + * @description Who can edit the values of the property + * @example org_actors + * @enum {string|null} + */ + values_editable_by?: "org_actors" | "org_and_repo_actors" | null; + }; + /** + * Custom Property Value + * @description Custom property name and associated value + */ + "custom-property-value": { + /** @description The name of the property */ + property_name: string; + /** @description The value assigned to the property */ + value: (string | string[]) | null; + }; + /** + * Organization Repository Custom Property Values + * @description List of custom property values for a repository + */ + "org-repo-custom-property-values": { + /** @example 1296269 */ + repository_id: number; + /** @example Hello-World */ + repository_name: string; + /** @example octocat/Hello-World */ + repository_full_name: string; + /** @description List of custom property names and associated values */ + properties: components["schemas"]["custom-property-value"][]; + }; + /** + * Repository + * @description A repository on GitHub. + */ + "nullable-repository": { + /** + * Format: int64 + * @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; + }; + 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; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @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; + /** + * @deprecated + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions: 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; + 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; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @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; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required: boolean; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + /** @description The status of the code search index for this repository */ + code_search_index_status?: { + lexical_search_ok?: boolean; + lexical_commit_sha?: string; + }; + } | null; + /** + * 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; + }; + /** + * Full Repository + * @description Full Repository + */ + "full-repository": { + /** + * Format: int64 + * @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; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @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; + /** @example true */ + has_discussions: 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; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @example PR_TITLE + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @example PR_BODY + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @example PR_TITLE + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @example PR_BODY + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @example true */ + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: 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"]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + /** + * @description The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). + * @enum {string} + */ + "repository-rule-enforcement": "disabled" | "active" | "evaluate"; + /** + * Repository Ruleset Bypass Actor + * @description An actor that can bypass rules in a ruleset + */ + "repository-ruleset-bypass-actor": { + /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. */ + actor_id?: number | null; + /** + * @description The type of actor that can bypass a ruleset. + * @enum {string} + */ + actor_type: "Integration" | "OrganizationAdmin" | "RepositoryRole" | "Team" | "DeployKey"; + /** + * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. + * @default always + * @enum {string} + */ + bypass_mode: "always" | "pull_request"; + }; + /** + * Repository ruleset conditions for ref names + * @description Parameters for a repository ruleset ref name condition + */ + "repository-ruleset-conditions": { + ref_name?: { + /** @description Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. */ + include?: string[]; + /** @description Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; + }; + }; + /** + * Repository ruleset conditions for repository names + * @description Parameters for a repository name condition + */ + "repository-ruleset-conditions-repository-name-target": { + repository_name: { + /** @description Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. */ + include?: string[]; + /** @description Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; + /** @description Whether renaming of target repositories is prevented. */ + protected?: boolean; + }; + }; + /** + * Repository ruleset conditions for repository IDs + * @description Parameters for a repository ID condition + */ + "repository-ruleset-conditions-repository-id-target": { + repository_id: { + /** @description The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. */ + repository_ids?: number[]; + }; + }; + /** + * Repository ruleset property targeting definition + * @description Parameters for a targeting a repository property + */ + "repository-ruleset-conditions-repository-property-spec": { + /** @description The name of the repository property to target */ + name: string; + /** @description The values to match for the repository property */ + property_values: string[]; + /** + * @description The source of the repository property. Defaults to 'custom' if not specified. + * @enum {string} + */ + source?: "custom" | "system"; + }; + /** + * Repository ruleset conditions for repository properties + * @description Parameters for a repository property condition + */ + "repository-ruleset-conditions-repository-property-target": { + repository_property: { + /** @description The repository properties and values to include. All of these properties must match for the condition to pass. */ + include?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; + /** @description The repository properties and values to exclude. The condition will not pass if any of these properties match. */ + exclude?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; + }; + }; + /** + * Organization ruleset conditions + * @description Conditions for an organization ruleset. + * The branch and tag rulesets conditions object should contain both `repository_name` and `ref_name` properties, or both `repository_id` and `ref_name` properties, or both `repository_property` and `ref_name` properties. + * The push rulesets conditions object does not require the `ref_name` property. + * For repository policy rulesets, the conditions object should only contain the `repository_name`, the `repository_id`, or the `repository_property`. + */ + "org-ruleset-conditions": (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-name-target"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-id-target"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-property-target"]); + /** + * creation + * @description Only allow users with bypass permission to create matching refs. + */ + "repository-rule-creation": { + /** @enum {string} */ + type: "creation"; + }; + /** + * update + * @description Only allow users with bypass permission to update matching refs. + */ + "repository-rule-update": { + /** @enum {string} */ + type: "update"; + parameters?: { + /** @description Branch can pull changes from its upstream repository */ + update_allows_fetch_and_merge: boolean; + }; + }; + /** + * deletion + * @description Only allow users with bypass permissions to delete matching refs. + */ + "repository-rule-deletion": { + /** @enum {string} */ + type: "deletion"; + }; + /** + * required_linear_history + * @description Prevent merge commits from being pushed to matching refs. + */ + "repository-rule-required-linear-history": { + /** @enum {string} */ + type: "required_linear_history"; + }; + /** + * merge_queue + * @description Merges must be performed via a merge queue. + */ + "repository-rule-merge-queue": { + /** @enum {string} */ + type: "merge_queue"; + parameters?: { + /** @description Maximum time for a required status check to report a conclusion. After this much time has elapsed, checks that have not reported a conclusion will be assumed to have failed */ + check_response_timeout_minutes: number; + /** + * @description When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. + * @enum {string} + */ + grouping_strategy: "ALLGREEN" | "HEADGREEN"; + /** @description Limit the number of queued pull requests requesting checks and workflow runs at the same time. */ + max_entries_to_build: number; + /** @description The maximum number of PRs that will be merged together in a group. */ + max_entries_to_merge: number; + /** + * @description Method to use when merging changes from queued pull requests. + * @enum {string} + */ + merge_method: "MERGE" | "SQUASH" | "REBASE"; + /** @description The minimum number of PRs that will be merged together in a group. */ + min_entries_to_merge: number; + /** @description The time merge queue should wait after the first PR is added to the queue for the minimum group size to be met. After this time has elapsed, the minimum group size will be ignored and a smaller group will be merged. */ + min_entries_to_merge_wait_minutes: number; + }; + }; + /** + * required_deployments + * @description Choose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule. + */ + "repository-rule-required-deployments": { + /** @enum {string} */ + type: "required_deployments"; + parameters?: { + /** @description The environments that must be successfully deployed to before branches can be merged. */ + required_deployment_environments: string[]; + }; + }; + /** + * required_signatures + * @description Commits pushed to matching refs must have verified signatures. + */ + "repository-rule-required-signatures": { + /** @enum {string} */ + type: "required_signatures"; + }; + /** + * Reviewer + * @description A required reviewing team + */ + "repository-rule-params-reviewer": { + /** @description ID of the reviewer which must review changes to matching files. */ + id: number; + /** + * @description The type of the reviewer + * @enum {string} + */ + type: "Team"; + }; + /** + * RequiredReviewerConfiguration + * @description A reviewing team, and file patterns describing which files they must approve changes to. + */ + "repository-rule-params-required-reviewer-configuration": { + /** @description Array of file patterns. Pull requests which change matching files must be approved by the specified team. File patterns use the same syntax as `.gitignore` files. */ + file_patterns: string[]; + /** @description Minimum number of approvals required from the specified team. If set to zero, the team will be added to the pull request but approval is optional. */ + minimum_approvals: number; + reviewer: components["schemas"]["repository-rule-params-reviewer"]; + }; + /** + * pull_request + * @description Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. + */ + "repository-rule-pull-request": { + /** @enum {string} */ + type: "pull_request"; + parameters?: { + /** @description Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled. */ + allowed_merge_methods?: ("merge" | "squash" | "rebase")[]; + /** @description Automatically request review from Copilot for new pull requests, if the author has access to Copilot code review. */ + automatic_copilot_code_review_enabled?: boolean; + /** @description New, reviewable commits pushed will dismiss previous pull request review approvals. */ + dismiss_stale_reviews_on_push: boolean; + /** @description Require an approving review in pull requests that modify files that have a designated code owner. */ + require_code_owner_review: boolean; + /** @description Whether the most recent reviewable push must be approved by someone other than the person who pushed it. */ + require_last_push_approval: boolean; + /** @description The number of approving reviews that are required before a pull request can be merged. */ + required_approving_review_count: number; + /** @description All conversations on code must be resolved before a pull request can be merged. */ + required_review_thread_resolution: boolean; + }; + }; + /** + * StatusCheckConfiguration + * @description Required status check + */ + "repository-rule-params-status-check-configuration": { + /** @description The status check context name that must be present on the commit. */ + context: string; + /** @description The optional integration ID that this status check must originate from. */ + integration_id?: number; + }; + /** + * required_status_checks + * @description Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. + */ + "repository-rule-required-status-checks": { + /** @enum {string} */ + type: "required_status_checks"; + parameters?: { + /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ + do_not_enforce_on_create?: boolean; + /** @description Status checks that are required. */ + required_status_checks: components["schemas"]["repository-rule-params-status-check-configuration"][]; + /** @description Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. */ + strict_required_status_checks_policy: boolean; + }; + }; + /** + * non_fast_forward + * @description Prevent users with push access from force pushing to refs. + */ + "repository-rule-non-fast-forward": { + /** @enum {string} */ + type: "non_fast_forward"; + }; + /** + * commit_message_pattern + * @description Parameters to be used for the commit_message_pattern rule + */ + "repository-rule-commit-message-pattern": { + /** @enum {string} */ + type: "commit_message_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * commit_author_email_pattern + * @description Parameters to be used for the commit_author_email_pattern rule + */ + "repository-rule-commit-author-email-pattern": { + /** @enum {string} */ + type: "commit_author_email_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * committer_email_pattern + * @description Parameters to be used for the committer_email_pattern rule + */ + "repository-rule-committer-email-pattern": { + /** @enum {string} */ + type: "committer_email_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * branch_name_pattern + * @description Parameters to be used for the branch_name_pattern rule + */ + "repository-rule-branch-name-pattern": { + /** @enum {string} */ + type: "branch_name_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * tag_name_pattern + * @description Parameters to be used for the tag_name_pattern rule + */ + "repository-rule-tag-name-pattern": { + /** @enum {string} */ + type: "tag_name_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * file_path_restriction + * @description Prevent commits that include changes in specified file and folder paths from being pushed to the commit graph. This includes absolute paths that contain file names. + */ + "repository-rule-file-path-restriction": { + /** @enum {string} */ + type: "file_path_restriction"; + parameters?: { + /** @description The file paths that are restricted from being pushed to the commit graph. */ + restricted_file_paths: string[]; + }; + }; + /** + * max_file_path_length + * @description Prevent commits that include file paths that exceed the specified character limit from being pushed to the commit graph. + */ + "repository-rule-max-file-path-length": { + /** @enum {string} */ + type: "max_file_path_length"; + parameters?: { + /** @description The maximum amount of characters allowed in file paths. */ + max_file_path_length: number; + }; + }; + /** + * file_extension_restriction + * @description Prevent commits that include files with specified file extensions from being pushed to the commit graph. + */ + "repository-rule-file-extension-restriction": { + /** @enum {string} */ + type: "file_extension_restriction"; + parameters?: { + /** @description The file extensions that are restricted from being pushed to the commit graph. */ + restricted_file_extensions: string[]; + }; + }; + /** + * max_file_size + * @description Prevent commits with individual files that exceed the specified limit from being pushed to the commit graph. + */ + "repository-rule-max-file-size": { + /** @enum {string} */ + type: "max_file_size"; + parameters?: { + /** @description The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS). */ + max_file_size: number; + }; + }; + /** + * RestrictedCommits + * @description Restricted commit + */ + "repository-rule-params-restricted-commits": { + /** @description Full or abbreviated commit hash to reject */ + oid: string; + /** @description Reason for restriction */ + reason?: string; + }; + /** + * WorkflowFileReference + * @description A workflow that must run for this rule to pass + */ + "repository-rule-params-workflow-file-reference": { + /** @description The path to the workflow file */ + path: string; + /** @description The ref (branch or tag) of the workflow file to use */ + ref?: string; + /** @description The ID of the repository where the workflow is defined */ + repository_id: number; + /** @description The commit SHA of the workflow file to use */ + sha?: string; + }; + /** + * workflows + * @description Require all changes made to a targeted branch to pass the specified workflows before they can be merged. + */ + "repository-rule-workflows": { + /** @enum {string} */ + type: "workflows"; + parameters?: { + /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ + do_not_enforce_on_create?: boolean; + /** @description Workflows that must pass for this rule to pass. */ + workflows: components["schemas"]["repository-rule-params-workflow-file-reference"][]; + }; + }; + /** + * CodeScanningTool + * @description A tool that must provide code scanning results for this rule to pass. + */ + "repository-rule-params-code-scanning-tool": { + /** + * @description The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + * @enum {string} + */ + alerts_threshold: "none" | "errors" | "errors_and_warnings" | "all"; + /** + * @description The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + * @enum {string} + */ + security_alerts_threshold: "none" | "critical" | "high_or_higher" | "medium_or_higher" | "all"; + /** @description The name of a code scanning tool */ + tool: string; + }; + /** + * code_scanning + * @description Choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated. + */ + "repository-rule-code-scanning": { + /** @enum {string} */ + type: "code_scanning"; + parameters?: { + /** @description Tools that must provide code scanning results for this rule to pass. */ + code_scanning_tools: components["schemas"]["repository-rule-params-code-scanning-tool"][]; + }; + }; + /** + * Repository Rule + * @description A repository rule. + */ + "repository-rule": components["schemas"]["repository-rule-creation"] | components["schemas"]["repository-rule-update"] | components["schemas"]["repository-rule-deletion"] | components["schemas"]["repository-rule-required-linear-history"] | components["schemas"]["repository-rule-merge-queue"] | components["schemas"]["repository-rule-required-deployments"] | components["schemas"]["repository-rule-required-signatures"] | components["schemas"]["repository-rule-pull-request"] | components["schemas"]["repository-rule-required-status-checks"] | components["schemas"]["repository-rule-non-fast-forward"] | components["schemas"]["repository-rule-commit-message-pattern"] | components["schemas"]["repository-rule-commit-author-email-pattern"] | components["schemas"]["repository-rule-committer-email-pattern"] | components["schemas"]["repository-rule-branch-name-pattern"] | components["schemas"]["repository-rule-tag-name-pattern"] | components["schemas"]["repository-rule-file-path-restriction"] | components["schemas"]["repository-rule-max-file-path-length"] | components["schemas"]["repository-rule-file-extension-restriction"] | components["schemas"]["repository-rule-max-file-size"] | components["schemas"]["repository-rule-workflows"] | components["schemas"]["repository-rule-code-scanning"]; + /** + * Repository ruleset + * @description A set of rules to apply when specified conditions are met. + */ + "repository-ruleset": { + /** @description The ID of the ruleset */ + id: number; + /** @description The name of the ruleset */ + name: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag" | "push" | "repository"; + /** + * @description The type of the source of the ruleset + * @enum {string} + */ + source_type?: "Repository" | "Organization" | "Enterprise"; + /** @description The name of the source */ + source: string; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + /** + * @description The bypass type of the user making the API request for this ruleset. This field is only returned when + * querying the repository-level endpoint. + * @enum {string} + */ + current_user_can_bypass?: "always" | "pull_requests_only" | "never"; + node_id?: string; + _links?: { + self?: { + /** @description The URL of the ruleset */ + href?: string; + }; + html?: { + /** @description The html URL of the ruleset */ + href?: string; + } | null; + }; + conditions?: (components["schemas"]["repository-ruleset-conditions"] | components["schemas"]["org-ruleset-conditions"]) | null; + rules?: components["schemas"]["repository-rule"][]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** + * Rule Suites + * @description Response + */ + "rule-suites": { + /** @description The unique identifier of the rule insight. */ + id?: number; + /** @description The number that identifies the user. */ + actor_id?: number; + /** @description The handle for the GitHub user account. */ + actor_name?: string; + /** @description The first commit sha before the push evaluation. */ + before_sha?: string; + /** @description The last commit sha in the push evaluation. */ + after_sha?: string; + /** @description The ref name that the evaluation ran on. */ + ref?: string; + /** @description The ID of the repository associated with the rule evaluation. */ + repository_id?: number; + /** @description The name of the repository without the `.git` extension. */ + repository_name?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string; + /** + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} + */ + result?: "pass" | "fail" | "bypass"; + /** + * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. + * @enum {string} + */ + evaluation_result?: "pass" | "fail" | "bypass"; + }[]; + /** + * Rule Suite + * @description Response + */ + "rule-suite": { + /** @description The unique identifier of the rule insight. */ + id?: number; + /** @description The number that identifies the user. */ + actor_id?: number | null; + /** @description The handle for the GitHub user account. */ + actor_name?: string | null; + /** @description The first commit sha before the push evaluation. */ + before_sha?: string; + /** @description The last commit sha in the push evaluation. */ + after_sha?: string; + /** @description The ref name that the evaluation ran on. */ + ref?: string; + /** @description The ID of the repository associated with the rule evaluation. */ + repository_id?: number; + /** @description The name of the repository without the `.git` extension. */ + repository_name?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string; + /** + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} + */ + result?: "pass" | "fail" | "bypass"; + /** + * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. Null if no rules with `evaluate` enforcement status were run. + * @enum {string|null} + */ + evaluation_result?: "pass" | "fail" | "bypass" | null; + /** @description Details on the evaluated rules. */ + rule_evaluations?: { + rule_source?: { + /** @description The type of rule source. */ + type?: string; + /** @description The ID of the rule source. */ + id?: number | null; + /** @description The name of the rule source. */ + name?: string | null; + }; + /** + * @description The enforcement level of this rule source. + * @enum {string} + */ + enforcement?: "active" | "evaluate" | "deleted ruleset"; + /** + * @description The result of the evaluation of the individual rule. + * @enum {string} + */ + result?: "pass" | "fail"; + /** @description The type of rule. */ + rule_type?: string; + /** @description The detailed failure message for the rule. Null if the rule passed. */ + details?: string | null; + }[]; + }; + /** + * Ruleset version + * @description The historical version of a ruleset + */ + "ruleset-version": { + /** @description The ID of the previous version of the ruleset */ + version_id: number; + /** @description The actor who updated the ruleset */ + actor: { + id?: number; + type?: string; + }; + /** Format: date-time */ + updated_at: string; + }; + "ruleset-version-with-state": components["schemas"]["ruleset-version"] & { + /** @description The state of the ruleset version */ + state: Record; + }; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + "repository-advisory-vulnerability": { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions: string[] | null; + }; + /** @description A credit given to a user for a repository security advisory. */ + "repository-advisory-credit": { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + /** + * @description The state of the user's acceptance of the credit. + * @enum {string} + */ + state: "accepted" | "declined" | "pending"; + }; + /** @description A repository security advisory. */ + "repository-advisory": { + /** @description The GitHub Security Advisory ID. */ + readonly ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id: string | null; + /** + * Format: uri + * @description The API URL for the advisory. + */ + readonly url: string; + /** + * Format: uri + * @description The URL for the advisory. + */ + readonly html_url: string; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; + /** + * @description The severity of the advisory. + * @enum {string|null} + */ + severity: "critical" | "high" | "medium" | "low" | null; + /** @description The author of the advisory. */ + readonly author: components["schemas"]["simple-user"] | null; + /** @description The publisher of the advisory. */ + readonly publisher: components["schemas"]["simple-user"] | null; + readonly identifiers: { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[]; + /** + * @description The state of the advisory. + * @enum {string} + */ + state: "published" | "closed" | "withdrawn" | "draft" | "triage"; + /** + * Format: date-time + * @description The date and time of when the advisory was created, in ISO 8601 format. + */ + readonly created_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. + */ + readonly updated_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. + */ + readonly published_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was closed, in ISO 8601 format. + */ + readonly closed_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + */ + readonly withdrawn_at: string | null; + readonly submission: { + /** @description Whether a private vulnerability report was accepted by the repository's administrators. */ + readonly accepted: boolean; + } | null; + vulnerabilities: components["schemas"]["repository-advisory-vulnerability"][] | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + readonly score: number | null; + } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; + readonly cwes: { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + readonly name: string; + }[] | null; + /** @description A list of only the CWE IDs. */ + cwe_ids: string[] | null; + credits: { + /** @description The username of the user credited. */ + login?: string; + type?: components["schemas"]["security-advisory-credit-types"]; + }[] | null; + readonly credits_detailed: components["schemas"]["repository-advisory-credit"][] | null; + /** @description A list of users that collaborate on the advisory. */ + collaborating_users: components["schemas"]["simple-user"][] | null; + /** @description A list of teams that collaborate on the advisory. */ + collaborating_teams: components["schemas"]["team"][] | null; + /** @description A temporary private fork of the advisory's repository for collaborating on a fix. */ + readonly private_fork: components["schemas"]["simple-repository"] | 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 macOS 12 core runner machines. */ + macos_12_core?: number; + /** @description Total minutes used on all runner machines. */ + total?: number; + }; + }; + "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; + }; + /** + * Hosted compute network configuration + * @description A hosted compute network configuration. + */ + "network-configuration": { + /** + * @description The unique identifier of the network configuration. + * @example 123ABC456DEF789 + */ + id: string; + /** + * @description The name of the network configuration. + * @example my-network-configuration + */ + name: string; + /** + * @description The hosted compute service the network configuration supports. + * @enum {string} + */ + compute_service?: "none" | "actions" | "codespaces"; + /** + * @description The unique identifier of each network settings in the configuration. + * @example 123ABC456DEF789 + */ + network_settings_ids?: string[]; + /** + * Format: date-time + * @description The time at which the network configuration was created, in ISO 8601 format. + * @example 2024-04-26T11:31:07Z + */ + created_on: string | null; + }; + /** + * Hosted compute network settings resource + * @description A hosted compute network settings resource. + */ + "network-settings": { + /** + * @description The unique identifier of the network settings resource. + * @example 220F78DACB92BBFBC5E6F22DE1CCF52309D + */ + id: string; + /** + * @description The identifier of the network configuration that is using this settings resource. + * @example 934E208B3EE0BD60CF5F752C426BFB53562 + */ + network_configuration_id?: string; + /** + * @description The name of the network settings resource. + * @example my-network-settings + */ + name: string; + /** + * @description The subnet this network settings resource is configured for. + * @example /subscriptions/14839728-3ad9-43ab-bd2b-fa6ad0f75e2a/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/my-subnet + */ + subnet_id: string; + /** + * @description The location of the subnet this network settings resource is configured for. + * @example eastus + */ + region: string; + }; + /** + * Team Organization + * @description Team Organization + */ + "team-organization": { + /** @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; + /** @example false */ + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_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 The notification setting the team has set + * @example notifications_enabled + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @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"]["team-organization"]; + /** + * @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 owners. + * @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; + 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; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + * @example false + */ + web_commit_signoff_required: 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; + /** + * Format: int64 + * @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"]; + code_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"]; + dependency_sbom?: components["schemas"]["rate-limit"]; + code_scanning_autofix?: components["schemas"]["rate-limit"]; + }; + rate: components["schemas"]["rate-limit"]; + }; + /** + * 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; + /** + * @description The SHA256 digest of the artifact. This field will only be populated on artifacts uploaded with upload-artifact v4 or newer. For older versions, this field will be null. + * @example sha256:cfc3236bdad15b5898bca8408945c9e19e1917da8704adc20eaa618444290a8c + */ + digest?: 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" | "waiting" | "requested" | "pending"; + /** + * @description The outcome of the job. + * @example success + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; + /** + * Format: date-time + * @description The time that the job created, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + created_at: string; + /** + * 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; + /** + * @description The name of the workflow. + * @example Build + */ + workflow_name: string | null; + /** + * @description The name of the current branch. + * @example main + */ + head_branch: string | null; + }; + /** + * Actions OIDC subject customization for a repository + * @description Actions OIDC subject customization for a repository + */ + "oidc-custom-sub-repo": { + /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ + use_default: boolean; + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys?: string[]; + }; + /** + * 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; + }; + /** Actions Variable */ + "actions-variable": { + /** + * @description The name of the variable. + * @example USERNAME + */ + name: string; + /** + * @description The value of the variable. + * @example octocat + */ + value: string; + /** + * Format: date-time + * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + updated_at: string; + }; + /** @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 the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repositories only. `organization` level access allows sharing across the organization. + * @enum {string} + */ + access_level: "none" | "user" | "organization"; + }; + /** + * 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": { + /** Format: int64 */ + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + /** Format: int64 */ + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + /** Format: int64 */ + id: number; + url: string; + name: string; + }; + }; + }; + /** + * Simple Commit + * @description A commit. + */ + "nullable-simple-commit": { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + id: string; + /** @description SHA for the commit's tree */ + tree_id: string; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + timestamp: string; + /** @description Information about the Git author */ + author: { + /** + * @description Name of the commit's author + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's author + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + /** @description Information about the Git committer */ + committer: { + /** + * @description Name of the commit's committer + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's committer + * @example monalisa.octocat@example.com + */ + 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; + /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the workflow run. The returned pull requests do not necessarily indicate pull requests that triggered the run. */ + 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; + /** + * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. + * @example Simple Workflow + */ + display_title: string; + }; + /** + * 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 or pending (with comments) + * @example approved + * @enum {string} + */ + state: "approved" | "rejected" | "pending"; + user: components["schemas"]["simple-user"]; + /** + * @description The comment submitted with the deployment review + * @example Ship it! + */ + comment: string; + }; + "review-custom-gates-comment-required": { + /** @description The name of the environment to approve or reject. */ + environment_name: string; + /** @description Comment associated with the pending deployment protection rule. **Required when state is not provided.** */ + comment: string; + }; + "review-custom-gates-state-required": { + /** @description The name of the environment to approve or reject. */ + environment_name: string; + /** + * @description Whether to approve or reject deployment to the specified environments. + * @enum {string} + */ + state: "approved" | "rejected"; + /** @description Optional comment to include with the review. */ + 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: { + /** + * Format: int64 + * @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?: components["schemas"]["simple-user"] | components["schemas"]["team"]; + }[]; + }; + /** + * 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; + /** + * Format: int64 + * @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; + }; + /** + * 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; + }; + }; + }; + /** + * Activity + * @description Activity + */ + activity: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The SHA of the commit before the activity. + * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + before: string; + /** + * @description The SHA of the commit after the activity. + * @example 827efc6d56897b048c772eb4087f854f46256132 + */ + after: string; + /** + * @description The full Git reference, formatted as `refs/heads/`. + * @example refs/heads/main + */ + ref: string; + /** + * Format: date-time + * @description The time when the activity occurred. + * @example 2011-01-26T19:06:43Z + */ + timestamp: string; + /** + * @description The type of the activity that was performed. + * @example force_push + * @enum {string} + */ + activity_type: "push" | "force_push" | "branch_deletion" | "branch_creation" | "pr_merge" | "merge_queue_merge"; + actor: components["schemas"]["nullable-simple-user"]; + }; + /** + * 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 only matches numeric characters. + * @example true + */ + is_alphanumeric: boolean; + }; + /** + * Check Dependabot security updates + * @description Check Dependabot security updates + */ + "check-automated-security-fixes": { + /** + * @description Whether Dependabot security updates are enabled for the repository. + * @example true + */ + enabled: boolean; + /** + * @description Whether Dependabot security updates are paused for the repository. + * @example false + */ + paused: 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; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. + * @default false + * @example true + */ + require_last_push_approval: boolean; + }; + /** + * 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; + /** Format: int64 */ + 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; + user_view_type?: string; + }[]; + teams: { + id?: number; + node_id?: string; + url?: string; + html_url?: string; + name?: string; + slug?: string; + description?: string | null; + privacy?: string; + notification_setting?: 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; + /** @example public */ + user_view_type?: string; + }; + name?: string; + client_id?: 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; + }; + /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ + lock_branch?: { + /** @default false */ + enabled: boolean; + }; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ + allow_fork_syncing?: { + /** @default false */ + 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; + verified_at: 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"]["simple-user"] | components["schemas"]["empty-object"]) | null; + committer: (components["schemas"]["simple-user"] | components["schemas"]["empty-object"]) | null; + 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; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. + * @default false + */ + require_last_push_approval: boolean; + 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; + }; + /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ + lock_branch?: { + /** @default false */ + enabled: boolean; + }; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ + allow_fork_syncing?: { + /** @default false */ + 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": { + /** + * Format: int64 + * @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. Statuses of waiting, requested, and pending are reserved for GitHub Actions check runs. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; + /** + * @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"]; + /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the check. The returned pull requests do not necessarily indicate pull requests that triggered the check. */ + 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 A commit. + */ + "simple-commit": { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + id: string; + /** @description SHA for the commit's tree */ + tree_id: string; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + timestamp: string; + /** @description Information about the Git author */ + author: { + /** + * @description Name of the commit's author + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's author + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + /** @description Information about the Git committer */ + committer: { + /** + * @description Name of the commit's committer + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's committer + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + }; + /** + * CheckSuite + * @description A suite of checks performed on the code of a given code change + */ + "check-suite": { + /** + * Format: int64 + * @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; + /** + * @description The phase of the lifecycle that the check suite is currently in. Statuses of waiting, requested, and pending are reserved for GitHub Actions check suites. + * @example completed + * @enum {string|null} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending" | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "startup_failure" | "stale" | 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-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"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["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"]; + dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; + }; + "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 A 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 A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + }; + "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"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["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"]; + dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; + }; + /** + * @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 If `true`, attempt to create an alert dismissal request. */ + "code-scanning-alert-create-request": boolean; + /** + * @description The status of an autofix. + * @enum {string} + */ + "code-scanning-autofix-status": "pending" | "error" | "success" | "outdated"; + /** @description The description of an autofix. */ + "code-scanning-autofix-description": string | null; + /** + * Format: date-time + * @description The start time of an autofix in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-autofix-started-at": string; + "code-scanning-autofix": { + status: components["schemas"]["code-scanning-autofix-status"]; + description: components["schemas"]["code-scanning-autofix-description"]; + started_at: components["schemas"]["code-scanning-autofix-started-at"]; + }; + /** @description Commit an autofix for a code scanning alert */ + "code-scanning-autofix-commits": { + /** @description The Git reference of target branch for the commit. Branch needs to already exist. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + target_ref?: string; + /** @description Commit message to be used. */ + message?: string; + } | null; + "code-scanning-autofix-commits-response": { + /** @description The Git reference of target branch for the commit. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + target_ref?: string; + /** @description SHA of commit with autofix. */ + sha?: string; + }; + /** + * @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 + */ + readonly next_analysis_url: string | null; + /** + * Format: uri + * @description Next deletable analysis in chain, with last analysis deletion confirmation + */ + readonly confirm_delete_url: string | null; + }; + /** + * CodeQL Database + * @description A CodeQL database. + */ + "code-scanning-codeql-database": { + /** @description The ID of the CodeQL database. */ + id: number; + /** @description The name of the CodeQL database. */ + name: string; + /** @description The language of the CodeQL database. */ + language: string; + uploader: components["schemas"]["simple-user"]; + /** @description The MIME type of the CodeQL database file. */ + content_type: string; + /** @description The size of the CodeQL database file in bytes. */ + size: number; + /** + * Format: date-time + * @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * Format: uri + * @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property. + */ + url: string; + /** @description The commit SHA of the repository at the time the CodeQL database was created. */ + commit_oid?: string | null; + }; + /** + * @description The language targeted by the CodeQL query + * @enum {string} + */ + "code-scanning-variant-analysis-language": "cpp" | "csharp" | "go" | "java" | "javascript" | "python" | "ruby" | "rust" | "swift"; + /** + * Repository Identifier + * @description Repository Identifier + */ + "code-scanning-variant-analysis-repository": { + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @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; + /** @description Whether the repository is private. */ + private: boolean; + /** @example 80 */ + stargazers_count: number; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + }; + /** + * @description The new status of the CodeQL variant analysis repository task. + * @enum {string} + */ + "code-scanning-variant-analysis-status": "pending" | "in_progress" | "succeeded" | "failed" | "canceled" | "timed_out"; + "code-scanning-variant-analysis-skipped-repo-group": { + /** + * @description The total number of repositories that were skipped for this reason. + * @example 2 + */ + repository_count: number; + /** @description A list of repositories that were skipped. This list may not include all repositories that were skipped. This is only available when the repository was found and the user has access to it. */ + repositories: components["schemas"]["code-scanning-variant-analysis-repository"][]; + }; + /** + * Variant Analysis + * @description A run of a CodeQL query against one or more repositories. + */ + "code-scanning-variant-analysis": { + /** @description The ID of the variant analysis. */ + id: number; + controller_repo: components["schemas"]["simple-repository"]; + actor: components["schemas"]["simple-user"]; + query_language: components["schemas"]["code-scanning-variant-analysis-language"]; + /** @description The download url for the query pack. */ + query_pack_url: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at?: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at?: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis was completed, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. Will be null if the variant analysis has not yet completed or this information is not available. + */ + completed_at?: string | null; + /** @enum {string} */ + status: "in_progress" | "succeeded" | "failed" | "cancelled"; + /** @description The GitHub Actions workflow run used to execute this variant analysis. This is only available if the workflow run has started. */ + actions_workflow_run_id?: number; + /** + * @description The reason for a failure of the variant analysis. This is only available if the variant analysis has failed. + * @enum {string} + */ + failure_reason?: "no_repos_queried" | "actions_workflow_run_failed" | "internal_error"; + scanned_repositories?: { + repository: components["schemas"]["code-scanning-variant-analysis-repository"]; + analysis_status: components["schemas"]["code-scanning-variant-analysis-status"]; + /** @description The number of results in the case of a successful analysis. This is only available for successful analyses. */ + result_count?: number; + /** @description The size of the artifact. This is only available for successful analyses. */ + artifact_size_in_bytes?: number; + /** @description The reason of the failure of this repo task. This is only available if the repository task has failed. */ + failure_message?: string; + }[]; + /** @description Information about repositories that were skipped from processing. This information is only available to the user that initiated the variant analysis. */ + skipped_repositories?: { + access_mismatch_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + not_found_repos: { + /** + * @description The total number of repositories that were skipped for this reason. + * @example 2 + */ + repository_count: number; + /** @description A list of full repository names that were skipped. This list may not include all repositories that were skipped. */ + repository_full_names: string[]; + }; + no_codeql_db_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + over_limit_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + }; + }; + "code-scanning-variant-analysis-repo-task": { + repository: components["schemas"]["simple-repository"]; + analysis_status: components["schemas"]["code-scanning-variant-analysis-status"]; + /** @description The size of the artifact. This is only available for successful analyses. */ + artifact_size_in_bytes?: number; + /** @description The number of results in the case of a successful analysis. This is only available for successful analyses. */ + result_count?: number; + /** @description The reason of the failure of this repo task. This is only available if the repository task has failed. */ + failure_message?: string; + /** @description The SHA of the commit the CodeQL database was built against. This is only available for successful analyses. */ + database_commit_sha?: string; + /** @description The source location prefix to use. This is only available for successful analyses. */ + source_location_prefix?: string; + /** @description The URL of the artifact. This is only available for successful analyses. */ + artifact_url?: string; + }; + /** @description Configuration for code scanning default setup. */ + "code-scanning-default-setup": { + /** + * @description Code scanning default setup has been configured or not. + * @enum {string} + */ + state?: "configured" | "not-configured"; + /** @description Languages to be analyzed. */ + languages?: ("actions" | "c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "javascript" | "python" | "ruby" | "typescript" | "swift")[]; + /** + * @description Runner type to be used. + * @enum {string|null} + */ + runner_type?: "standard" | "labeled" | null; + /** + * @description Runner label to be used if the runner type is labeled. + * @example code-scanning + */ + runner_label?: string | null; + /** + * @description CodeQL query suite to be used. + * @enum {string} + */ + query_suite?: "default" | "extended"; + /** + * @description Threat model to be used for code scanning analysis. Use `remote` to analyze only network sources and `remote_and_local` to include local sources like filesystem access, command-line arguments, database reads, environment variable and standard input. + * @enum {string} + */ + threat_model?: "remote" | "remote_and_local"; + /** + * Format: date-time + * @description Timestamp of latest configuration update. + * @example 2023-12-06T14:20:20.000Z + */ + updated_at?: string | null; + /** + * @description The frequency of the periodic analysis. + * @enum {string|null} + */ + schedule?: "weekly" | null; + }; + /** @description Configuration for code scanning default setup. */ + "code-scanning-default-setup-update": { + /** + * @description The desired state of code scanning default setup. + * @enum {string} + */ + state?: "configured" | "not-configured"; + /** + * @description Runner type to be used. + * @enum {string} + */ + runner_type?: "standard" | "labeled"; + /** + * @description Runner label to be used if the runner type is labeled. + * @example code-scanning + */ + runner_label?: string | null; + /** + * @description CodeQL query suite to be used. + * @enum {string} + */ + query_suite?: "default" | "extended"; + /** + * @description Threat model to be used for code scanning analysis. Use `remote` to analyze only network sources and `remote_and_local` to include local sources like filesystem access, command-line arguments, database reads, environment variable and standard input. + * @enum {string} + */ + threat_model?: "remote" | "remote_and_local"; + /** @description CodeQL languages to be analyzed. */ + languages?: ("actions" | "c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "python" | "ruby" | "swift")[]; + }; + /** @description You can use `run_url` to track the status of the run. This includes a property status and conclusion. + * You should not rely on this always being an actions workflow run object. */ + "code-scanning-default-setup-update-response": { + /** @description ID of the corresponding run. */ + run_id?: number; + /** @description URL of the corresponding run. */ + run_url?: string; + }; + /** + * @description The full Git reference, formatted as `refs/heads/`, + * `refs/tags/`, `refs/pull//merge`, or `refs/pull//head`. + * @example refs/heads/main + */ + "code-scanning-ref-full": string; + /** @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. + */ + readonly 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. + */ + readonly analyses_url?: string | null; + /** @description Any errors that ocurred during processing of the delivery. */ + readonly errors?: string[] | null; + }; + /** @description Code security configuration associated with a repository and attachment status */ + "code-security-configuration-for-repository": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + /** + * 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, 16 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 17179869184 + */ + 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 Permissions Check + * @description Permission check result for a given devcontainer config. + */ + "codespaces-permissions-check-for-devcontainer": { + /** + * @description Whether the user has accepted the permissions defined by the devcontainer config + * @example true + */ + accepted: boolean; + }; + /** + * 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; + }; + /** + * Collaborator + * @description Collaborator + */ + collaborator: { + /** @example octocat */ + login: string; + /** + * Format: int64 + * @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; + /** @example public */ + user_view_type?: string; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-invitation": { + /** + * Format: int64 + * @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; + /** + * Format: int64 + * @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; + /** @example public */ + user_view_type?: 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; + /** + * Format: int64 + * @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 | null; + 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 | null; + target_url: string | null; + 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; + content?: 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; + 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; + }; + }[]; + encoding?: string; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * Content Directory + * @description A list of directory items + */ + "content-directory": { + /** @enum {string} */ + type: "dir" | "file" | "submodule" | "symlink"; + 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": { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "file"; + 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": { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "symlink"; + 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; + }; + }; + /** + * Submodule Content + * @description An object describing a submodule + */ + "content-submodule": { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "submodule"; + /** 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; + verified_at?: string | null; + }; + }; + }; + /** @description The ID of the push protection bypass placeholder. This value is returned on any push protected routes. */ + "secret-scanning-push-protection-bypass-placeholder-id": string; + /** @description Repository rule violation was detected */ + "repository-rule-violation-error": { + message?: string; + documentation_url?: string; + status?: string; + metadata?: { + secret_scanning?: { + bypass_placeholders?: { + placeholder_id?: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + token_type?: string; + }[]; + }; + }; + }; + /** + * 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; + user_view_type?: string; + }; + /** @description A Dependabot alert. */ + "dependabot-alert": { + number: components["schemas"]["alert-number"]; + /** + * @description The state of the Dependabot alert. + * @enum {string} + */ + readonly state: "auto_dismissed" | "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + readonly dependency: { + package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; + /** + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} + */ + readonly scope?: "development" | "runtime" | null; + /** + * @description The vulnerable dependency's relationship to your project. + * + * > [!NOTE] + * > We are rolling out support for dependency relationship across ecosystems. This value will be "unknown" for all dependencies in unsupported ecosystems. + * + * @enum {string|null} + */ + readonly relationship?: "unknown" | "direct" | "transitive" | null; + }; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | null; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: string | null; + fixed_at: components["schemas"]["alert-fixed-at"]; + auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; + }; + /** + * 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; + }[]; + /** + * @description Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment. + * @enum {string} + */ + scope: "unknown" | "runtime" | "development"; + }[]; + /** + * Dependency Graph SPDX SBOM + * @description A schema for the SPDX JSON format returned by the Dependency Graph. + */ + "dependency-graph-spdx-sbom": { + sbom: { + /** + * @description The SPDX identifier for the SPDX document. + * @example SPDXRef-DOCUMENT + */ + SPDXID: string; + /** + * @description The version of the SPDX specification that this document conforms to. + * @example SPDX-2.3 + */ + spdxVersion: string; + /** + * @description An optional comment about the SPDX document. + * @example Exact versions could not be resolved for some packages. For more information: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/ + */ + comment?: string; + creationInfo: { + /** + * @description The date and time the SPDX document was created. + * @example 2021-11-03T00:00:00Z + */ + created: string; + /** @description The tools that were used to generate the SPDX document. */ + creators: string[]; + }; + /** + * @description The name of the SPDX document. + * @example github/github + */ + name: string; + /** + * @description The license under which the SPDX document is licensed. + * @example CC0-1.0 + */ + dataLicense: string; + /** + * @description The namespace for the SPDX document. + * @example https://spdx.org/spdxdocs/protobom/15e41dd2-f961-4f4d-b8dc-f8f57ad70d57 + */ + documentNamespace: string; + packages: { + /** + * @description A unique SPDX identifier for the package. + * @example SPDXRef-Package + */ + SPDXID?: string; + /** + * @description The name of the package. + * @example github/github + */ + name?: string; + /** + * @description The version of the package. If the package does not have an exact version specified, + * a version range is given. + * @example 1.0.0 + */ + versionInfo?: string; + /** + * @description The location where the package can be downloaded, + * or NOASSERTION if this has not been determined. + * @example NOASSERTION + */ + downloadLocation?: string; + /** + * @description Whether the package's file content has been subjected to + * analysis during the creation of the SPDX document. + * @example false + */ + filesAnalyzed?: boolean; + /** + * @description The license of the package as determined while creating the SPDX document. + * @example MIT + */ + licenseConcluded?: string; + /** + * @description The license of the package as declared by its author, or NOASSERTION if this information + * was not available when the SPDX document was created. + * @example NOASSERTION + */ + licenseDeclared?: string; + /** + * @description The distribution source of this package, or NOASSERTION if this was not determined. + * @example NOASSERTION + */ + supplier?: string; + /** + * @description The copyright holders of the package, and any dates present with those notices, if available. + * @example Copyright (c) 1985 GitHub.com + */ + copyrightText?: string; + externalRefs?: { + /** + * @description The category of reference to an external resource this reference refers to. + * @example PACKAGE-MANAGER + */ + referenceCategory: string; + /** + * @description A locator for the particular external resource this reference refers to. + * @example pkg:gem/rails@6.0.1 + */ + referenceLocator: string; + /** + * @description The category of reference to an external resource this reference refers to. + * @example purl + */ + referenceType: string; + }[]; + }[]; + relationships?: { + /** + * @description The type of relationship between the two SPDX elements. + * @example DEPENDS_ON + */ + relationshipType?: string; + /** @description The SPDX identifier of the package that is the source of the relationship. */ + spdxElementId?: string; + /** @description The SPDX identifier of the package that is the target of the relationship. */ + relatedSpdxElement?: string; + }[]; + }; + }; + /** + * metadata + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + metadata: { + [key: string]: (string | number | boolean) | null; + }; + 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 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"]; + /** @description A collection of resolved package dependencies. */ + 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. Maximum length: 40 characters. + * @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, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ + 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; + /** + * Format: int64 + * @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 Closing down notice: 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-settings": { + /** @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: { + /** + * Format: int64 + * @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 Built-in deployment protection rules for the environment. */ + protection_rules?: ({ + /** @example 3515 */ + id: number; + /** @example MDQ6R2F0ZTM1MTU= */ + node_id: string; + /** @example wait_timer */ + type: string; + wait_timer?: components["schemas"]["wait-timer"]; + } | { + /** @example 3755 */ + id: number; + /** @example MDQ6R2F0ZTM3NTU= */ + node_id: string; + /** + * @description Whether deployments to this environment can be approved by the user who created the deployment. + * @example false + */ + prevent_self_review?: boolean; + /** @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?: components["schemas"]["simple-user"] | components["schemas"]["team"]; + }[]; + } | { + /** @example 3515 */ + id: number; + /** @example MDQ6R2F0ZTM1MTU= */ + node_id: string; + /** @example branch_policy */ + type: string; + })[]; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; + }; + /** + * @description Whether or not a user who created the job is prevented from approving their own job. + * @example false + */ + "prevent-self-review": boolean; + /** + * Deployment branch policy + * @description Details of a deployment branch or tag policy. + */ + "deployment-branch-policy": { + /** + * @description The unique identifier of the branch or tag policy. + * @example 361471 + */ + id?: number; + /** @example MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzE= */ + node_id?: string; + /** + * @description The name pattern that branches or tags must match in order to deploy to the environment. + * @example release/* + */ + name?: string; + /** + * @description Whether this rule targets a branch or tag. + * @example branch + * @enum {string} + */ + type?: "branch" | "tag"; + }; + /** Deployment branch and tag policy name pattern */ + "deployment-branch-policy-name-pattern-with-type": { + /** + * @description The name pattern that branches or tags must match in order to deploy to the environment. + * + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. + * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + * @example release/* + */ + name: string; + /** + * @description Whether this rule targets a branch or tag + * @example branch + * @enum {string} + */ + type?: "branch" | "tag"; + }; + /** Deployment branch policy name pattern */ + "deployment-branch-policy-name-pattern": { + /** + * @description The name pattern that branches must match in order to deploy to the environment. + * + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. + * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + * @example release/* + */ + name: string; + }; + /** + * Custom deployment protection rule app + * @description A GitHub App that is providing a custom deployment protection rule. + */ + "custom-deployment-rule-app": { + /** + * @description The unique identifier of the deployment protection rule integration. + * @example 3515 + */ + id: number; + /** + * @description The slugified name of the deployment protection rule integration. + * @example my-custom-app + */ + slug: string; + /** + * @description The URL for the endpoint to get details about the app. + * @example https://api.github.com/apps/custom-app-slug + */ + integration_url: string; + /** + * @description The node ID for the deployment protection rule integration. + * @example MDQ6R2F0ZTM1MTU= + */ + node_id: string; + }; + /** + * Deployment protection rule + * @description Deployment protection rule + */ + "deployment-protection-rule": { + /** + * @description The unique identifier for the deployment protection rule. + * @example 3515 + */ + id: number; + /** + * @description The node ID for the deployment protection rule. + * @example MDQ6R2F0ZTM1MTU= + */ + node_id: string; + /** + * @description Whether the deployment protection rule is enabled for the environment. + * @example true + */ + enabled: boolean; + app: components["schemas"]["custom-deployment-rule-app"]; + }; + /** + * 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; + verified_at: 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" + * } + * ] + */ + 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: components["schemas"]["webhook-config"]; + /** + * 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": { + /** Format: int64 */ + 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 + * @enum {string|null} + */ + state_reason?: "completed" | "reopened" | "not_planned" | "duplicate" | 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; + type?: components["schemas"]["issue-type"]; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + } | 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": { + /** + * Format: int64 + * @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": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["assigned-issue-event"] | components["schemas"]["unassigned-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"]; + /** + * Label + * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). + */ + label: { + /** + * Format: int64 + * @description Unique identifier for the label. + * @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; + /** + * @description Optional description of the label, such as its purpose. + * @example Something isn't working + */ + description: string | null; + /** + * @description 6-character hex code, without the leading #, identifying the color + * @example FFFFFF + */ + color: string; + /** + * @description Whether this label comes by default in a new repository. + * @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; + verified_at: 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; + /** + * Format: int64 + * @description The ID of the pull request review to which the comment belongs. + * @example 42 + */ + pull_request_review_id: number | null; + /** + * Format: int64 + * @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 closing down; 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 closing down; 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"; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + 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": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"] | components["schemas"]["timeline-comment-event"] | components["schemas"]["timeline-cross-referenced-event"] | components["schemas"]["timeline-committed-event"] | components["schemas"]["timeline-reviewed-event"] | components["schemas"]["timeline-line-commented-event"] | components["schemas"]["timeline-commit-commented-event"] | components["schemas"]["timeline-assigned-issue-event"] | components["schemas"]["timeline-unassigned-issue-event"] | components["schemas"]["state-change-issue-event"]; + /** + * 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; + added_by?: string | null; + last_used?: string | null; + enabled?: 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; + }; + /** + * GitHub Pages + * @description The GitHub Pages deployment status. + */ + "page-deployment": { + /** @description The ID of the GitHub Pages deployment. This is the Git SHA of the deployed commit. */ + id: number | string; + /** + * Format: uri + * @description The URI to monitor GitHub Pages deployment status. + * @example https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251 + */ + status_url: string; + /** + * Format: uri + * @description The URI to the deployed GitHub Pages. + * @example hello-world.github.io + */ + page_url: string; + /** + * Format: uri + * @description The URI to the deployed GitHub Pages preview. + * @example monalisa-1231a2312sa32-23sda74.drafts.github.io + */ + preview_url?: string; + }; + /** GitHub Pages deployment status */ + "pages-deployment-status": { + /** + * @description The current status of the deployment. + * @enum {string} + */ + status?: "deployment_in_progress" | "syncing_files" | "finished_file_sync" | "updating_pages" | "purging_cdn" | "deployment_cancelled" | "deployment_failed" | "deployment_content_failed" | "deployment_attempt_error" | "deployment_lost" | "succeed"; + }; + /** + * 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; + }; + /** + * 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; + /** + * Format: int64 + * @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"]["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: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["simple-user"]; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["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; + 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": { + /** + * Format: int64 + * @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. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`. + * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 + */ + commit_id: string | null; + 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; + /** + * Format: int64 + * @example 42 + */ + pull_request_review_id: number | null; + /** + * Format: int64 + * @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; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + }; + /** + * 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; + digest: string | null; + 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; + /** + * @description Whether or not the release is immutable. + * @example false + */ + immutable?: 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; + }; + /** + * repository ruleset data for rule + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + "repository-rule-ruleset-info": { + /** + * @description The type of source for the ruleset that includes this rule. + * @enum {string} + */ + ruleset_source_type?: "Repository" | "Organization"; + /** @description The name of the source of the ruleset that includes this rule. */ + ruleset_source?: string; + /** @description The ID of the ruleset that includes this rule. */ + ruleset_id?: number; + }; + /** + * Repository Rule + * @description A repository rule with ruleset details. + */ + "repository-rule-detailed": (components["schemas"]["repository-rule-creation"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-update"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-deletion"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-linear-history"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-merge-queue"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-deployments"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-signatures"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-pull-request"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-status-checks"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-non-fast-forward"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-message-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-author-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-committer-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-branch-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-tag-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-file-path-restriction"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-max-file-path-length"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-file-extension-restriction"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-max-file-size"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-workflows"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-code-scanning"] & components["schemas"]["repository-rule-ruleset-info"]); + "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 An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @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 "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ + 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; + push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment when reviewing a push protection bypass. */ + push_protection_bypass_request_reviewer_comment?: string | null; + /** @description An optional comment when requesting a push protection bypass. */ + push_protection_bypass_request_comment?: string | null; + /** + * Format: uri + * @description The URL to a push protection bypass request. + */ + push_protection_bypass_request_html_url?: string | null; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @description Whether the detected secret was publicly leaked. */ + publicly_leaked?: boolean | null; + /** @description Whether the detected secret was found in multiple repositories under the same organization or enterprise. */ + multi_repo?: boolean | null; + /** @description A boolean value representing whether or not alert is base64 encoded */ + is_base64_encoded?: boolean | null; + first_location_detected?: components["schemas"]["nullable-secret-scanning-first-detected-location"]; + /** @description A boolean value representing whether or not the token in the alert was detected in more than one location. */ + has_more_locations?: boolean; + }; + /** @description An optional comment when closing or reopening an alert. Cannot be updated or deleted. */ + "secret-scanning-alert-resolution-comment": string | null; + "secret-scanning-location": { + /** + * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues, pull requests, discussions), this field identifies the type of resource where the secret was found. + * @example commit + * @enum {string} + */ + type?: "commit" | "wiki_commit" | "issue_title" | "issue_body" | "issue_comment" | "discussion_title" | "discussion_body" | "discussion_comment" | "pull_request_title" | "pull_request_body" | "pull_request_comment" | "pull_request_review" | "pull_request_review_comment"; + details?: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]; + }; + /** + * @description The reason for bypassing push protection. + * @enum {string} + */ + "secret-scanning-push-protection-bypass-reason": "false_positive" | "used_in_tests" | "will_fix_later"; + "secret-scanning-push-protection-bypass": { + reason?: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + /** + * Format: date-time + * @description The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + expire_at?: string | null; + /** @description The token type this bypass is for. */ + token_type?: string; + }; + /** @description Information on a single scan performed by secret scanning on the repository */ + "secret-scanning-scan": { + /** @description The type of scan */ + type?: string; + /** @description The state of the scan. Either "completed", "running", or "pending" */ + status?: string; + /** + * Format: date-time + * @description The time that the scan was completed. Empty if the scan is running + */ + completed_at?: string | null; + /** + * Format: date-time + * @description The time that the scan was started. Empty if the scan is pending + */ + started_at?: string | null; + }; + "secret-scanning-scan-history": { + incremental_scans?: components["schemas"]["secret-scanning-scan"][]; + pattern_update_scans?: components["schemas"]["secret-scanning-scan"][]; + backfill_scans?: components["schemas"]["secret-scanning-scan"][]; + custom_pattern_backfill_scans?: (components["schemas"]["secret-scanning-scan"] & { + /** @description Name of the custom pattern for custom pattern scans */ + pattern_name?: string; + /** @description Level at which the custom pattern is defined, one of "repository", "organization", or "enterprise" */ + pattern_scope?: string; + })[]; + }; + "repository-advisory-create": { + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory impacts. */ + description: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id?: string | null; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[]; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** @description A list of users receiving credit for their participation in the security advisory. */ + credits?: { + /** @description The username of the user credited. */ + login: string; + type: components["schemas"]["security-advisory-credit-types"]; + }[] | null; + /** + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description Whether to create a temporary private fork of the repository to collaborate on a fix. + * @default false + */ + start_private_fork: boolean; + }; + "private-vulnerability-report-create": { + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory impacts. */ + description: string; + /** @description An array of products affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities?: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[] | null; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description Whether to create a temporary private fork of the repository to collaborate on a fix. + * @default false + */ + start_private_fork: boolean; + }; + "repository-advisory-update": { + /** @description A short summary of the advisory. */ + summary?: string; + /** @description A detailed description of what the advisory impacts. */ + description?: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id?: string | null; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities?: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[]; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** @description A list of users receiving credit for their participation in the security advisory. */ + credits?: { + /** @description The username of the user credited. */ + login: string; + type: components["schemas"]["security-advisory-credit-types"]; + }[] | null; + /** + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description The state of the advisory. + * @enum {string} + */ + state?: "published" | "closed" | "draft"; + /** @description A list of usernames who have been granted write access to the advisory. */ + collaborating_users?: string[] | null; + /** @description A list of team slugs which have been granted write access to the advisory. */ + collaborating_teams?: string[] | null; + }; + /** + * 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"][]; + }; + /** 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; + /** Format: int64 */ + 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; + }[]; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + 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; + type?: components["schemas"]["issue-type"]; + 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; + has_discussions?: 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; + /** @example false */ + web_commit_signoff_required?: 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; + /** Format: int64 */ + 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; + user_view_type?: string; + }; + /** + * Private User + * @description Private User + */ + "private-user": { + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + user_view_type: "private"; + /** @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 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; + /** + * Format: email + * @example octocat@github.com + */ + notification_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; + }; + 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; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to 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; + }; + /** + * Codespace + * @description A codespace. + */ + "codespace-with-full-repository": { + /** + * Format: int64 + * @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"]["full-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 initally assigned location of a new codespace. + * @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 to publish this codespace to a new repository. + */ + publish_url?: string | null; + /** + * 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; + /** + * @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). + * @example 60 + */ + retention_period_minutes?: number | null; + /** + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" + * @example 2011-01-26T20:01:12Z + */ + retention_expires_at?: 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": { + /** + * Format: int64 + * @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": [], + * "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: { + /** Format: int64 */ + id?: number; + primary_key_id?: number; + key_id?: string; + public_key?: string; + emails?: { + email?: string; + verified?: boolean; + }[]; + 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; + /** Format: int64 */ + 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"]; + }; + /** + * Social account + * @description Social media account + */ + "social-account": { + /** @example linkedin */ + provider: string; + /** @example https://www.linkedin.com/company/github/ */ + url: string; + }; + /** + * SSH Signing Key + * @description A public SSH key used to sign Git commits + */ + "ssh-signing-key": { + key: string; + id: number; + title: string; + /** Format: date-time */ + created_at: string; + }; + /** + * 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; + /** Format: date-time */ + created_at?: string; + }; + "billing-usage-report-user": { + usageItems?: { + /** @description Date of the usage line item. */ + date: string; + /** @description Product name. */ + product: string; + /** @description SKU name. */ + sku: string; + /** @description Quantity of the usage line item. */ + quantity: number; + /** @description Unit type of the usage line item. */ + unitType: string; + /** @description Price per unit of the usage line item. */ + pricePerUnit: number; + /** @description Gross amount of the usage line item. */ + grossAmount: number; + /** @description Discount amount of the usage line item. */ + discountAmount: number; + /** @description Net amount of the usage line item. */ + netAmount: number; + /** @description Name of the repository. */ + repositoryName?: string; + }[]; + }; + /** + * Enterprise + * @description An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + * on an enterprise account or an organization that's part of an enterprise account. For more information, + * see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + */ + "enterprise-webhooks": { + /** @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; + }; + /** + * Simple Installation + * @description The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + * for and sent to a GitHub App. For more information, + * see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + */ + "simple-installation": { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + /** + * @description The global node ID of the installation. + * @example MDQ6VXNlcjU4MzIzMQ== + */ + node_id: string; + }; + /** + * Organization Simple + * @description A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + * organization, or when the event occurs from activity in a repository owned by an organization. + */ + "organization-simple-webhooks": { + /** @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; + }; + /** + * Repository + * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + * when the event occurs from activity in a repository. + */ + "repository-webhooks": { + /** + * Format: int64 + * @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; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @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 The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** + * @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 discussions are enabled. + * @default false + * @example true + */ + has_discussions: 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; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + 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; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @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; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + webhooks_rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: string[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + /** + * @description The enforcement level of the branch lock setting. `off` means the branch is not locked, `non_admins` means the branch is read-only for non_admins, and `everyone` means the branch is read-only for everyone. + * @enum {string} + */ + lock_branch_enforcement_level: "off" | "non_admins" | "everyone"; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow users to pull changes from upstream when the branch is locked. This setting is only applicable for forks. */ + lock_allows_fork_sync?: boolean; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + /** @description A suite of checks performed on the code of a given code change */ + "simple-check-suite": { + /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ + after?: string | null; + app?: components["schemas"]["integration"]; + /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ + before?: string | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "stale" | "startup_failure" | null; + /** Format: date-time */ + created_at?: string; + /** @example master */ + head_branch?: string | null; + /** + * @description The SHA of the head commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha?: string; + /** @example 5 */ + id?: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id?: string; + pull_requests?: components["schemas"]["pull-request-minimal"][]; + repository?: components["schemas"]["minimal-repository"]; + /** + * @example completed + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; + /** Format: date-time */ + updated_at?: string; + /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ + url?: string; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run-with-simple-check-suite": { + app: components["schemas"]["integration"]; + check_suite: components["schemas"]["simple-check-suite"]; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + completed_at: string | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: "waiting" | "pending" | "startup_failure" | "stale" | "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; + deployment?: components["schemas"]["deployment-simple"]; + /** @example https://example.com */ + details_url: string; + /** @example 42 */ + external_id: string; + /** + * @description The SHA of the commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string; + /** + * @description The id of the check. + * @example 21 + */ + id: number; + /** + * @description The name of the check. + * @example test-coverage + */ + name: string; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + output: { + annotations_count: number; + /** Format: uri */ + annotations_url: string; + summary: string | null; + text: string | null; + title: string | null; + }; + pull_requests: components["schemas"]["pull-request-minimal"][]; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + started_at: string; + /** + * @description The phase of the lifecycle that the check is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "pending"; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + webhooks_code_scanning_commit_oid: string; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + webhooks_code_scanning_ref: string; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + webhooks_deploy_pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ + webhooks_ref_0: string; + /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ + webhooks_deploy_key: { + added_by?: string | null; + created_at: string; + id: number; + key: string; + last_used?: string | null; + read_only: boolean; + title: string; + /** Format: uri */ + url: string; + verified: boolean; + enabled?: boolean; + }; + /** Workflow */ + webhooks_workflow: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + webhooks_approver: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + webhooks_reviewers: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @enum {string} */ + type?: "User"; + }[]; + webhooks_workflow_job_run: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: unknown; + status: string; + updated_at: string; + }; + /** User */ + webhooks_user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + webhooks_answer: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + /** Format: date-time */ + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: unknown; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Discussion + * @description A Discussion in a repository. + */ + discussion: { + active_lock_reason: string | null; + answer_chosen_at: string | null; + /** User */ + answer_chosen_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + answer_html_url: string | null; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** + * @description The current state of the discussion. + * `converting` means that the discussion is being converted from an issue. + * `transferring` means that the discussion is being transferred from another repository. + * @enum {string} + */ + state: "open" | "closed" | "locked" | "converting" | "transferring"; + /** + * @description The reason for the current state + * @example resolved + * @enum {string|null} + */ + state_reason: "resolved" | "outdated" | "duplicate" | "reopened" | null; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + labels?: components["schemas"]["label"][]; + }; + webhooks_comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: number | null; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Label */ + webhooks_label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + /** @description An array of repository objects that the installation can access. */ + webhooks_repositories: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + /** @description An array of repository objects, which were added to the installation. */ + webhooks_repositories_added: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + webhooks_repository_selection: "all" | "selected"; + /** + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. + */ + webhooks_issue_comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: components["schemas"]["integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** @description The changes to the comment. */ + webhooks_changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + webhooks_issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + webhooks_milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + webhooks_issue_2: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** User */ + webhooks_user_mannequin: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Marketplace Purchase */ + webhooks_marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date: string | null; + on_free_trial: boolean; + plan: { + bullets: (string | null)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + /** Marketplace Purchase */ + webhooks_previous_marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: unknown; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + webhooks_team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** @enum {string} */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + /** + * Merge Group + * @description A group of pull requests that the merge queue has grouped together to be merged. + */ + "merge-group": { + /** @description The SHA of the merge group. */ + head_sha: string; + /** @description The full ref of the merge group. */ + head_ref: string; + /** @description The SHA of the merge group's parent commit. */ + base_sha: string; + /** @description The full ref of the branch the merge group will be merged into. */ + base_ref: string; + head_commit: components["schemas"]["simple-commit"]; + }; + /** + * Repository + * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + * when the event occurs from activity in a repository. + */ + "nullable-repository-webhooks": { + /** + * Format: int64 + * @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; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @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 The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** + * @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 discussions are enabled. + * @default false + * @example true + */ + has_discussions: 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; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + 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; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @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; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + webhooks_milestone_3: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + webhooks_membership: { + /** Format: uri */ + organization_url: string; + role: string; + /** + * @description Whether the user has direct membership in the organization. + * @example true + */ + direct_membership?: boolean; + /** + * @description The slugs of the enterprise teams providing the user with indirect membership in the organization. + * A limit of 100 enterprise team slugs is returned. + * @example [ + * "ent:team-one", + * "ent:team-two" + * ] + */ + enterprise_teams_providing_indirect_membership?: string[]; + state: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Personal Access Token Request + * @description Details of a Personal Access Token Request. + */ + "personal-access-token-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** @description New requested permissions, categorized by type of permission. */ + permissions_added: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ + permissions_upgraded: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ + permissions_result: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repository_count: number | null; + /** @description An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repositories: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[] | null; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ + token_id: number; + /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ + token_name: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** Project Card */ + webhooks_project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** Project */ + webhooks_project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** Project Column */ + webhooks_project_column: { + after_id?: number | null; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** + * Projects v2 Project + * @description A projects v2 project + */ + "projects-v2": { + id: number; + node_id: string; + owner: components["schemas"]["simple-user"]; + creator: components["schemas"]["simple-user"]; + title: string; + description: string | null; + public: boolean; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + number: number; + short_description: string | null; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + deleted_at: string | null; + deleted_by: components["schemas"]["nullable-simple-user"]; + }; + webhooks_project_changes: { + archived_at?: { + /** Format: date-time */ + from?: string | null; + /** Format: date-time */ + to?: string | null; + }; + }; + /** + * Projects v2 Item Content Type + * @description The type of content tracked in a project item + * @enum {string} + */ + "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; + /** + * Projects v2 Item + * @description An item belonging to a project + */ + "projects-v2-item": { + id: number; + node_id?: string; + project_node_id?: string; + content_node_id: string; + content_type: components["schemas"]["projects-v2-item-content-type"]; + creator?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + archived_at: string | null; + }; + /** + * Projects v2 Single Select Option + * @description An option for a single select field + */ + "projects-v2-single-select-option": { + id: string; + name: string; + color?: string | null; + description?: string | null; + }; + /** + * Projects v2 Iteration Setting + * @description An iteration setting for an iteration field + */ + "projects-v2-iteration-setting": { + id: string; + title: string; + duration?: number | null; + start_date?: string | null; + }; + /** + * Projects v2 Status Update + * @description An status update belonging to a project + */ + "projects-v2-status-update": { + id: number; + node_id: string; + project_node_id?: string; + creator?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** @enum {string|null} */ + status?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; + /** + * Format: date + * @example 2022-04-28 + */ + start_date?: string; + /** + * Format: date + * @example 2022-04-28 + */ + target_date?: string; + /** + * @description Body of the status update + * @example The project is off to a great start! + */ + body?: string | null; + }; + /** @description The pull request number. */ + webhooks_number: number; + "pull-request-webhook": components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + /** Pull Request */ + webhooks_pull_request_5: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + webhooks_review_comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + 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 level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** @description The review that was affected. */ + webhooks_review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + state: string; + /** Format: date-time */ + submitted_at: string | null; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + webhooks_nullable_string: string | null; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + webhooks_release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + digest: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + /** @description Whether or not the release is immutable. */ + immutable: boolean; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + webhooks_release_1: { + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + digest: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + } | null)[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + /** @description Whether or not the release is immutable. */ + immutable: boolean; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + webhooks_alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open"; + }; + /** + * @description The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution-webhook": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | "pattern_deleted" | "pattern_edited" | null; + "secret-scanning-alert-webhook": { + 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; + resolution?: components["schemas"]["secret-scanning-alert-resolution-webhook"]; + /** + * 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 An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @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 "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ + secret_type_display_name?: string; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @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; + push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment when reviewing a push protection bypass. */ + push_protection_bypass_request_reviewer_comment?: string | null; + /** @description An optional comment when requesting a push protection bypass. */ + push_protection_bypass_request_comment?: string | null; + /** + * Format: uri + * @description The URL to a push protection bypass request. + */ + push_protection_bypass_request_html_url?: string | null; + /** @description Whether the detected secret was publicly leaked. */ + publicly_leaked?: boolean | null; + /** @description Whether the detected secret was found in multiple repositories in the same organization or business. */ + multi_repo?: boolean | null; + }; + /** @description The details of the security advisory, including summary, description, and severity. */ + webhooks_security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cvss_severities?: components["schemas"]["cvss-severities"]; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string | null; + }; + webhooks_sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ + webhooks_effective_date: string; + webhooks_changes_8: { + tier: { + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + from: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + webhooks_team_1: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + /** branch protection configuration disabled event */ + "webhook-branch-protection-configuration-disabled": { + /** @enum {string} */ + action: "disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection configuration enabled event */ + "webhook-branch-protection-configuration-enabled": { + /** @enum {string} */ + action: "enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule created event */ + "webhook-branch-protection-rule-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + rule: components["schemas"]["webhooks_rule"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule deleted event */ + "webhook-branch-protection-rule-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + rule: components["schemas"]["webhooks_rule"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule edited event */ + "webhook-branch-protection-rule-edited": { + /** @enum {string} */ + action: "edited"; + /** @description If the action was `edited`, the changes to the rule. */ + changes?: { + admin_enforced?: { + from: boolean | null; + }; + authorized_actor_names?: { + from: string[]; + }; + authorized_actors_only?: { + from: boolean | null; + }; + authorized_dismissal_actors_only?: { + from: boolean | null; + }; + linear_history_requirement_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + lock_branch_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + lock_allows_fork_sync?: { + from: boolean | null; + }; + pull_request_reviews_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + require_last_push_approval?: { + from: boolean | null; + }; + required_status_checks?: { + from: string[]; + }; + required_status_checks_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + rule: components["schemas"]["webhooks_rule"]; + sender: components["schemas"]["simple-user"]; + }; + /** Check Run Completed Event */ + "webhook-check-run-completed": { + /** @enum {string} */ + action?: "completed"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Completed Event + * @description The check_run.completed webhook encoded with URL encoding + */ + "webhook-check-run-completed-form-encoded": { + /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Created Event */ + "webhook-check-run-created": { + /** @enum {string} */ + action?: "created"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Created Event + * @description The check_run.created webhook encoded with URL encoding + */ + "webhook-check-run-created-form-encoded": { + /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Requested Action Event */ + "webhook-check-run-requested-action": { + /** @enum {string} */ + action: "requested_action"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** @description The action requested by the user. */ + requested_action?: { + /** @description The integrator reference of the action requested by the user. */ + identifier?: string; + }; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Requested Action Event + * @description The check_run.requested_action webhook encoded with URL encoding + */ + "webhook-check-run-requested-action-form-encoded": { + /** @description A URL-encoded string of the check_run.requested_action JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Re-Requested Event */ + "webhook-check-run-rerequested": { + /** @enum {string} */ + action?: "rerequested"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Re-Requested Event + * @description The check_run.rerequested webhook encoded with URL encoding + */ + "webhook-check-run-rerequested-form-encoded": { + /** @description A URL-encoded string of the check_run.rerequested JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** check_suite completed event */ + "webhook-check-suite-completed": { + /** @enum {string} */ + action: "completed"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * 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. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_group" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "projects_v2_item" | "secret_scanning_alert_location")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The client ID of the GitHub app */ + client_id?: string | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has `completed`. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null | "pending"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** check_suite requested event */ + "webhook-check-suite-requested": { + /** @enum {string} */ + action: "requested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * 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. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "secret_scanning_alert_location" | "projects_v2_item" | "merge_group" | "repository_import")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description Client ID of the GitHub app */ + client_id?: string | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped"; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** check_suite rerequested event */ + "webhook-check-suite-rerequested": { + /** @enum {string} */ + action: "rerequested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * 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. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The Client ID for the GitHub app */ + client_id?: string | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert appeared_in_branch event */ + "webhook-code-scanning-alert-appeared-in-branch": { + /** @enum {string} */ + action: "appeared_in_branch"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: 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. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "dismissed" | "fixed" | null; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert closed_by_user event */ + "webhook-code-scanning-alert-closed-by-user": { + /** @enum {string} */ + action: "closed_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: 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. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "dismissed" | "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + /** User */ + dismissal_approved_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert created event */ + "webhook-code-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string | null; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: unknown; + dismissed_by: unknown; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: unknown; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: 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. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "dismissed" | null; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + } | null; + updated_at?: string | null; + /** Format: uri */ + url: string; + dismissal_approved_by?: unknown; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert fixed event */ + "webhook-code-scanning-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Format: uri */ + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: 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. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "fixed" | null; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert reopened event */ + "webhook-code-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: string | null; + dismissed_by: Record | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: string | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: 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. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "dismissed" | "fixed" | null; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + } | null; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string | null; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert reopened_by_user event */ + "webhook-code-scanning-alert-reopened-by-user": { + /** @enum {string} */ + action: "reopened_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: unknown; + dismissed_by: unknown; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: unknown; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: 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. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "fixed" | null; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** commit_comment created event */ + "webhook-commit-comment-created": { + /** + * @description The action performed. Can be `created`. + * @enum {string} + */ + action: "created"; + /** @description The [commit comment](${externalDocsUpapp/api/description/components/schemas/webhooks/issue-comment-created.yamlrl}/rest/commits/comments#get-a-commit-comment) resource. */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + created_at: string; + /** Format: uri */ + html_url: string; + /** @description The ID of the commit comment. */ + id: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the commit comment. */ + node_id: string; + /** @description The relative path of the file to which the comment applies. */ + path: string | null; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** create event */ + "webhook-create": { + /** @description The repository's current description. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The name of the repository's default branch (usually `main`). */ + master_branch: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; + ref: components["schemas"]["webhooks_ref_0"]; + /** + * @description The type of Git ref object created in the repository. + * @enum {string} + */ + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** custom property created event */ + "webhook-custom-property-created": { + /** @enum {string} */ + action: "created"; + definition: components["schemas"]["custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** custom property deleted event */ + "webhook-custom-property-deleted": { + /** @enum {string} */ + action: "deleted"; + definition: { + /** @description The name of the property that was deleted. */ + property_name: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** custom property promoted to business event */ + "webhook-custom-property-promoted-to-enterprise": { + /** @enum {string} */ + action: "promote_to_enterprise"; + definition: components["schemas"]["custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** custom property updated event */ + "webhook-custom-property-updated": { + /** @enum {string} */ + action: "updated"; + definition: components["schemas"]["custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Custom property values updated event */ + "webhook-custom-property-values-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + repository: components["schemas"]["repository-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + /** @description The new custom property values for the repository. */ + new_property_values: components["schemas"]["custom-property-value"][]; + /** @description The old custom property values for the repository. */ + old_property_values: components["schemas"]["custom-property-value"][]; + }; + /** delete event */ + "webhook-delete": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; + ref: components["schemas"]["webhooks_ref_0"]; + /** + * @description The type of Git ref object deleted in the repository. + * @enum {string} + */ + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert auto-dismissed event */ + "webhook-dependabot-alert-auto-dismissed": { + /** @enum {string} */ + action: "auto_dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert auto-reopened event */ + "webhook-dependabot-alert-auto-reopened": { + /** @enum {string} */ + action: "auto_reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert created event */ + "webhook-dependabot-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert dismissed event */ + "webhook-dependabot-alert-dismissed": { + /** @enum {string} */ + action: "dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert fixed event */ + "webhook-dependabot-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert reintroduced event */ + "webhook-dependabot-alert-reintroduced": { + /** @enum {string} */ + action: "reintroduced"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert reopened event */ + "webhook-dependabot-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** deploy_key created event */ + "webhook-deploy-key-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + key: components["schemas"]["webhooks_deploy_key"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** deploy_key deleted event */ + "webhook-deploy-key-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + key: components["schemas"]["webhooks_deploy_key"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** deployment created event */ + "webhook-deployment-created": { + /** @enum {string} */ + action: "created"; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: Record | string; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "workflow_job" | "pull_request_review_thread" | "merge_queue_entry" | "secret_scanning_alert_location" | "merge_group")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: unknown; + head_repository?: { + 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?: unknown; + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: 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; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: unknown; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + 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?: unknown; + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: 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; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + /** deployment protection rule requested event */ + "webhook-deployment-protection-rule-requested": { + /** @enum {string} */ + action?: "requested"; + /** @description The name of the environment that has the deployment protection rule. */ + environment?: string; + /** @description The event that triggered the deployment protection rule. */ + event?: string; + /** + * Format: uri + * @description The URL to review the deployment protection rule. + */ + deployment_callback_url?: string; + deployment?: components["schemas"]["deployment"]; + pull_requests?: components["schemas"]["pull-request"][]; + repository?: components["schemas"]["repository-webhooks"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-deployment-review-approved": { + /** @enum {string} */ + action: "approved"; + approver?: components["schemas"]["webhooks_approver"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: components["schemas"]["webhooks_reviewers"]; + sender: components["schemas"]["simple-user"]; + since: string; + workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; + workflow_job_runs?: { + conclusion?: unknown; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: 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; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: 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; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + "webhook-deployment-review-rejected": { + /** @enum {string} */ + action: "rejected"; + approver?: components["schemas"]["webhooks_approver"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: components["schemas"]["webhooks_reviewers"]; + sender: components["schemas"]["simple-user"]; + since: string; + workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; + workflow_job_runs?: { + conclusion?: string | null; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: 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; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: 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; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + display_title: string; + } | null; + }; + "webhook-deployment-review-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + environment: string; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + requestor: components["schemas"]["webhooks_user"]; + reviewers: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @enum {string} */ + type?: "User" | "Team"; + }[]; + sender: components["schemas"]["simple-user"]; + since: string; + workflow_job_run: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: string | null; + status: string; + updated_at: string; + }; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: 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; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: 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; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + display_title: string; + } | null; + }; + /** deployment_status created event */ + "webhook-deployment-status-created": { + /** @enum {string} */ + action: "created"; + check_run?: { + /** Format: date-time */ + completed_at: string | null; + /** + * @description The result of the completed check run. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | null; + /** Format: uri */ + details_url: string; + external_id: string; + /** @description The SHA of the commit that is being checked. */ + head_sha: string; + /** Format: uri */ + html_url: string; + /** @description The id of the check. */ + id: number; + /** @description The name of the check run. */ + name: string; + node_id: string; + /** Format: date-time */ + started_at: string; + /** + * @description The current status of the check run. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "pending"; + /** Format: uri */ + url: string; + } | null; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: (string | Record) | null; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_queue_entry" | "workflow_job" | "pull_request_review_thread" | "secret_scanning_alert_location" | "merge_group")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + /** @description The [deployment status](https://docs.github.com/rest/deployments/statuses#list-deployment-statuses). */ + deployment_status: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + deployment_url: string; + /** @description The optional human-readable description added to the status. */ + description: string; + environment: string; + /** Format: uri */ + environment_url?: string; + id: number; + /** Format: uri */ + log_url?: string; + node_id: string; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job" | "merge_group" | "secret_scanning_alert_location")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + /** Format: uri */ + repository_url: string; + /** @description The new state. Can be `pending`, `success`, `failure`, or `error`. */ + state: string; + /** @description The optional link added to the status. */ + target_url: string; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow?: components["schemas"]["webhooks_workflow"]; + /** Deployment Workflow Run */ + workflow_run?: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "startup_failure"; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: unknown; + head_repository?: { + 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?: unknown; + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: 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; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: unknown; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + 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?: unknown; + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: 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; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + /** discussion answered event */ + "webhook-discussion-answered": { + /** @enum {string} */ + action: "answered"; + answer: components["schemas"]["webhooks_answer"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion category changed event */ + "webhook-discussion-category-changed": { + /** @enum {string} */ + action: "category_changed"; + changes: { + category: { + from: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + }; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion closed event */ + "webhook-discussion-closed": { + /** @enum {string} */ + action: "closed"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment created event */ + "webhook-discussion-comment-created": { + /** @enum {string} */ + action: "created"; + comment: components["schemas"]["webhooks_comment"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment deleted event */ + "webhook-discussion-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: components["schemas"]["webhooks_comment"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment edited event */ + "webhook-discussion-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body: { + from: string; + }; + }; + comment: components["schemas"]["webhooks_comment"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion created event */ + "webhook-discussion-created": { + /** @enum {string} */ + action: "created"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion deleted event */ + "webhook-discussion-deleted": { + /** @enum {string} */ + action: "deleted"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion edited event */ + "webhook-discussion-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from: string; + }; + title?: { + from: string; + }; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion labeled event */ + "webhook-discussion-labeled": { + /** @enum {string} */ + action: "labeled"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion locked event */ + "webhook-discussion-locked": { + /** @enum {string} */ + action: "locked"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion pinned event */ + "webhook-discussion-pinned": { + /** @enum {string} */ + action: "pinned"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion reopened event */ + "webhook-discussion-reopened": { + /** @enum {string} */ + action: "reopened"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion transferred event */ + "webhook-discussion-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + new_discussion: components["schemas"]["discussion"]; + new_repository: components["schemas"]["repository-webhooks"]; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unanswered event */ + "webhook-discussion-unanswered": { + /** @enum {string} */ + action: "unanswered"; + discussion: components["schemas"]["discussion"]; + old_answer: components["schemas"]["webhooks_answer"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** discussion unlabeled event */ + "webhook-discussion-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unlocked event */ + "webhook-discussion-unlocked": { + /** @enum {string} */ + action: "unlocked"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unpinned event */ + "webhook-discussion-unpinned": { + /** @enum {string} */ + action: "unpinned"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * fork event + * @description A user forks a repository. + */ + "webhook-fork": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. */ + forkee: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } & { + allow_forking?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + deployments_url?: string; + description?: string | null; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + /** @enum {boolean} */ + fork?: true; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: string | null; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: unknown; + languages_url?: string; + license?: Record | null; + merges_url?: string; + milestones_url?: string; + mirror_url?: unknown; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: 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; + public?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: unknown[]; + trees_url?: string; + updated_at?: string; + url?: string; + visibility?: string; + watchers?: number; + watchers_count?: number; + }; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** github_app_authorization revoked event */ + "webhook-github-app-authorization-revoked": { + /** @enum {string} */ + action: "revoked"; + sender: components["schemas"]["simple-user"]; + }; + /** gollum event */ + "webhook-gollum": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The pages that were updated. */ + pages: { + /** + * @description The action that was performed on the page. Can be `created` or `edited`. + * @enum {string} + */ + action: "created" | "edited"; + /** + * Format: uri + * @description Points to the HTML wiki page. + */ + html_url: string; + /** @description The name of the page. */ + page_name: string; + /** @description The latest commit SHA of the page. */ + sha: string; + summary: string | null; + /** @description The current page title. */ + title: string; + }[]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation created event */ + "webhook-installation-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: components["schemas"]["webhooks_user"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation deleted event */ + "webhook-installation-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + /** installation new_permissions_accepted event */ + "webhook-installation-new-permissions-accepted": { + /** @enum {string} */ + action: "new_permissions_accepted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + /** installation_repositories added event */ + "webhook-installation-repositories-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories_added: components["schemas"]["webhooks_repositories_added"]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: { + full_name?: string; + /** @description Unique identifier of the repository */ + id?: number; + /** @description The name of the repository. */ + name?: string; + node_id?: string; + /** @description Whether the repository is private or public. */ + private?: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + repository_selection: components["schemas"]["webhooks_repository_selection"]; + requester: components["schemas"]["webhooks_user"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation_repositories removed event */ + "webhook-installation-repositories-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories_added: components["schemas"]["webhooks_repositories_added"]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + repository_selection: components["schemas"]["webhooks_repository_selection"]; + requester: components["schemas"]["webhooks_user"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation suspend event */ + "webhook-installation-suspend": { + /** @enum {string} */ + action: "suspend"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + "webhook-installation-target-renamed": { + account: { + archived_at?: string | null; + avatar_url: string; + created_at?: string; + description?: unknown; + events_url?: string; + followers?: number; + followers_url?: string; + following?: number; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + has_organization_projects?: boolean; + has_repository_projects?: boolean; + hooks_url?: string; + html_url: string; + id: number; + is_verified?: boolean; + issues_url?: string; + login?: string; + members_url?: string; + name?: string; + node_id: string; + organizations_url?: string; + public_gists?: number; + public_members_url?: string; + public_repos?: number; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + slug?: string; + starred_url?: string; + subscriptions_url?: string; + type?: string; + updated_at?: string; + url?: string; + website_url?: unknown; + user_view_type?: string; + }; + /** @enum {string} */ + action: "renamed"; + changes: { + login?: { + from: string; + }; + slug?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + target_type: string; + }; + /** installation unsuspend event */ + "webhook-installation-unsuspend": { + /** @enum {string} */ + action: "unsuspend"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment created event */ + "webhook-issue-comment-created": { + /** @enum {string} */ + action: "created"; + /** + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. + */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment deleted event */ + "webhook-issue-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: components["schemas"]["webhooks_issue_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment edited event */ + "webhook-issue-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: components["schemas"]["webhooks_changes"]; + comment: components["schemas"]["webhooks_issue_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues assigned event */ + "webhook-issues-assigned": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "assigned"; + assignee?: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues closed event */ + "webhook-issues-closed": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + assignee?: Record | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (Record | null)[]; + labels_url?: string; + locked?: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "closed" | "open"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues deleted event */ + "webhook-issues-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues demilestoned event */ + "webhook-issues-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + milestone?: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues edited event */ + "webhook-issues-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the issue. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + title?: { + /** @description The previous version of the title. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + label?: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues labeled event */ + "webhook-issues-labeled": { + /** @enum {string} */ + action: "labeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + label?: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues locked event */ + "webhook-issues-locked": { + /** @enum {string} */ + action: "locked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + /** @enum {boolean} */ + locked: true; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "security_and_analysis")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues milestoned event */ + "webhook-issues-milestoned": { + /** @enum {string} */ + action: "milestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues opened event */ + "webhook-issues-opened": { + /** @enum {string} */ + action: "opened"; + changes?: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + old_issue: { + /** @enum {string|null} */ + active_lock_reason?: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association?: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body?: string | null; + /** Format: date-time */ + closed_at?: string | null; + comments?: number; + /** Format: uri */ + comments_url?: string; + /** Format: date-time */ + created_at?: string; + draft?: boolean; + /** Format: uri */ + events_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url?: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone?: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id?: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url?: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title?: string; + /** Format: date-time */ + updated_at?: string; + /** + * Format: uri + * @description URL for the issue + */ + url?: string; + /** User */ + user?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + type?: components["schemas"]["issue-type"]; + } | null; + /** + * Repository + * @description A git repository + */ + old_repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** @description Whether the repository has discussions enabled. */ + has_discussions?: boolean; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require commit signoff. */ + web_commit_signoff_required?: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues pinned event */ + "webhook-issues-pinned": { + /** @enum {string} */ + action: "pinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues reopened event */ + "webhook-issues-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + type?: components["schemas"]["issue-type"]; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues transferred event */ + "webhook-issues-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + new_issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Repository + * @description A git repository + */ + new_repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues typed event */ + "webhook-issues-typed": { + /** @enum {string} */ + action: "typed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + type: components["schemas"]["issue-type"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unassigned event */ + "webhook-issues-unassigned": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "unassigned"; + assignee?: components["schemas"]["webhooks_user_mannequin"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unlabeled event */ + "webhook-issues-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + label?: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unlocked event */ + "webhook-issues-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + /** @enum {boolean} */ + locked: false; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unpinned event */ + "webhook-issues-unpinned": { + /** @enum {string} */ + action: "unpinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues untyped event */ + "webhook-issues-untyped": { + /** @enum {string} */ + action: "untyped"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + type: components["schemas"]["issue-type"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** label created event */ + "webhook-label-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** label deleted event */ + "webhook-label-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** label edited event */ + "webhook-label-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the label if the action was `edited`. */ + changes?: { + color?: { + /** @description The previous version of the color if the action was `edited`. */ + from: string; + }; + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase cancelled event */ + "webhook-marketplace-purchase-cancelled": { + /** @enum {string} */ + action: "cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase changed event */ + "webhook-marketplace-purchase-changed": { + /** @enum {string} */ + action: "changed"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean | null; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase pending_change event */ + "webhook-marketplace-purchase-pending-change": { + /** @enum {string} */ + action: "pending_change"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase pending_change_cancelled event */ + "webhook-marketplace-purchase-pending-change-cancelled": { + /** @enum {string} */ + action: "pending_change_cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Marketplace Purchase */ + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: unknown; + next_billing_date: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase purchased event */ + "webhook-marketplace-purchase-purchased": { + /** @enum {string} */ + action: "purchased"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** member added event */ + "webhook-member-added": { + /** @enum {string} */ + action: "added"; + changes?: { + /** @description This field is included for legacy purposes; use the `role_name` field instead. The `maintain` + * role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role + * assigned to the collaborator, use the `role_name` field instead, which will provide the full + * role name, including custom roles. */ + permission?: { + /** @enum {string} */ + to: "write" | "admin" | "read"; + }; + /** @description The role assigned to the collaborator. */ + role_name?: { + to: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** member edited event */ + "webhook-member-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the collaborator permissions */ + changes: { + old_permission?: { + /** @description The previous permissions of the collaborator if the action was edited. */ + from: string; + }; + permission?: { + from?: string | null; + to?: string | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** member removed event */ + "webhook-member-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** membership added event */ + "webhook-membership-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team"; + /** User */ + sender: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + team: components["schemas"]["webhooks_team"]; + }; + /** membership removed event */ + "webhook-membership-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team" | "organization"; + /** User */ + sender: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + team: components["schemas"]["webhooks_team"]; + }; + "webhook-merge-group-checks-requested": { + /** @enum {string} */ + action: "checks_requested"; + installation?: components["schemas"]["simple-installation"]; + merge_group: components["schemas"]["merge-group"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-merge-group-destroyed": { + /** @enum {string} */ + action: "destroyed"; + /** + * @description Explains why the merge group is being destroyed. The group could have been merged, removed from the queue (dequeued), or invalidated by an earlier queue entry being dequeued (invalidated). + * @enum {string} + */ + reason?: "merged" | "invalidated" | "dequeued"; + installation?: components["schemas"]["simple-installation"]; + merge_group: components["schemas"]["merge-group"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** meta deleted event */ + "webhook-meta-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The deleted webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ + hook: { + active: boolean; + config: { + /** @enum {string} */ + content_type: "json" | "form"; + insecure_ssl: string; + secret?: string; + /** Format: uri */ + url: string; + }; + created_at: string; + events: ("*" | "branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "create" | "delete" | "deployment" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "meta" | "milestone" | "organization" | "org_block" | "package" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "pull_request_review_thread" | "push" | "registry_package" | "release" | "repository" | "repository_import" | "repository_vulnerability_alert" | "secret_scanning_alert" | "secret_scanning_alert_location" | "security_and_analysis" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_job" | "workflow_run" | "repository_dispatch" | "projects_v2_item")[]; + id: number; + name: string; + type: string; + updated_at: string; + }; + /** @description The id of the modified webhook. */ + hook_id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** milestone closed event */ + "webhook-milestone-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone created event */ + "webhook-milestone-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone_3"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone deleted event */ + "webhook-milestone-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone edited event */ + "webhook-milestone-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the milestone if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + due_on?: { + /** @description The previous version of the due date if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone opened event */ + "webhook-milestone-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone_3"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** org_block blocked event */ + "webhook-org-block-blocked": { + /** @enum {string} */ + action: "blocked"; + blocked_user: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** org_block unblocked event */ + "webhook-org-block-unblocked": { + /** @enum {string} */ + action: "unblocked"; + blocked_user: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization deleted event */ + "webhook-organization-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership?: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization member_added event */ + "webhook-organization-member-added": { + /** @enum {string} */ + action: "member_added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization member_invited event */ + "webhook-organization-member-invited": { + /** @enum {string} */ + action: "member_invited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The invitation for the user or email if the action is `member_invited`. */ + invitation: { + /** Format: date-time */ + created_at: string; + email: string | null; + /** Format: date-time */ + failed_at: string | null; + failed_reason: string | null; + id: number; + /** Format: uri */ + invitation_teams_url: string; + /** User */ + inviter: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + login: string | null; + node_id: string; + role: string; + team_count: number; + invitation_source?: string; + }; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + user?: components["schemas"]["webhooks_user"]; + }; + /** organization member_removed event */ + "webhook-organization-member-removed": { + /** @enum {string} */ + action: "member_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization renamed event */ + "webhook-organization-renamed": { + /** @enum {string} */ + action: "renamed"; + changes?: { + login?: { + from?: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership?: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Ruby Gems metadata */ + "webhook-rubygems-metadata": { + name?: string; + description?: string; + readme?: string; + homepage?: string; + version_info?: { + version?: string; + }; + platform?: string; + metadata?: { + [key: string]: string; + }; + repo?: string; + dependencies?: { + [key: string]: string; + }[]; + commit_oid?: string; + }; + /** package published event */ + "webhook-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description Information about the package. */ + package: { + created_at: string | null; + description: string | null; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + package_type: string; + package_version: { + /** User */ + author?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: Record | null; + manifest?: Record | null; + tag?: { + digest?: string; + name?: string; + }; + } | null; + created_at?: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + npm_metadata?: { + name?: string; + version?: string; + npm_user?: string; + author?: Record | null; + bugs?: Record | null; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: Record | null; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: Record | null; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: Record[]; + contributors?: Record[]; + engines?: Record; + keywords?: string[]; + files?: string[]; + bin?: Record; + man?: Record; + directories?: Record | null; + os?: string[]; + cpu?: string[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + } | null; + nuget_metadata?: { + id?: number | string; + name?: string; + value?: boolean | string | number | { + url?: string; + branch?: string; + commit?: string; + type?: string; + }; + }[] | null; + package_files: { + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string | null; + size: number; + state: string | null; + updated_at: string; + }[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + source_url?: string; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + } | null; + registry: { + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + } | null; + updated_at: string | null; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** package updated event */ + "webhook-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description Information about the package. */ + package: { + created_at: string; + description: string | null; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + package_type: string; + package_version: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + package_files: { + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string; + size: number; + state: string; + updated_at: string; + }[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + /** Format: uri */ + source_url?: string; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: { + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + } | null; + updated_at: string; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** page_build event */ + "webhook-page-build": { + /** @description The [List GitHub Pages builds](https://docs.github.com/rest/pages/pages#list-github-pages-builds) itself. */ + build: { + commit: string | null; + created_at: string; + duration: number; + error: { + message: string | null; + }; + /** User */ + pusher: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + status: string; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** personal_access_token_request approved event */ + "webhook-personal-access-token-request-approved": { + /** @enum {string} */ + action: "approved"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request cancelled event */ + "webhook-personal-access-token-request-cancelled": { + /** @enum {string} */ + action: "cancelled"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request created event */ + "webhook-personal-access-token-request-created": { + /** @enum {string} */ + action: "created"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation?: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request denied event */ + "webhook-personal-access-token-request-denied": { + /** @enum {string} */ + action: "denied"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + organization: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation: components["schemas"]["simple-installation"]; + }; + "webhook-ping": { + /** + * Webhook + * @description The webhook that is being pinged + */ + hook?: { + /** @description Determines whether the hook is actually triggered for the events it subscribes to. */ + active: boolean; + /** @description Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app. */ + app_id?: number; + config: { + content_type?: components["schemas"]["webhook-config-content-type"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + secret?: components["schemas"]["webhook-config-secret"]; + url?: components["schemas"]["webhook-config-url"]; + }; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + deliveries_url?: string; + /** @description Determines what events the hook is triggered for. Default: ['push']. */ + events: string[]; + /** @description Unique identifier of the webhook. */ + id: number; + last_response?: components["schemas"]["hook-response"]; + /** + * @description The type of webhook. The only valid value is 'web'. + * @enum {string} + */ + name: "web"; + /** Format: uri */ + ping_url?: string; + /** Format: uri */ + test_url?: string; + type: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url?: string; + }; + /** @description The ID of the webhook that triggered the ping. */ + hook_id?: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + /** @description Random string of GitHub zen. */ + zen?: string; + }; + /** @description The webhooks ping payload encoded with URL encoding. */ + "webhook-ping-form-encoded": { + /** @description A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** project_card converted event */ + "webhook-project-card-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + note: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: components["schemas"]["webhooks_project_card"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card created event */ + "webhook-project-card-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: components["schemas"]["webhooks_project_card"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card deleted event */ + "webhook-project-card-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Card */ + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number | null; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card edited event */ + "webhook-project-card-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + note: { + from: string | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: components["schemas"]["webhooks_project_card"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card moved event */ + "webhook-project-card-moved": { + /** @enum {string} */ + action: "moved"; + changes?: { + column_id: { + from: number; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } & { + after_id: number | null; + archived?: boolean; + column_id?: number; + column_url?: string; + created_at?: string; + creator?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + } | null; + id?: number; + node_id?: string; + note?: string | null; + project_url?: string; + updated_at?: string; + url?: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project closed event */ + "webhook-project-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_column created event */ + "webhook-project-column-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column deleted event */ + "webhook-project-column-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column edited event */ + "webhook-project-column-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + name?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column moved event */ + "webhook-project-column-moved": { + /** @enum {string} */ + action: "moved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project created event */ + "webhook-project-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project deleted event */ + "webhook-project-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project edited event */ + "webhook-project-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the project if the action was `edited`. */ + changes?: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The changes to the project if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project reopened event */ + "webhook-project-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Closed Event */ + "webhook-projects-v2-project-closed": { + /** @enum {string} */ + action: "closed"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** @description A project was created */ + "webhook-projects-v2-project-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Deleted Event */ + "webhook-projects-v2-project-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Edited Event */ + "webhook-projects-v2-project-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + description?: { + from?: string | null; + to?: string | null; + }; + public?: { + from?: boolean; + to?: boolean; + }; + short_description?: { + from?: string | null; + to?: string | null; + }; + title?: { + from?: string; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Archived Event */ + "webhook-projects-v2-item-archived": { + /** @enum {string} */ + action: "archived"; + changes: components["schemas"]["webhooks_project_changes"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Converted Event */ + "webhook-projects-v2-item-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + content_type?: { + from?: string | null; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Created Event */ + "webhook-projects-v2-item-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Deleted Event */ + "webhook-projects-v2-item-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Edited Event */ + "webhook-projects-v2-item-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes made to the item may involve modifications in the item's fields and draft issue body. + * It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. */ + changes?: { + field_value: { + field_node_id?: string; + field_type?: string; + field_name?: string; + project_number?: number; + from?: (string | number | components["schemas"]["projects-v2-single-select-option"] | components["schemas"]["projects-v2-iteration-setting"]) | null; + to?: (string | number | components["schemas"]["projects-v2-single-select-option"] | components["schemas"]["projects-v2-iteration-setting"]) | null; + }; + } | { + body: { + from?: string | null; + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Reordered Event */ + "webhook-projects-v2-item-reordered": { + /** @enum {string} */ + action: "reordered"; + changes: { + previous_projects_v2_item_node_id?: { + from?: string | null; + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Restored Event */ + "webhook-projects-v2-item-restored": { + /** @enum {string} */ + action: "restored"; + changes: components["schemas"]["webhooks_project_changes"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Reopened Event */ + "webhook-projects-v2-project-reopened": { + /** @enum {string} */ + action: "reopened"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Status Update Created Event */ + "webhook-projects-v2-status-update-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Status Update Deleted Event */ + "webhook-projects-v2-status-update-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Status Update Edited Event */ + "webhook-projects-v2-status-update-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from?: string | null; + to?: string | null; + }; + status?: { + /** @enum {string|null} */ + from?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; + /** @enum {string|null} */ + to?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; + }; + start_date?: { + /** Format: date */ + from?: string | null; + /** Format: date */ + to?: string | null; + }; + target_date?: { + /** Format: date */ + from?: string | null; + /** Format: date */ + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user"]; + }; + /** public event */ + "webhook-public": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request assigned event */ + "webhook-pull-request-assigned": { + /** @enum {string} */ + action: "assigned"; + assignee: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request auto_merge_disabled event */ + "webhook-pull-request-auto-merge-disabled": { + /** @enum {string} */ + action: "auto_merge_disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + reason: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request auto_merge_enabled event */ + "webhook-pull-request-auto-merge-enabled": { + /** @enum {string} */ + action: "auto_merge_enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + reason?: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request closed event */ + "webhook-pull-request-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request converted_to_draft event */ + "webhook-pull-request-converted-to-draft": { + /** @enum {string} */ + action: "converted_to_draft"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request demilestoned event */ + "webhook-pull-request-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + milestone?: components["schemas"]["milestone"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["webhooks_pull_request_5"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request dequeued event */ + "webhook-pull-request-dequeued": { + /** @enum {string} */ + action: "dequeued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** @enum {string} */ + reason: "UNKNOWN_REMOVAL_REASON" | "MANUAL" | "MERGE" | "MERGE_CONFLICT" | "CI_FAILURE" | "CI_TIMEOUT" | "ALREADY_MERGED" | "QUEUE_CLEARED" | "ROLL_BACK" | "BRANCH_PROTECTIONS" | "GIT_TREE_INVALID" | "INVALID_MERGE_COMMIT"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request edited event */ + "webhook-pull-request-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the comment if the action was `edited`. */ + changes: { + base?: { + ref: { + from: string; + }; + sha: { + from: string; + }; + }; + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request enqueued event */ + "webhook-pull-request-enqueued": { + /** @enum {string} */ + action: "enqueued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request labeled event */ + "webhook-pull-request-labeled": { + /** @enum {string} */ + action: "labeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label?: components["schemas"]["webhooks_label"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request locked event */ + "webhook-pull-request-locked": { + /** @enum {string} */ + action: "locked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request milestoned event */ + "webhook-pull-request-milestoned": { + /** @enum {string} */ + action: "milestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + milestone?: components["schemas"]["milestone"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["webhooks_pull_request_5"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request opened event */ + "webhook-pull-request-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request ready_for_review event */ + "webhook-pull-request-ready-for-review": { + /** @enum {string} */ + action: "ready_for_review"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request reopened event */ + "webhook-pull-request-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment created event */ + "webhook-pull-request-review-comment-created": { + /** @enum {string} */ + action: "created"; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number | null; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + 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 level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment deleted event */ + "webhook-pull-request-review-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: components["schemas"]["webhooks_review_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment edited event */ + "webhook-pull-request-review-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: components["schemas"]["webhooks_changes"]; + comment: components["schemas"]["webhooks_review_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + user_view_type?: string; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review dismissed event */ + "webhook-pull-request-review-dismissed": { + /** @enum {string} */ + action: "dismissed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + /** @enum {string} */ + state: "dismissed" | "approved" | "changes_requested"; + /** Format: date-time */ + submitted_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review edited event */ + "webhook-pull-request-review-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + review: components["schemas"]["webhooks_review"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request review_request_removed event */ + "webhook-pull-request-review-request-removed": { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title. + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requested_reviewer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + sender: components["schemas"]["simple-user"]; + } | { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request review_requested event */ + "webhook-pull-request-review-requested": { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requested_reviewer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + sender: components["schemas"]["simple-user"]; + } | { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review submitted event */ + "webhook-pull-request-review-submitted": { + /** @enum {string} */ + action: "submitted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + review: components["schemas"]["webhooks_review"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_thread resolved event */ + "webhook-pull-request-review-thread-resolved": { + /** @enum {string} */ + action: "resolved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + thread: { + comments: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number | null; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + 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 level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }[]; + node_id: string; + }; + }; + /** pull_request_review_thread unresolved event */ + "webhook-pull-request-review-thread-unresolved": { + /** @enum {string} */ + action: "unresolved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + thread: { + comments: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + 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 level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }[]; + node_id: string; + }; + }; + /** pull_request synchronize event */ + "webhook-pull-request-synchronize": { + /** @enum {string} */ + action: "synchronize"; + after: string; + before: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request unassigned event */ + "webhook-pull-request-unassigned": { + /** @enum {string} */ + action: "unassigned"; + assignee?: components["schemas"]["webhooks_user_mannequin"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request unlabeled event */ + "webhook-pull-request-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label?: components["schemas"]["webhooks_label"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request unlocked event */ + "webhook-pull-request-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** push event */ + "webhook-push": { + /** @description The SHA of the most recent commit on `ref` after the push. */ + after: string; + base_ref: components["schemas"]["webhooks_nullable_string"]; + /** @description The SHA of the most recent commit on `ref` before the push. */ + before: string; + /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 2048 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. */ + commits: { + /** @description An array of files added in the commit. A maximum of 3000 changed files will be reported per commit. */ + added?: string[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. A maximum of 3000 changed files will be reported per commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. A maximum of 3000 changed files will be reported per commit. */ + removed?: string[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + }[]; + /** @description URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit. */ + compare: string; + /** @description Whether this push created the `ref`. */ + created: boolean; + /** @description Whether this push deleted the `ref`. */ + deleted: boolean; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description Whether this push was a force push of the `ref`. */ + forced: boolean; + /** Commit */ + head_commit: { + /** @description An array of files added in the commit. */ + added?: string[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. */ + removed?: string[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + } | null; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + pusher: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email?: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`. */ + ref: string; + /** + * Repository + * @description A git repository + */ + repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-registry-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + registry_package: { + created_at: string | null; + description: string | null; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + package_type: string; + package_version: { + author?: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: Record | null; + manifest?: Record | null; + tag?: { + digest?: string; + name?: string; + }; + }; + created_at?: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + npm_metadata?: { + name?: string; + version?: string; + npm_user?: string; + author?: (string | Record) | null; + bugs?: (string | Record) | null; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: (string | Record) | null; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: (string | Record) | null; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: string[]; + contributors?: string[]; + engines?: Record; + keywords?: string[]; + files?: string[]; + bin?: Record; + man?: Record; + directories?: (string | Record) | null; + os?: string[]; + cpu?: string[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + } | null; + nuget_metadata?: { + id?: (string | Record | number) | null; + name?: string; + value?: boolean | string | number | { + url?: string; + branch?: string; + commit?: string; + type?: string; + }; + }[] | null; + package_files: { + content_type: string; + created_at: string; + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string | null; + size: number; + state: string | null; + updated_at: string; + }[]; + package_url: string; + prerelease?: boolean; + release?: { + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: string | null; + prerelease?: boolean; + published_at?: string; + tag_name?: string; + target_commitish?: string; + url?: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + } | null; + registry: { + about_url?: string; + name?: string; + type?: string; + url?: string; + vendor?: string; + } | null; + updated_at: string | null; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + "webhook-registry-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + registry_package: { + created_at: string; + description: unknown; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + package_type: string; + package_version: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: ({ + tags?: string[]; + } | null)[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + package_files: { + content_type?: string; + created_at?: string; + download_url?: string; + id?: number; + md5?: string | null; + name?: string; + sha1?: string | null; + sha256?: string; + size?: number; + state?: string; + updated_at?: string; + }[]; + package_url: string; + prerelease?: boolean; + release?: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: Record | null; + updated_at: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** release created event */ + "webhook-release-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** release deleted event */ + "webhook-release-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** release edited event */ + "webhook-release-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + tag_name?: { + /** @description The previous version of the tag_name if the action was `edited`. */ + from: string; + }; + make_latest?: { + /** @description Whether this release was explicitly `edited` to be the latest. */ + to: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release prereleased event */ + "webhook-release-prereleased": { + /** @enum {string} */ + action: "prereleased"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + release: { + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + digest: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + } | null)[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + /** @description Whether or not the release is immutable. */ + immutable: boolean; + name: string | null; + node_id: string; + /** + * @description Whether the release is identified as a prerelease or a full release. + * @enum {boolean} + */ + prerelease: true; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release published event */ + "webhook-release-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release_1"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release released event */ + "webhook-release-released": { + /** @enum {string} */ + action: "released"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release unpublished event */ + "webhook-release-unpublished": { + /** @enum {string} */ + action: "unpublished"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release_1"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Repository advisory published event */ + "webhook-repository-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + repository_advisory: components["schemas"]["repository-advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Repository advisory reported event */ + "webhook-repository-advisory-reported": { + /** @enum {string} */ + action: "reported"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + repository_advisory: components["schemas"]["repository-advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** repository archived event */ + "webhook-repository-archived": { + /** @enum {string} */ + action: "archived"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository created event */ + "webhook-repository-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository deleted event */ + "webhook-repository-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_dispatch event */ + "webhook-repository-dispatch-sample": { + /** @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + action: string; + branch: string; + /** @description The `client_payload` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + client_payload: { + [key: string]: unknown; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository edited event */ + "webhook-repository-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + default_branch?: { + from: string; + }; + description?: { + from: string | null; + }; + homepage?: { + from: string | null; + }; + topics?: { + from?: string[] | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_import event */ + "webhook-repository-import": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @enum {string} */ + status: "success" | "cancelled" | "failure"; + }; + /** repository privatized event */ + "webhook-repository-privatized": { + /** @enum {string} */ + action: "privatized"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository publicized event */ + "webhook-repository-publicized": { + /** @enum {string} */ + action: "publicized"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository renamed event */ + "webhook-repository-renamed": { + /** @enum {string} */ + action: "renamed"; + changes: { + repository: { + name: { + from: string; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository ruleset created event */ + "webhook-repository-ruleset-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository ruleset deleted event */ + "webhook-repository-ruleset-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository ruleset edited event */ + "webhook-repository-ruleset-edited": { + /** @enum {string} */ + action: "edited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + changes?: { + name?: { + from?: string; + }; + enforcement?: { + from?: string; + }; + conditions?: { + added?: components["schemas"]["repository-ruleset-conditions"][]; + deleted?: components["schemas"]["repository-ruleset-conditions"][]; + updated?: { + condition?: components["schemas"]["repository-ruleset-conditions"]; + changes?: { + condition_type?: { + from?: string; + }; + target?: { + from?: string; + }; + include?: { + from?: string[]; + }; + exclude?: { + from?: string[]; + }; + }; + }[]; + }; + rules?: { + added?: components["schemas"]["repository-rule"][]; + deleted?: components["schemas"]["repository-rule"][]; + updated?: { + rule?: components["schemas"]["repository-rule"]; + changes?: { + configuration?: { + from?: string; + }; + rule_type?: { + from?: string; + }; + pattern?: { + from?: string; + }; + }; + }[]; + }; + }; + sender: components["schemas"]["simple-user"]; + }; + /** repository transferred event */ + "webhook-repository-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + owner: { + from: { + /** Organization */ + organization?: { + /** Format: uri */ + avatar_url: string; + description: string | null; + /** Format: uri */ + events_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url?: string; + id: number; + /** Format: uri */ + issues_url: string; + login: string; + /** Format: uri-template */ + members_url: string; + node_id: string; + /** Format: uri-template */ + public_members_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + url: string; + }; + /** User */ + user?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository unarchived event */ + "webhook-repository-unarchived": { + /** @enum {string} */ + action: "unarchived"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert create event */ + "webhook-repository-vulnerability-alert-create": { + /** @enum {string} */ + action: "create"; + alert: components["schemas"]["webhooks_alert"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert dismiss event */ + "webhook-repository-vulnerability-alert-dismiss": { + /** @enum {string} */ + action: "dismiss"; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_comment?: string | null; + dismiss_reason: string; + dismissed_at: string; + /** User */ + dismisser: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "dismissed"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert reopen event */ + "webhook-repository-vulnerability-alert-reopen": { + /** @enum {string} */ + action: "reopen"; + alert: components["schemas"]["webhooks_alert"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert resolve event */ + "webhook-repository-vulnerability-alert-resolve": { + /** @enum {string} */ + action: "resolve"; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "fixed" | "open"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert created event */ + "webhook-secret-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created": { + /** @enum {string} */ + action?: "created"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + installation?: components["schemas"]["simple-installation"]; + location: components["schemas"]["secret-scanning-location"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created-form-encoded": { + /** @description A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** secret_scanning_alert publicly leaked event */ + "webhook-secret-scanning-alert-publicly-leaked": { + /** @enum {string} */ + action: "publicly_leaked"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert reopened event */ + "webhook-secret-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert resolved event */ + "webhook-secret-scanning-alert-resolved": { + /** @enum {string} */ + action: "resolved"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert validated event */ + "webhook-secret-scanning-alert-validated": { + /** @enum {string} */ + action: "validated"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_scan completed event */ + "webhook-secret-scanning-scan-completed": { + /** @enum {string} */ + action: "completed"; + /** + * @description What type of scan was completed + * @enum {string} + */ + type: "backfill" | "custom-pattern-backfill" | "pattern-version-backfill"; + /** + * @description What type of content was scanned + * @enum {string} + */ + source: "git" | "issues" | "pull-requests" | "discussions" | "wiki"; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at: string; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at: string; + /** @description List of patterns that were updated. This will be empty for normal backfill scans or custom pattern updates */ + secret_types?: string[] | null; + /** @description If the scan was triggered by a custom pattern update, this will be the name of the pattern that was updated */ + custom_pattern_name?: string | null; + /** + * @description If the scan was triggered by a custom pattern update, this will be the scope of the pattern that was updated + * @enum {string|null} + */ + custom_pattern_scope?: "repository" | "organization" | "enterprise" | null; + repository?: components["schemas"]["repository-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory published event */ + "webhook-security-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + security_advisory: components["schemas"]["webhooks_security_advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory updated event */ + "webhook-security-advisory-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + security_advisory: components["schemas"]["webhooks_security_advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory withdrawn event */ + "webhook-security-advisory-withdrawn": { + /** @enum {string} */ + action: "withdrawn"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cvss_severities?: components["schemas"]["cvss-severities"]; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string; + }; + sender?: components["schemas"]["simple-user"]; + }; + /** security_and_analysis event */ + "webhook-security-and-analysis": { + changes: { + from?: { + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["full-repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sponsorship cancelled event */ + "webhook-sponsorship-cancelled": { + /** @enum {string} */ + action: "cancelled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship created event */ + "webhook-sponsorship-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship edited event */ + "webhook-sponsorship-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + privacy_level?: { + /** @description The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship pending_cancellation event */ + "webhook-sponsorship-pending-cancellation": { + /** @enum {string} */ + action: "pending_cancellation"; + effective_date?: components["schemas"]["webhooks_effective_date"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship pending_tier_change event */ + "webhook-sponsorship-pending-tier-change": { + /** @enum {string} */ + action: "pending_tier_change"; + changes: components["schemas"]["webhooks_changes_8"]; + effective_date?: components["schemas"]["webhooks_effective_date"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship tier_changed event */ + "webhook-sponsorship-tier-changed": { + /** @enum {string} */ + action: "tier_changed"; + changes: components["schemas"]["webhooks_changes_8"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** star created event */ + "webhook-star-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: string | null; + }; + /** star deleted event */ + "webhook-star-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: unknown; + }; + /** status event */ + "webhook-status": { + /** Format: uri */ + avatar_url?: string | null; + /** @description An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches. */ + branches: { + commit: { + sha: string | null; + /** Format: uri */ + url: string | null; + }; + name: string; + protected: boolean; + }[]; + commit: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id?: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + comments_url: string; + commit: { + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + comment_count: number; + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification: { + payload: string | null; + /** @enum {string} */ + reason: "expired_key" | "not_signing_key" | "gpgverify_error" | "gpgverify_unavailable" | "unsigned" | "unknown_signature_type" | "no_user" | "unverified_email" | "bad_email" | "unknown_key" | "malformed_signature" | "invalid" | "valid" | "bad_cert" | "ocsp_pending"; + signature: string | null; + verified: boolean; + verified_at: string | null; + }; + }; + /** User */ + committer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id?: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + node_id: string; + parents: { + /** Format: uri */ + html_url: string; + sha: string; + /** Format: uri */ + url: string; + }[]; + sha: string; + /** Format: uri */ + url: string; + }; + context: string; + created_at: string; + /** @description The optional human-readable description added to the status. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The unique identifier of the status. */ + id: number; + installation?: components["schemas"]["simple-installation"]; + name: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @description The Commit SHA. */ + sha: string; + /** + * @description The new state. Can be `pending`, `success`, `failure`, or `error`. + * @enum {string} + */ + state: "pending" | "success" | "failure" | "error"; + /** @description The optional link added to the status. */ + target_url: string | null; + updated_at: string; + }; + /** parent issue added event */ + "webhook-sub-issues-parent-issue-added": { + /** @enum {string} */ + action: "parent_issue_added"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** parent issue removed event */ + "webhook-sub-issues-parent-issue-removed": { + /** @enum {string} */ + action: "parent_issue_removed"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sub-issue added event */ + "webhook-sub-issues-sub-issue-added": { + /** @enum {string} */ + action: "sub_issue_added"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sub-issue removed event */ + "webhook-sub-issues-sub-issue-removed": { + /** @enum {string} */ + action: "sub_issue_removed"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** team_add event */ + "webhook-team-add": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team added_to_repository event */ + "webhook-team-added-to-repository": { + /** @enum {string} */ + action: "added_to_repository"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team created event */ + "webhook-team-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team deleted event */ + "webhook-team-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team edited event */ + "webhook-team-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the team if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + privacy?: { + /** @description The previous version of the team's privacy if the action was `edited`. */ + from: string; + }; + notification_setting?: { + /** @description The previous version of the team's notification setting if the action was `edited`. */ + from: string; + }; + repository?: { + permissions: { + from: { + /** @description The previous version of the team member's `admin` permission on a repository, if the action was `edited`. */ + admin?: boolean; + /** @description The previous version of the team member's `pull` permission on a repository, if the action was `edited`. */ + pull?: boolean; + /** @description The previous version of the team member's `push` permission on a repository, if the action was `edited`. */ + push?: boolean; + }; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team removed_from_repository event */ + "webhook-team-removed-from-repository": { + /** @enum {string} */ + action: "removed_from_repository"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** watch started event */ + "webhook-watch-started": { + /** @enum {string} */ + action: "started"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** workflow_dispatch event */ + "webhook-workflow-dispatch": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + inputs: { + [key: string]: unknown; + } | null; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: string; + }; + /** workflow_job completed event */ + "webhook-workflow-job-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "success" | "failure" | null | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: number | null; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: string | null; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: number | null; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: string | null; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, `waiting`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + }[]; + /** Format: uri */ + url: string; + } & { + check_run_url?: string; + completed_at?: string; + /** @enum {string} */ + conclusion: "success" | "failure" | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; + /** @description The time that the job created. */ + created_at?: string; + head_sha?: string; + html_url?: string; + id?: number; + labels?: (string | null)[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: number | null; + runner_group_name?: string | null; + runner_id?: number | null; + runner_name?: string | null; + started_at?: string; + status?: string; + /** @description The name of the current branch. */ + head_branch?: string | null; + /** @description The name of the workflow. */ + workflow_name?: string | null; + steps?: (Record | null)[]; + url?: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job in_progress event */ + "webhook-workflow-job-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "success" | "failure" | null | "cancelled" | "neutral"; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: number | null; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: string | null; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: number | null; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: string | null; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | null | "cancelled"; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued" | "pending"; + }[]; + /** Format: uri */ + url: string; + } & { + check_run_url?: string; + completed_at?: string | null; + conclusion?: string | null; + /** @description The time that the job created. */ + created_at?: string; + head_sha?: string; + html_url?: string; + id?: number; + labels?: string[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: number | null; + runner_group_name?: string | null; + runner_id?: number | null; + runner_name?: string | null; + started_at?: string; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + /** @description The name of the current branch. */ + head_branch?: string | null; + /** @description The name of the workflow. */ + workflow_name?: string | null; + steps: { + completed_at: string | null; + conclusion: string | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "pending" | "queued"; + }[]; + url?: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job queued event */ + "webhook-workflow-job-queued": { + /** @enum {string} */ + action: "queued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + conclusion: string | null; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: number | null; + runner_group_name: string | null; + runner_id: number | null; + runner_name: string | null; + /** Format: date-time */ + started_at: string; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "completed" | "in_progress" | "queued" | "pending"; + }[]; + /** Format: uri */ + url: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job waiting event */ + "webhook-workflow-job-waiting": { + /** @enum {string} */ + action: "waiting"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + conclusion: string | null; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: number | null; + runner_group_name: string | null; + runner_id: number | null; + runner_name: string | null; + /** Format: date-time */ + started_at: string; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "completed" | "in_progress" | "queued" | "pending" | "waiting"; + }[]; + /** Format: uri */ + url: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_run completed event */ + "webhook-workflow-run-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "startup_failure" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + 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; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + } | null)[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + 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; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + /** + * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. + * @example Simple Workflow + */ + display_title?: string; + }; + }; + /** workflow_run in_progress event */ + "webhook-workflow-run-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + 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; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string | null; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + } | null)[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + 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; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + }; + }; + /** workflow_run requested event */ + "webhook-workflow-run-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + 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; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + 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; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + display_title: string; + }; + }; + }; + responses: { + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed_simple: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; + }; + /** @description Resource not found */ + not_found: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Bad Request */ + bad_request: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + /** @description Accepted */ + accepted: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description Not modified */ + not_modified: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + requires_authentication: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Forbidden */ + forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Internal Error */ + internal_error: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Conflict */ + conflict: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description A header with no content is returned. */ + no_content: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Service unavailable */ + service_unavailable: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Forbidden Gist */ + forbidden_gist: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + block?: { + reason?: string; + created_at?: string; + html_url?: string | null; + }; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Moved permanently */ + moved_permanently: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Billing usage report response for an organization */ + billing_usage_report_org: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing-usage-report"]; + }; + }; + /** @description Response */ + actions_runner_jitconfig: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + runner: components["schemas"]["runner"]; + /** @description The base64 encoded runner configuration. */ + encoded_jit_config: string; + }; + }; + }; + /** @description Response */ + actions_runner_labels: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** @description Response */ + actions_runner_labels_readonly: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** @description Copilot Usage Merics API setting is disabled at the organization or enterprise level. */ + usage_metrics_api_disabled: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description The value of `per_page` multiplied by `page` cannot be greater than 10000. */ + package_es_list_error: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Gone */ + gone: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Temporary Redirect */ + temporary_redirect: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_read: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_write: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Bad Request */ + code_scanning_bad_request: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if the repository is archived, if GitHub Advanced Security is not enabled for this repository or if rate limit is exceeded */ + code_scanning_autofix_create_forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if analysis could not be processed */ + unprocessable_analysis: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Found */ + found: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if there is already a validation run in progress with a different default setup configuration */ + code_scanning_conflict: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if the configuration change cannot be made because the repository is not in the required state */ + code_scanning_invalid_state: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response for a private repository when GitHub Advanced Security is not enabled, or if used against a fork */ + dependency_review_forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Unavailable due to service under maintenance. */ + porter_maintenance: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Unacceptable */ + unacceptable: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response when getting a billing usage report */ + billing_usage_report_user: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing-usage-report-user"]; + }; + }; + }; + parameters: { + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "pagination-before": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "pagination-after": string; + /** @description The direction to sort the results by. */ + direction: "asc" | "desc"; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page: number; + /** @description Only show results that were last 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 client ID of the GitHub app. */ + "client-id": string; + "app-slug": string; + /** @description The unique identifier of the classroom assignment. */ + "assignment-id": number; + /** @description The unique identifier of the classroom. */ + "classroom-id": number; + /** @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 code security configuration. */ + "configuration-id": number; + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + "dependabot-alert-comma-separated-states": string; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + "dependabot-alert-comma-separated-severities": string; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + "dependabot-alert-comma-separated-ecosystems": string; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + "dependabot-alert-comma-separated-packages": string; + /** @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: + * - An exact number (`n`) + * - Comparators such as `>n`, `=n`, `<=n` + * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 + * + * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. */ + "dependabot-alert-comma-separated-epss": string; + /** @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. + * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. */ + "dependabot-alert-comma-separated-has": string | "patch"[]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + "dependabot-alert-scope": "development" | "runtime"; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. */ + "dependabot-alert-sort": "created" | "updated" | "epss_percentage"; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + "pagination-first": number; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + "pagination-last": number; + /** @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. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" 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 A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + "secret-scanning-alert-validity": string; + /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ + "secret-scanning-alert-publicly-leaked": boolean; + /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ + "secret-scanning-alert-multi-repo": boolean; + /** @description A boolean value representing whether or not to hide literal secrets in the results. */ + "secret-scanning-alert-hide-secret": boolean; + /** @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. */ + sort: "created" | "updated"; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository without the `.git` extension. 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 notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + "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 If specified, only return results for a single year. The value of `year` is an integer with four digits representing a year. For example, `2025`. Default value is the current year. */ + "billing-usage-report-year": number; + /** @description If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the default `year` is used. */ + "billing-usage-report-month": number; + /** @description If specified, only return results for a single day. The value of `day` is an integer between `1` and `31`. If no `year` or `month` is specified, the default `year` and `month` are used. */ + "billing-usage-report-day": number; + /** @description If specified, only return results for a single hour. The value of `hour` is an integer between `0` and `23`. If no `year`, `month`, or `day` is specified, the default `year`, `month`, and `day` are used. */ + "billing-usage-report-hour": number; + /** @description Unique identifier of the GitHub-hosted runner. */ + "hosted-runner-id": number; + /** @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 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 The name of the secret. */ + "secret-name": string; + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "variables-per-page": number; + /** @description The name of the variable. */ + "variable-name": string; + /** @description The handle for the GitHub user account. */ + username: string; + /** @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 The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + "hook-id": number; + /** @description The type of the actor */ + "api-insights-actor-type": "installation" | "classic_pat" | "fine_grained_pat" | "oauth_app" | "github_app_user_to_server"; + /** @description The ID of the actor */ + "api-insights-actor-id": number; + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "api-insights-min-timestamp": string; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "api-insights-max-timestamp": string; + /** @description The property to sort the results by. */ + "api-insights-route-stats-sort": ("last_rate_limited_timestamp" | "last_request_timestamp" | "rate_limited_request_count" | "http_method" | "api_route" | "total_request_count")[]; + /** @description Providing a substring will filter results where the API route contains the substring. This is a case-insensitive search. */ + "api-insights-api-route-substring": string; + /** @description The property to sort the results by. */ + "api-insights-sort": ("last_rate_limited_timestamp" | "last_request_timestamp" | "rate_limited_request_count" | "subject_name" | "total_request_count")[]; + /** @description Providing a substring will filter results where the subject name contains the substring. This is a case-insensitive search. */ + "api-insights-subject-name-substring": string; + /** @description The ID of the user to query for stats */ + "api-insights-user-id": string; + /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ + "api-insights-timestamp-increment": string; + /** @description Providing a substring will filter results where the actor name contains the substring. This is a case-insensitive search. */ + "api-insights-actor-name-substring": string; + /** @description The unique identifier of the invitation. */ + "invitation-id": number; + /** @description The unique identifier of the issue type. */ + "issue-type-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 slug of the team name. */ + "team-slug": string; + /** @description The unique identifier of the role. */ + "role-id": number; + /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + "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 The property by which to sort the results. */ + "personal-access-token-sort": "created_at"; + /** @description A list of owner usernames to use to filter the results. */ + "personal-access-token-owner": string[]; + /** @description The name of the repository to use to filter the results. */ + "personal-access-token-repository": string; + /** @description The permission to use to filter the results. */ + "personal-access-token-permission": string; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-before": string; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-after": string; + /** @description The ID of the token */ + "personal-access-token-token-id": string[]; + /** @description The unique identifier of the fine-grained personal access token. */ + "fine-grained-personal-access-token-id": number; + /** @description The custom property name */ + "custom-property-name": string; + /** @description A comma-separated list of rule targets to filter by. + * If provided, only rulesets that apply to the specified targets will be returned. + * For example, `branch,tag,push`. + * */ + "ruleset-targets": string; + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ + "ref-in-query": string; + /** @description The name of the repository to filter on. */ + "repository-name-in-query": string; + /** @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for rule suites that occurred in the past 7 days (168 hours). */ + "time-period": "hour" | "day" | "week" | "month"; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + "actor-name-in-query": string; + /** @description The rule suite results to filter on. When specified, only suites with this result will be returned. */ + "rule-suite-result": "pass" | "fail" | "bypass" | "all"; + /** @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. */ + "rule-suite-id": number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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/guides/using-pagination-in-the-rest-api#using-link-headers). 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 Unique identifier of the hosted compute network configuration. */ + "network-configuration-id": string; + /** @description Unique identifier of the hosted compute network settings. */ + "network-settings-id": 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 security feature to enable or disable. */ + "security-product": "dependency_graph" | "dependabot_alerts" | "dependabot_security_updates" | "advanced_security" | "code_scanning_default_setup" | "secret_scanning" | "secret_scanning_push_protection"; + /** @description The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. */ + "org-security-product-enablement": "enable_all" | "disable_all"; + /** @description The unique identifier of the card. */ + "card-id": number; + /** @description The unique identifier of the column. */ + "column-id": number; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + "artifact-name": string; + /** @description The unique identifier of the artifact. */ + "artifact-id": number; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + "actions-cache-git-ref-full": string; + /** @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/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 Actions can set a status of `waiting`, `pending`, or `requested`. */ + "workflow-run-status": "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting" | "pending"; + /** @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 Only returns workflow runs that are associated with the specified `head_sha`. */ + "workflow-run-head-sha": string; + /** @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. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + 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 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 The number of the pull request for the results you want to list. */ + "pr-alias": number; + /** @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 commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + "commit-ref": string; + /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + "dependabot-alert-comma-separated-manifests": string; + /** @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + "dependabot-alert-number": components["schemas"]["alert-number"]; + /** @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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + "environment-name": string; + /** @description The unique identifier of the branch policy. */ + "branch-policy-id": number; + /** @description The unique identifier of the protection rule. */ + "protection-rule-id": number; + /** + * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + "git-ref-only": 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 ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + "pages-deployment-id": number | string; + /** @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 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 Set to `true` to use advanced search. + * Example: `http://api.github.com/search/issues?q={query}&advanced_search=true` */ + "issues-advanced-search": string; + /** @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; + /** @description Only show repositories 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-repo-date": string; + /** @description Only show repositories 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-repo-date": string; + /** @description The unique identifier of the SSH signing key. */ + "ssh-signing-key-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-starred": "created" | "updated"; + }; + requestBodies: never; + headers: { + /** @example ; rel="next", ; rel="last" */ + link: string; + /** @example text/html */ + "content-type": string; + /** @example 0.17.4 */ + "x-common-marker-version": string; + /** @example 5000 */ + "x-rate-limit-limit": number; + /** @example 4999 */ + "x-rate-limit-remaining": number; + /** @example 1590701888 */ + "x-rate-limit-reset": number; + /** @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 */ + location: string; + }; + pathItems: never; +}; +export type $defs = Record; +export interface operations { + "meta/root": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["root"]; + }; + }; + }; + }; + "security-advisories/list-global-advisories": { + parameters: { + query?: { + /** @description If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned. */ + ghsa_id?: string; + /** @description If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. */ + type?: "reviewed" | "malware" | "unreviewed"; + /** @description If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned. */ + cve_id?: string; + /** @description If specified, only advisories for these ecosystems will be returned. */ + ecosystem?: components["schemas"]["security-advisory-ecosystems"]; + /** @description If specified, only advisories with these severities will be returned. */ + severity?: "unknown" | "low" | "medium" | "high" | "critical"; + /** @description If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. + * + * Example: `cwes=79,284,22` or `cwes[]=79&cwes[]=284&cwes[]=22` */ + cwes?: string | string[]; + /** @description Whether to only return advisories that have been withdrawn. */ + is_withdrawn?: boolean; + /** @description If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. + * If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. + * + * Example: `affects=package1,package2@1.0.0,package3@^2.0.0` or `affects[]=package1&affects[]=package2@1.0.0` */ + affects?: string | string[]; + /** @description If specified, only return advisories that were published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + published?: string; + /** @description If specified, only return advisories that were updated on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + updated?: string; + /** @description If specified, only show advisories that were updated or published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + modified?: string; + /** @description If specified, only return advisories that have an EPSS percentage score that matches the provided value. + * The EPSS percentage represents the likelihood of a CVE being exploited. */ + epss_percentage?: string; + /** @description If specified, only return advisories that have an EPSS percentile score that matches the provided value. + * The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. */ + epss_percentile?: string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description The property to sort the results by. */ + sort?: "updated" | "published" | "epss_percentage" | "epss_percentile"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["global-advisory"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + /** @description Too many requests */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "security-advisories/get-global-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["global-advisory"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "apps/get-authenticated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + }; + }; + "apps/create-from-manifest": { + parameters: { + query?: never; + header?: never; + path: { + code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "apps/get-webhook-config-for-app": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "apps/update-webhook-config-for-app": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: 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"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "apps/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @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?: components["parameters"]["cursor"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/get-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/redeliver-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/list-installation-requests-for-authenticated-app": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of integration installation requests */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration-installation-request"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + "apps/list-installations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Only show results that were last 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; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The permissions the installation has are included under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"][]; + }; + }; + }; + }; + "apps/get-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "apps/delete-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "apps/create-installation-access-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + 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"]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "apps/suspend-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "apps/unsuspend-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "apps/delete-authorization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/check-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth or GitHub application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/delete-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/reset-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth or GitHub application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/scope-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The 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 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 access token to. **Required** unless `target` is specified. + * @example 1 + */ + target_id?: number; + /** @description The list of repository names to scope the user 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 access token to. `repository_ids` may not be specified if `repositories` is specified. + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "apps/get-by-slug": { + parameters: { + query?: never; + header?: never; + path: { + app_slug: components["parameters"]["app-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "classroom/get-an-assignment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the classroom assignment. */ + assignment_id: components["parameters"]["assignment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom-assignment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "classroom/list-accepted-assignments-for-an-assignment": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the classroom assignment. */ + assignment_id: components["parameters"]["assignment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom-accepted-assignment"][]; + }; + }; + }; + }; + "classroom/get-assignment-grades": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the classroom assignment. */ + assignment_id: components["parameters"]["assignment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom-assignment-grade"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "classroom/list-classrooms": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-classroom"][]; + }; + }; + }; + }; + "classroom/get-a-classroom": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the classroom. */ + classroom_id: components["parameters"]["classroom-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "classroom/list-assignments-for-a-classroom": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the classroom. */ + classroom_id: components["parameters"]["classroom-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-classroom-assignment"][]; + }; + }; + }; + }; + "codes-of-conduct/get-all-codes-of-conduct": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-of-conduct"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "codes-of-conduct/get-conduct-code": { + parameters: { + query?: never; + header?: never; + path: { + key: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-of-conduct"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + "credentials/revoke": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of credentials to be revoked, up to 1000 per request. */ + credentials: string[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 422: components["responses"]["validation_failed_simple"]; + 500: components["responses"]["internal_error"]; + }; + }; + "emojis/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "code-security/get-configurations-for-enterprise": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/create-configuration-for-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the enterprise. */ + name: string; + /** @description A description of the code security configuration */ + description: string; + /** + * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. + * + * > [!WARNING] + * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. + * + * @default disabled + * @enum {string} + */ + advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; + /** + * @description The enablement status of GitHub Code Security features. + * @enum {string} + */ + code_security?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependency Graph + * @default enabled + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @default disabled + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @default disabled + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @default disabled + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of GitHub Secret Protection features. + * @enum {string} + */ + secret_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @default disabled + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @default disabled + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @default disabled + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @default enforced + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Successfully created code security configuration */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/get-default-configurations-for-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-default-configurations"]; + }; + }; + }; + }; + "code-security/get-single-configuration-for-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/delete-configuration-for-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/update-enterprise-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique across the enterprise. */ + name?: string; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. + * + * > [!WARNING] + * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. + * + * @enum {string} + */ + advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; + /** + * @description The enablement status of GitHub Code Security features. + * @enum {string} + */ + code_security?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of GitHub Secret Protection features. + * @enum {string} + */ + secret_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/attach-enterprise-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of repositories to attach the configuration to. + * @enum {string} + */ + scope: "all" | "all_without_configurations"; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/set-configuration-as-default-for-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Specify which types of repository this security configuration should be applied to by default. + * @enum {string} + */ + default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; + }; + }; + }; + responses: { + /** @description Default successfully changed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description Specifies which types of repository this security configuration is applied to by default. + * @enum {string} + */ + default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/get-repositories-for-enterprise-configuration": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. + * + * Can be: `all`, `attached`, `attaching`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` */ + status?: string; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration-repositories"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/list-alerts-for-enterprise": { + parameters: { + query?: { + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + /** @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: + * - An exact number (`n`) + * - Comparators such as `>n`, `=n`, `<=n` + * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 + * + * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. */ + epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; + /** @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. + * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. */ + has?: components["parameters"]["dependabot-alert-comma-separated-has"]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + first?: components["parameters"]["pagination-first"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + last?: components["parameters"]["pagination-last"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert-with-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "secret-scanning/list-alerts-for-enterprise": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** @description A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** @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`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** @description 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"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + validity?: components["parameters"]["secret-scanning-alert-validity"]; + /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ + is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; + /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ + is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; + /** @description A boolean value representing whether or not to hide literal secrets in the results. */ + hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "activity/list-public-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "activity/get-feeds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["feed"]; + }; + }; + }; + }; + "gists/list": { + parameters: { + query?: { + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/create": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + 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"); + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + [name: string]: unknown; + }; + 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"]; + }; + }; + "gists/list-public": { + parameters: { + query?: { + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/list-starred": { + parameters: { + query?: { + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The description of the gist. + * @example Example Ruby script + */ + description?: string; + /** + * @description The gist files to be updated, renamed, or deleted. Each `key` must match the current filename + * (including extension) of the targeted gist file. For example: `hello.py`. + * + * To delete a file, set the whole file to null. For example: `hello.py : null`. The file will also be + * deleted if the specified object does not contain at least one of `content` or `filename`. + * @example { + * "hello.rb": { + * "content": "blah", + * "filename": "goodbye.rb" + * } + * } + */ + files?: { + [key: string]: { + /** @description The new content of the file. */ + content?: string; + /** @description The new filename for the file. */ + filename?: string | null; + } | null; + }; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/list-comments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/create-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "gists/list-commits": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-commit"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/list-forks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/fork": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/check-is-starred": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if gist is starred */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if gist is not starred */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + }; + }; + "gists/star": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/unstar": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-revision": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gitignore/get-all-templates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "gitignore/get-template": { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gitignore-template"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "apps/list-repos-accessible-to-installation": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + 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"]; + }; + }; + "apps/revoke-installation-access-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/list": { + parameters: { + query?: { + /** @description 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"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last 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; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + 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": { + parameters: { + query?: { + featured?: boolean; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "licenses/get": { + parameters: { + query?: never; + header?: never; + path: { + license: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "markdown/render": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The Markdown text to render in HTML. */ + text: string; + /** + * @description The rendering mode. + * @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "Content-Type": components["headers"]["content-type"]; + /** @example 279 */ + "Content-Length"?: string; + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + [name: string]: unknown; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "markdown/render-raw": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "text/plain": string; + "text/x-markdown": string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + [name: string]: unknown; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "apps/get-subscription-plan-for-account": { + parameters: { + query?: never; + header?: never; + path: { + /** @description account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "apps/list-plans": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-accounts-for-plan": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/get-subscription-plan-for-account-stubbed": { + parameters: { + query?: never; + header?: never; + path: { + /** @description account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "apps/list-plans-stubbed": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + "apps/list-accounts-for-plan-stubbed": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + "meta/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "activity/list-public-events-for-repo-network": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-notifications-for-authenticated-user": { + parameters: { + query?: { + /** @description If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** @description Only show results that were last 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"]; + /** @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?: components["parameters"]["before"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 50). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + 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"]; + }; + }; + "activity/mark-notifications-as-read": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Reset Content */ + 205: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/get-thread": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/mark-thread-as-done": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "activity/mark-thread-as-read": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reset Content */ + 205: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/get-thread-subscription-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/set-thread-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to block all notifications from a thread. + * @default false + */ + ignored?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/delete-thread-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "meta/get-octocat": { + parameters: { + query?: { + /** @description The words to show in Octocat's speech bubble */ + s?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/octocat-stream": string; + }; + }; + }; + }; + "orgs/list": { + parameters: { + query?: { + /** @description An organization ID. Only return organizations with an ID greater than this ID. */ + since?: components["parameters"]["since-org"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "dependabot/repository-access-for-org": { + parameters: { + query?: { + /** @description The page number of results to fetch. */ + page?: number; + /** @description Number of results per page. */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-repository-access-details"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/update-repository-access-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to add. */ + repository_ids_to_add?: number[]; + /** @description List of repository IDs to remove. */ + repository_ids_to_remove?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/set-repository-access-default-level": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The default repository access level for Dependabot updates. + * @example internal + * @enum {string} + */ + default_level: "public" | "internal"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "billing/get-github-billing-usage-report-org": { + parameters: { + query?: { + /** @description If specified, only return results for a single year. The value of `year` is an integer with four digits representing a year. For example, `2025`. Default value is the current year. */ + year?: components["parameters"]["billing-usage-report-year"]; + /** @description If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the default `year` is used. */ + month?: components["parameters"]["billing-usage-report-month"]; + /** @description If specified, only return results for a single day. The value of `day` is an integer between `1` and `31`. If no `year` or `month` is specified, the default `year` and `month` are used. */ + day?: components["parameters"]["billing-usage-report-day"]; + /** @description If specified, only return results for a single hour. The value of `hour` is an integer between `0` and `23`. If no `year`, `month`, or `day` is specified, the default `year`, `month`, and `day` are used. */ + hour?: components["parameters"]["billing-usage-report-hour"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["billing_usage_report_org"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "orgs/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "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. The maximum size is 160 characters. */ + 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 closing down 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; + /** + * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. + * @default false + */ + web_commit_signoff_required?: boolean; + /** @example "http://github.blog" */ + blog?: string; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + advanced_security_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** @description If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. */ + secret_scanning_push_protection_custom_link?: string; + /** @description Controls whether or not deploy keys may be added and used for repositories in the organization. */ + deploy_keys_enabled_for_repositories?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 409: components["responses"]["conflict"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; + }; + }; + }; + }; + "actions/get-actions-cache-usage-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; + }; + }; + "actions/get-actions-cache-usage-by-repo-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; + }; + }; + }; + }; + }; + "actions/list-hosted-runners-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["actions-hosted-runner"][]; + }; + }; + }; + }; + }; + "actions/create-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name: string; + /** @description The image of runner. To list all available images, use `GET /actions/hosted-runners/images/github-owned` or `GET /actions/hosted-runners/images/partner`. */ + image: { + /** @description The unique identifier of the runner image. */ + id?: string; + /** + * @description The source of the runner image. + * @enum {string} + */ + source?: "github" | "partner" | "custom"; + }; + /** @description The machine size of the runner. To list available sizes, use `GET actions/hosted-runners/machine-sizes` */ + size: string; + /** @description The existing runner group to add this runner to. */ + runner_group_id: number; + /** @description The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost. */ + maximum_runners?: number; + /** @description Whether this runner should be created with a static public IP. Note limit on account. To list limits on account, use `GET actions/hosted-runners/limits` */ + enable_static_ip?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + "actions/get-hosted-runners-github-owned-images-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + images: components["schemas"]["actions-hosted-runner-image"][]; + }; + }; + }; + }; + }; + "actions/get-hosted-runners-partner-images-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + images: components["schemas"]["actions-hosted-runner-image"][]; + }; + }; + }; + }; + }; + "actions/get-hosted-runners-limits-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-hosted-runner-limits"]; + }; + }; + }; + }; + "actions/get-hosted-runners-machine-specs-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + machine_specs: components["schemas"]["actions-hosted-runner-machine-spec"][]; + }; + }; + }; + }; + }; + "actions/get-hosted-runners-platforms-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + platforms: string[]; + }; + }; + }; + }; + }; + "actions/get-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the GitHub-hosted runner. */ + hosted_runner_id: components["parameters"]["hosted-runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + "actions/delete-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the GitHub-hosted runner. */ + hosted_runner_id: components["parameters"]["hosted-runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + "actions/update-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the GitHub-hosted runner. */ + hosted_runner_id: components["parameters"]["hosted-runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name?: string; + /** @description The existing runner group to add this runner to. */ + runner_group_id?: number; + /** @description The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost. */ + maximum_runners?: number; + /** @description Whether this runner should be updated with a static public IP. Note limit on account. To list limits on account, use `GET actions/hosted-runners/limits` */ + enable_static_ip?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + "oidc/get-oidc-custom-sub-template-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A JSON serialized template for OIDC subject claim customization */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + }; + }; + "oidc/update-oidc-custom-sub-template-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + responses: { + /** @description Empty response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/get-github-actions-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-organization-permissions"]; + }; + }; + }; + }; + "actions/set-github-actions-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-selected-repositories-enabled-github-actions-organization": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + }; + }; + "actions/set-selected-repositories-enabled-github-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to enable for GitHub Actions. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/enable-selected-repository-github-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/disable-selected-repository-github-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-allowed-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + "actions/set-allowed-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-github-actions-default-workflow-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + "actions/set-github-actions-default-workflow-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-self-hosted-runner-groups-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Only return runner groups that are allowed to be used by this repository. */ + visible_to_repository?: components["parameters"]["visible-to-repository"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runner_groups: components["schemas"]["runner-groups-org"][]; + }; + }; + }; + }; + }; + "actions/create-self-hosted-runner-group-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + 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[]; + /** @description The identifier of a hosted compute network configuration. */ + network_configuration_id?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + "actions/get-self-hosted-runner-group-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + "actions/delete-self-hosted-runner-group-from-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/update-self-hosted-runner-group-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + 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 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[]; + /** @description The identifier of a hosted compute network configuration. */ + network_configuration_id?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + "actions/list-github-hosted-runners-in-group-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["actions-hosted-runner"][]; + }; + }; + }; + }; + }; + "actions/list-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + "actions/set-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/add-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-self-hosted-runners-in-group-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + "actions/set-self-hosted-runners-in-group-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of runner IDs to add to the runner group. */ + runners: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/add-self-hosted-runner-to-group-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/remove-self-hosted-runner-from-group-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-self-hosted-runners-for-org": { + parameters: { + query?: { + /** @description The name of a self-hosted runner. */ + name?: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + "actions/list-runner-applications-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + "actions/generate-runner-jitconfig-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the new runner. */ + name: string; + /** @description The ID of the runner group to register the runner to. */ + runner_group_id: number; + /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ + labels: string[]; + /** + * @description The working directory to be used for job execution, relative to the runner install directory. + * @default _work + */ + work_folder?: string; + }; + }; + }; + responses: { + 201: components["responses"]["actions_runner_jitconfig"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/create-registration-token-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + "actions/create-remove-token-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + "actions/get-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + "actions/delete-self-hosted-runner-from-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-labels-for-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-labels-for-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + 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[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/add-custom-labels-to-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/remove-custom-label-from-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** @description The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-org-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-actions-secret"][]; + }; + }; + }; + }; + }; + "actions/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + "actions/get-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-actions-secret"]; + }; + }; + }; + }; + "actions/create-or-update-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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/actions/secrets#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/actions/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/delete-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + "actions/set-selected-repos-for-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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 [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/add-selected-repo-to-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type is not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/remove-selected-repo-from-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-org-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["organization-actions-variable"][]; + }; + }; + }; + }; + }; + "actions/create-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + /** + * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a variable */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + "actions/get-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-actions-variable"]; + }; + }; + }; + }; + "actions/delete-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/update-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + /** + * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. + * @enum {string} + */ + visibility?: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-selected-repos-for-org-variable": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/set-selected-repos-for-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The IDs of the repositories that can access the organization variable. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/add-selected-repo-to-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/remove-selected-repo-from-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/list-attestations-bulk": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of subject digests to fetch attestations for. */ + subject_digests: string[]; + /** @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ + predicate_type?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Mapping of subject digest to bundles. */ + attestations_subject_digests?: { + [key: string]: { + /** @description The bundle of the attestation. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[] | null; + }; + /** @description Information about the current page. */ + page_info?: { + /** @description Indicates whether there is a next page. */ + has_next?: boolean; + /** @description Indicates whether there is a previous page. */ + has_previous?: boolean; + /** @description The cursor to the next page. */ + next?: string; + /** @description The cursor to the previous page. */ + previous?: string; + }; + }; + }; + }; + }; + }; + "orgs/delete-attestations-bulk": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of subject digests associated with the artifact attestations to delete. */ + subject_digests: string[]; + } | { + /** @description List of unique IDs associated with the artifact attestations to delete. */ + attestation_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete-attestations-by-subject-digest": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Subject Digest */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete-attestations-by-id": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Attestation ID */ + attestation_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-attestations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ + predicate_type?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + attestations?: { + /** @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[]; + }; + }; + }; + }; + }; + "orgs/list-blocked-users": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "orgs/check-blocked-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If the user is blocked */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description If the user is not blocked */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "orgs/block-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/unblock-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "campaigns/list-org-campaigns": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description If specified, only campaigns with this state will be returned. */ + state?: components["schemas"]["campaign-state"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated" | "ends_at" | "published"; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["campaign-summary"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "campaigns/create-campaign": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the campaign */ + name: string; + /** @description A description for the campaign */ + description: string; + /** @description The logins of the users to set as the campaign managers. At this time, only a single manager can be supplied. */ + managers?: string[]; + /** @description The slugs of the teams to set as the campaign managers. */ + team_managers?: string[]; + /** + * Format: date-time + * @description The end date and time of the campaign. The date must be in the future. + */ + ends_at: string; + /** + * Format: uri + * @description The contact link of the campaign. Must be a URI. + */ + contact_link?: string | null; + /** @description The code scanning alerts to include in this campaign */ + code_scanning_alerts: { + /** @description The repository id */ + repository_id: number; + /** @description The alert numbers */ + alert_numbers: number[]; + }[]; + /** + * @description If true, will automatically generate issues for the campaign. The default is false. + * @default false + */ + generate_issues?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["campaign-summary"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Too Many Requests */ + 429: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "campaigns/get-campaign-summary": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The campaign number. */ + campaign_number: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["campaign-summary"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "campaigns/delete-campaign": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The campaign number. */ + campaign_number: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Deletion successful */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "campaigns/update-campaign": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The campaign number. */ + campaign_number: number; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the campaign */ + name?: string; + /** @description A description for the campaign */ + description?: string; + /** @description The logins of the users to set as the campaign managers. At this time, only a single manager can be supplied. */ + managers?: string[]; + /** @description The slugs of the teams to set as the campaign managers. */ + team_managers?: string[]; + /** + * Format: date-time + * @description The end date and time of the campaign, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + ends_at?: string; + /** + * Format: uri + * @description The contact link of the campaign. Must be a URI. + */ + contact_link?: string | null; + state?: components["schemas"]["campaign-state"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["campaign-summary"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/list-alerts-for-org": { + parameters: { + query?: { + /** @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["parameters"]["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["parameters"]["tool-guid"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state-query"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated"; + /** @description If specified, only code scanning alerts with this severity will be returned. */ + severity?: components["schemas"]["code-scanning-alert-severity"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-security/get-configurations-for-org": { + parameters: { + query?: { + /** @description The target type of the code security configuration */ + target_type?: "global" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/create-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the organization. */ + name: string; + /** @description A description of the code security configuration */ + description: string; + /** + * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. + * + * > [!WARNING] + * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. + * + * @default disabled + * @enum {string} + */ + advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; + /** + * @description The enablement status of GitHub Code Security features. + * @enum {string} + */ + code_security?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependency Graph + * @default enabled + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @default disabled + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @default disabled + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @default disabled + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default not_set + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of GitHub Secret Protection features. + * @enum {string} + */ + secret_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @default disabled + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated bypass + * @default disabled + * @enum {string} + */ + secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for secret scanning delegated bypass */ + secret_scanning_delegated_bypass_options?: { + /** @description The bypass reviewers for secret scanning delegated bypass */ + reviewers?: { + /** @description The ID of the team or role selected as a bypass reviewer */ + reviewer_id: number; + /** + * @description The type of the bypass reviewer + * @enum {string} + */ + reviewer_type: "TEAM" | "ROLE"; + }[]; + }; + /** + * @description The enablement status of secret scanning validity checks + * @default disabled + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @default disabled + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @default enforced + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Successfully created code security configuration */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + }; + }; + "code-security/get-default-configurations": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-default-configurations"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/detach-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository IDs to detach from configurations. Up to 1000 IDs can be provided. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/get-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/delete-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/update-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the organization. */ + name?: string; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. + * + * > [!WARNING] + * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. + * + * @enum {string} + */ + advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; + /** + * @description The enablement status of GitHub Code Security features. + * @enum {string} + */ + code_security?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of GitHub Secret Protection features. + * @enum {string} + */ + secret_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated bypass + * @enum {string} + */ + secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for secret scanning delegated bypass */ + secret_scanning_delegated_bypass_options?: { + /** @description The bypass reviewers for secret scanning delegated bypass */ + reviewers?: { + /** @description The ID of the team or role selected as a bypass reviewer */ + reviewer_id: number; + /** + * @description The type of the bypass reviewer + * @enum {string} + */ + reviewer_type: "TEAM" | "ROLE"; + }[]; + }; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Response when a configuration is updated */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + /** @description Response when no new updates are made */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "code-security/attach-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of repositories to attach the configuration to. `selected` means the configuration will be attached to only the repositories specified by `selected_repository_ids` + * @enum {string} + */ + scope: "all" | "all_without_configurations" | "public" | "private_or_internal" | "selected"; + /** @description An array of repository IDs to attach the configuration to. You can only provide a list of repository ids when the `scope` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + }; + }; + "code-security/set-configuration-as-default": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Specify which types of repository this security configuration should be applied to by default. + * @enum {string} + */ + default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; + }; + }; + }; + responses: { + /** @description Default successfully changed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description Specifies which types of repository this security configuration is applied to by default. + * @enum {string} + */ + default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/get-repositories-for-configuration": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. + * + * Can be: `all`, `attached`, `attaching`, `detached`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` */ + status?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration-repositories"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/list-in-organization": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "codespaces/set-codespaces-access": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization. + * @enum {string} + */ + visibility: "disabled" | "selected_members" | "all_members" | "all_members_and_outside_collaborators"; + /** @description The usernames of the organization members who should have access to codespaces in the organization. Required when `visibility` is `selected_members`. The provided list of usernames will replace any existing value. */ + selected_usernames?: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/set-codespaces-access-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members whose codespaces be billed to the organization. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/delete-codespaces-access-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members whose codespaces should not be billed to the organization. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/list-org-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-org-secret"][]; + }; + }; + }; + }; + }; + "codespaces/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; + }; + "codespaces/get-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-org-secret"]; + }; + }; + }; + }; + "codespaces/create-or-update-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The 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/codespaces/organization-secrets#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description The 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/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/delete-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/set-selected-repos-for-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "codespaces/add-selected-repo-to-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type is not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/remove-selected-repo-from-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "copilot/get-copilot-organization-details": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-organization-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description There is a problem with your account's associated payment method. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/list-copilot-seats": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Total number of Copilot seats for the organization currently being billed. */ + total_seats?: number; + seats?: components["schemas"]["copilot-seat-details"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/add-copilot-seats-for-teams": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of team names within the organization to which to grant access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_created: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/cancel-copilot-seat-assignment-for-teams": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of teams from which to revoke access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/add-copilot-seats-for-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members to be granted access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_created: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/cancel-copilot-seat-assignment-for-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members for which to revoke access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, the seat management setting is set to enable Copilot for all users or is unconfigured, or a user's seat cannot be cancelled because it was assigned to them via a team. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/copilot-metrics-for-organization": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-usage-metrics-day"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["usage_metrics_api_disabled"]; + 500: components["responses"]["internal_error"]; + }; + }; + "dependabot/list-alerts-for-org": { + parameters: { + query?: { + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + /** @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: + * - An exact number (`n`) + * - Comparators such as `>n`, `=n`, `<=n` + * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 + * + * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. */ + epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; + /** @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. + * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. */ + has?: components["parameters"]["dependabot-alert-comma-separated-has"]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + first?: components["parameters"]["pagination-first"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + last?: components["parameters"]["pagination-last"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert-with-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "dependabot/list-org-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-dependabot-secret"][]; + }; + }; + }; + }; + }; + "dependabot/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; + }; + "dependabot/get-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-dependabot-secret"]; + }; + }; + }; + }; + "dependabot/create-or-update-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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/dependabot/secrets#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/dependabot/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: string[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "dependabot/delete-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "dependabot/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + "dependabot/set-selected-repos-for-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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/dependabot/secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "dependabot/add-selected-repo-to-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type is not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "dependabot/remove-selected-repo-from-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "packages/list-docker-migration-conflicting-packages-for-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/list-public-org-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "orgs/list-failed-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Must be passed as "web". */ + name: string; + /** @description Key/value pairs to provide settings for this 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"]; + /** @example "kdaigle" */ + username?: string; + /** @example "password" */ + password?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. + * @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/orgs/octocat/hooks/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this 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"]; + }; + /** + * @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-webhook-config-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "orgs/update-webhook-config-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: 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"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "orgs/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @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?: components["parameters"]["cursor"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/redeliver-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/ping-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "api-insights/get-route-stats-by-actor": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: components["parameters"]["api-insights-route-stats-sort"]; + /** @description Providing a substring will filter results where the API route contains the substring. This is a case-insensitive search. */ + api_route_substring?: components["parameters"]["api-insights-api-route-substring"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The type of the actor */ + actor_type: components["parameters"]["api-insights-actor-type"]; + /** @description The ID of the actor */ + actor_id: components["parameters"]["api-insights-actor-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-route-stats"]; + }; + }; + }; + }; + "api-insights/get-subject-stats": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: components["parameters"]["api-insights-sort"]; + /** @description Providing a substring will filter results where the subject name contains the substring. This is a case-insensitive search. */ + subject_name_substring?: components["parameters"]["api-insights-subject-name-substring"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-subject-stats"]; + }; + }; + }; + }; + "api-insights/get-summary-stats": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-summary-stats"]; + }; + }; + }; + }; + "api-insights/get-summary-stats-by-user": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the user to query for stats */ + user_id: components["parameters"]["api-insights-user-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-summary-stats"]; + }; + }; + }; + }; + "api-insights/get-summary-stats-by-actor": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The type of the actor */ + actor_type: components["parameters"]["api-insights-actor-type"]; + /** @description The ID of the actor */ + actor_id: components["parameters"]["api-insights-actor-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-summary-stats"]; + }; + }; + }; + }; + "api-insights/get-time-stats": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ + timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-time-stats"]; + }; + }; + }; + }; + "api-insights/get-time-stats-by-user": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ + timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the user to query for stats */ + user_id: components["parameters"]["api-insights-user-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-time-stats"]; + }; + }; + }; + }; + "api-insights/get-time-stats-by-actor": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ + timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The type of the actor */ + actor_type: components["parameters"]["api-insights-actor-type"]; + /** @description The ID of the actor */ + actor_id: components["parameters"]["api-insights-actor-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-time-stats"]; + }; + }; + }; + }; + "api-insights/get-user-stats": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: components["parameters"]["api-insights-sort"]; + /** @description Providing a substring will filter results where the actor name contains the substring. This is a case-insensitive search. */ + actor_name_substring?: components["parameters"]["api-insights-actor-name-substring"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the user to query for stats */ + user_id: components["parameters"]["api-insights-user-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-user-stats"]; + }; + }; + }; + }; + "apps/get-org-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + "orgs/list-app-installations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + }; + }; + "interactions/get-restrictions-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"] | Record; + }; + }; + }; + }; + "interactions/set-restrictions-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "interactions/remove-restrictions-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/list-pending-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Filter invitations by their member role. */ + role?: "all" | "admin" | "direct_member" | "billing_manager" | "hiring_manager"; + /** @description Filter invitations by their invitation source. */ + invitation_source?: "all" | "member" | "scim"; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + 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. + * * `reinstate` - The previous role assigned to the invitee before they were removed from your organization. Can be one of the roles listed above. Only works if the invitee was previously part of your organization. + * @default direct_member + * @enum {string} + */ + role?: "admin" | "direct_member" | "billing_manager" | "reinstate"; + /** @description Specify IDs for the teams you want to invite new members to. */ + team_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/cancel-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/list-invitation-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-issue-types": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-type"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-issue-type": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["organization-create-issue-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-type"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "orgs/update-issue-type": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the issue type. */ + issue_type_id: components["parameters"]["issue-type-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["organization-update-issue-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-type"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "orgs/delete-issue-type": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the issue type. */ + issue_type_id: components["parameters"]["issue-type-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "issues/list-for-org": { + parameters: { + query?: { + /** @description 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"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description Can be the name of an issue type. */ + type?: string; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-members": { + parameters: { + query?: { + /** @description 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. `2fa_insecure` means that only members with [insecure 2FA methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) will be returned. These options are only available for organization owners. */ + filter?: "2fa_disabled" | "2fa_insecure" | "all"; + /** @description Filter members returned by their role. */ + role?: "all" | "admin" | "member"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/check-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if requester is an organization member and user is a member */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if requester is not an organization member */ + 302: { + headers: { + /** @example https://api.github.com/orgs/github/public_members/pezra */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if requester is an organization member and user is not a member */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/remove-member": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "codespaces/get-codespaces-for-user-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "codespaces/delete-from-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + 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"]; + }; + }; + "codespaces/stop-in-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "copilot/get-copilot-seat-details-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The user's GitHub Copilot seat details, including usage. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-seat-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization or the user has a pending organization invitation. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/get-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/set-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + 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"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/remove-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/list-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + }; + }; + "migrations/start-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + 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. */ + exclude?: "repositories"[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "migrations/get-status-for-org": { + parameters: { + query?: { + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description * `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: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/download-archive-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/delete-archive-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/unlock-repo-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** @description repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/list-repos-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-org-roles": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response - list of organization roles */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The total number of organization roles available to the organization. */ + total_count?: number; + /** @description The list of organization roles available to the organization. */ + roles?: components["schemas"]["organization-role"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/revoke-all-org-roles-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/assign-team-to-org-role": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization, team or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled for the organization, or validation failed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/revoke-org-role-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/revoke-all-org-roles-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/assign-user-to-org-role": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization, user or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled enabled for the organization, the validation failed, or the user is not an organization member. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/revoke-org-role-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/get-org-role": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-role"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/list-org-role-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response - List of assigned teams */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-role-assignment"][]; + }; + }; + /** @description Response if the organization or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled or validation failed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/list-org-role-users": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response - List of assigned users */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user-role-assignment"][]; + }; + }; + /** @description Response if the organization or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled or validation failed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/list-outside-collaborators": { + parameters: { + query?: { + /** @description 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. `2fa_insecure` means that only outside collaborators with [insecure 2FA methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) will be returned. */ + filter?: "2fa_disabled" | "2fa_insecure" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "orgs/convert-member-to-outside-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description User is getting converted asynchronously */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description User was converted */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description 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/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/remove-outside-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity if user is a member of the organization */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + }; + "packages/list-packages-for-organization": { + parameters: { + query: { + /** @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 selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + visibility?: components["parameters"]["package-visibility"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: number; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "packages/get-package-for-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + "packages/delete-package-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-for-org": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-all-package-versions-for-package-owned-by-org": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-package-version-for-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + "packages/delete-package-version-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-version-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-pat-grant-requests": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The property by which to sort the results. */ + sort?: components["parameters"]["personal-access-token-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A list of owner usernames to use to filter the results. */ + owner?: components["parameters"]["personal-access-token-owner"]; + /** @description The name of the repository to use to filter the results. */ + repository?: components["parameters"]["personal-access-token-repository"]; + /** @description The permission to use to filter the results. */ + permission?: components["parameters"]["personal-access-token-permission"]; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_before?: components["parameters"]["personal-access-token-before"]; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_after?: components["parameters"]["personal-access-token-after"]; + /** @description The ID of the token */ + token_id?: components["parameters"]["personal-access-token-token-id"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-programmatic-access-grant-request"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/review-pat-grant-requests-in-bulk": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values. */ + pat_request_ids?: number[]; + /** + * @description Action to apply to the requests. + * @enum {string} + */ + action: "approve" | "deny"; + /** @description Reason for approving or denying the requests. Max 1024 characters. */ + reason?: string | null; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/review-pat-grant-request": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the request for access via fine-grained personal access token. */ + pat_request_id: number; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the request. + * @enum {string} + */ + action: "approve" | "deny"; + /** @description Reason for approving or denying the request. Max 1024 characters. */ + reason?: string | null; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/list-pat-grant-request-repositories": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the request for access via fine-grained personal access token. */ + pat_request_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/list-pat-grants": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The property by which to sort the results. */ + sort?: components["parameters"]["personal-access-token-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A list of owner usernames to use to filter the results. */ + owner?: components["parameters"]["personal-access-token-owner"]; + /** @description The name of the repository to use to filter the results. */ + repository?: components["parameters"]["personal-access-token-repository"]; + /** @description The permission to use to filter the results. */ + permission?: components["parameters"]["personal-access-token-permission"]; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_before?: components["parameters"]["personal-access-token-before"]; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_after?: components["parameters"]["personal-access-token-after"]; + /** @description The ID of the token */ + token_id?: components["parameters"]["personal-access-token-token-id"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-programmatic-access-grant"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/update-pat-accesses": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the fine-grained personal access token. + * @enum {string} + */ + action: "revoke"; + /** @description The IDs of the fine-grained personal access tokens. */ + pat_ids: number[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/update-pat-access": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the fine-grained personal access token. */ + pat_id: components["parameters"]["fine-grained-personal-access-token-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the fine-grained personal access token. + * @enum {string} + */ + action: "revoke"; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/list-pat-grant-repositories": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the fine-grained personal access token. */ + pat_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "private-registries/list-org-private-registries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + configurations: components["schemas"]["org-private-registry-configuration"][]; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "private-registries/create-org-private-registry": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The registry type. + * @enum {string} + */ + registry_type: "maven_repository" | "nuget_feed" | "goproxy_server" | "npm_registry" | "rubygems_server" | "cargo_registry" | "composer_repository" | "docker_registry" | "git_source" | "helm_registry"; + /** + * Format: uri + * @description The URL of the private registry. + */ + url: string; + /** @description The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication. */ + username?: string | null; + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint. */ + encrypted_value: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id: string; + /** + * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. You can manage the list of selected repositories using the [Update a private registry for an organization](https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization) endpoint. This field should be omitted if `visibility` is set to `all` or `private`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description The organization private registry configuration */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-private-registry-configuration-with-selected-repositories"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "private-registries/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The identifier for the key. + * @example 012345678912345678 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + */ + key: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "private-registries/get-org-private-registry": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The specified private registry configuration for the organization */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-private-registry-configuration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "private-registries/delete-org-private-registry": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "private-registries/update-org-private-registry": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The registry type. + * @enum {string} + */ + registry_type?: "maven_repository" | "nuget_feed" | "goproxy_server" | "npm_registry" | "rubygems_server" | "cargo_registry" | "composer_repository" | "docker_registry" | "git_source" | "helm_registry"; + /** + * Format: uri + * @description The URL of the private registry. + */ + url?: string; + /** @description The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication. */ + username?: string | null; + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint. */ + encrypted_value?: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. + * @enum {string} + */ + visibility?: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. This field should be omitted if `visibility` is set to `all` or `private`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/list-for-org": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/create-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "orgs/get-all-custom-properties": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["custom-property"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-or-update-custom-properties": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The array of custom properties to create or update. */ + properties: components["schemas"]["custom-property"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["custom-property"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/get-custom-property": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The custom property name */ + custom_property_name: components["parameters"]["custom-property-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["custom-property"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-or-update-custom-property": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The custom property name */ + custom_property_name: components["parameters"]["custom-property-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["custom-property-set-payload"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["custom-property"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/remove-custom-property": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The custom property name */ + custom_property_name: components["parameters"]["custom-property-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-custom-properties-values-for-repos": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Finds repositories in the organization with a query containing 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/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + repository_query?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-repo-custom-property-values"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-or-update-custom-properties-values-for-repos": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of repositories that the custom property values will be applied to. */ + repository_names: string[]; + /** @description List of custom property names and associated values to apply to the repositories. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/list-public-members": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "orgs/check-public-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if user is a public member */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if user is not a public member */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/set-public-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "orgs/remove-public-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-for-org": { + parameters: { + query?: { + /** @description Specifies the types of repositories you want returned. */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + "repos/create-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + 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 Whether the repository is private. + * @default false + */ + private?: boolean; + /** + * @description The visibility of the repository. + * @enum {string} + */ + visibility?: "public" | "private"; + /** + * @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 Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads?: 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. **The authenticated user must be an organization owner to set this property to `true`.** + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description The custom properties for the new repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-org-rulesets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description A comma-separated list of rule targets to filter by. + * If provided, only rulesets that apply to the specified targets will be returned. + * For example, `branch,tag,push`. + * */ + targets?: components["parameters"]["ruleset-targets"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/create-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name: string; + /** + * @description The target of the ruleset + * @default branch + * @enum {string} + */ + target?: "branch" | "tag" | "push" | "repository"; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["org-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-org-rule-suites": { + parameters: { + query?: { + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ + ref?: components["parameters"]["ref-in-query"]; + /** @description The name of the repository to filter on. */ + repository_name?: components["parameters"]["repository-name-in-query"]; + /** @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for rule suites that occurred in the past 7 days (168 hours). */ + time_period?: components["parameters"]["time-period"]; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + actor_name?: components["parameters"]["actor-name-in-query"]; + /** @description The rule suite results to filter on. When specified, only suites with this result will be returned. */ + rule_suite_result?: components["parameters"]["rule-suite-result"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suites"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-org-rule-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. */ + rule_suite_id: components["parameters"]["rule-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suite"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/update-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody?: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name?: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag" | "push" | "repository"; + enforcement?: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["org-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/delete-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/get-org-ruleset-history": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ruleset-version"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/get-org-ruleset-version": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + /** @description The ID of the version */ + version_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ruleset-version-with-state"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "secret-scanning/list-alerts-for-org": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** @description A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** @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`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** @description 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"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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"]; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + validity?: components["parameters"]["secret-scanning-alert-validity"]; + /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ + is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; + /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ + is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; + /** @description A boolean value representing whether or not to hide literal secrets in the results. */ + hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "security-advisories/list-org-repository-advisories": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "published"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description Filter by the state of the repository advisories. Only advisories of this state will be returned. */ + state?: "triage" | "draft" | "published" | "closed"; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-security-manager-teams": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-simple"][]; + }; + }; + }; + }; + "orgs/add-security-manager-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/remove-security-manager-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "billing/get-github-actions-billing-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + "billing/get-github-packages-billing-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + "billing/get-shared-storage-billing-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + "hosted-compute/list-network-configurations-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + network_configurations: components["schemas"]["network-configuration"][]; + }; + }; + }; + }; + }; + "hosted-compute/create-network-configuration-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the network configuration. Must be between 1 and 100 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name: string; + /** + * @description The hosted compute service to use for the network configuration. + * @enum {string} + */ + compute_service?: "none" | "actions"; + /** @description The identifier of the network settings to use for the network configuration. Exactly one network settings must be specified. */ + network_settings_ids: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["network-configuration"]; + }; + }; + }; + }; + "hosted-compute/get-network-configuration-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the hosted compute network configuration. */ + network_configuration_id: components["parameters"]["network-configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["network-configuration"]; + }; + }; + }; + }; + "hosted-compute/delete-network-configuration-from-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the hosted compute network configuration. */ + network_configuration_id: components["parameters"]["network-configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "hosted-compute/update-network-configuration-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the hosted compute network configuration. */ + network_configuration_id: components["parameters"]["network-configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the network configuration. Must be between 1 and 100 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name?: string; + /** + * @description The hosted compute service to use for the network configuration. + * @enum {string} + */ + compute_service?: "none" | "actions"; + /** @description The identifier of the network settings to use for the network configuration. Exactly one network settings must be specified. */ + network_settings_ids?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["network-configuration"]; + }; + }; + }; + }; + "hosted-compute/get-network-settings-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the hosted compute network settings. */ + network_settings_id: components["parameters"]["network-settings-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["network-settings"]; + }; + }; + }; + }; + "copilot/copilot-metrics-for-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-usage-metrics-day"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["usage_metrics_api_disabled"]; + 500: components["responses"]["internal_error"]; + }; + }; + "teams/list": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "teams/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** @description List GitHub usernames 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 The notification setting the team has chosen. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * Default: `notifications_enabled` + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description **Closing down notice**. 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/get-by-name": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/delete-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/update-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + 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 The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description **Closing down notice**. 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; + }; + }; + }; + responses: { + /** @description Response when the updated information already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/list-discussions-in-org": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Pinned discussions only filter */ + pinned?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + "teams/create-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + "teams/get-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + "teams/delete-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/update-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + "teams/list-discussion-comments-in-org": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + "teams/create-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + "teams/get-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + "teams/delete-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/update-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + "reactions/list-for-team-discussion-comment-in-org": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + "reactions/create-for-team-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response when the reaction type has already been added to this team discussion comment */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + "reactions/delete-for-team-discussion-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "reactions/list-for-team-discussion-in-org": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + "reactions/create-for-team-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + "reactions/delete-for-team-discussion": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/list-pending-invitations-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + "teams/list-members-in-org": { + parameters: { + query?: { + /** @description Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "teams/get-membership-for-user-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description if user has no team membership */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/add-or-update-membership-for-user-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/remove-membership-for-user-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/list-projects-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + }; + }; + "teams/check-permissions-for-project-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** @description Not Found if project is not managed by this team */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/add-or-update-project-permissions-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if the project is not owned by the organization */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + }; + "teams/remove-project-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/list-repos-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + "teams/check-permissions-for-repo-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Alternative response with repository permissions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description 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: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if team does not have permission for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/add-or-update-repo-permissions-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and 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. */ + permission?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/remove-repo-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/list-child-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if child teams exist */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + }; + }; + "orgs/enable-or-disable-security-product-on-all-org-repos": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The security feature to enable or disable. */ + security_product: components["parameters"]["security-product"]; + /** @description The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. */ + enablement: components["parameters"]["org-security-product-enablement"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description CodeQL query suite to be used. If you specify the `query_suite` parameter, the default setup will be configured with this query suite only on all repositories that didn't have default setup already configured. It will not change the query suite on repositories that already have default setup configured. + * If you don't specify any `query_suite` in your request, the preferred query suite of the organization will be applied. + * @enum {string} + */ + query_suite?: "default" | "extended"; + }; + }; + }; + responses: { + /** @description Action started */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "projects/get-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "projects/delete-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "projects/update-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "projects/move-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + resource?: string; + field?: string; + }[]; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + /** @description Response */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + }; + "projects/get-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "projects/delete-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/update-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/list-cards": { + parameters: { + query?: { + /** @description Filters the project cards that are returned by the card's state. */ + archived_state?: "all" | "archived" | "not_archived"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-card"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; + }; + }; + /** @description Response */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + }; + "projects/move-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Delete Success */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "projects/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + /** @description Not Found if the authenticated user does not have access to the project */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/list-collaborators": { + parameters: { + query?: { + /** @description 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"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + 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"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/add-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. + * @default write + * @example write + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "projects/remove-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "projects/get-permission-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "projects/list-columns": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-column"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "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_simple"]; + }; + }; + "rate-limit/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; + "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; + "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rate-limit-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 307: components["responses"]["temporary_redirect"]; + /** @description If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "repos/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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. + * @default false + */ + private?: boolean; + /** + * @description The visibility of the repository. + * @enum {string} + */ + visibility?: "public" | "private"; + /** @description Specify which security and analysis features to enable or disable for the repository. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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)." + * + * For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: + * `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. + * + * 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)." + * + * For standalone Code Scanning or Secret Protection products, this parameter cannot be used. */ + advanced_security?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable GitHub Code Security for this repository. */ + code_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; + }; + /** @description Use the `status` property to enable or disable secret scanning AI detection for this repository. For more information, see "[Responsible detection of generic secrets with AI](https://docs.github.com/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets)." */ + secret_scanning_ai_detection?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ + secret_scanning_non_provider_patterns?: { + /** @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; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to archive this repository. `false` will unarchive a previously archived repository. + * @default false + */ + archived?: boolean; + /** + * @description Either `true` to allow private forks, or `false` to prevent private forks. + * @default false + */ + allow_forking?: boolean; + /** + * @description Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits. + * @default false + */ + web_commit_signoff_required?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "actions/list-artifacts-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + name?: components["parameters"]["artifact-name"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + "actions/get-artifact": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["artifact"]; + }; + }; + }; + }; + "actions/delete-artifact": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/download-artifact": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + archive_format: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + Location: components["headers"]["location"]; + [name: string]: unknown; + }; + content?: never; + }; + 410: components["responses"]["gone"]; + }; + }; + "actions/get-actions-cache-usage": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-usage-by-repository"]; + }; + }; + }; + }; + "actions/get-actions-cache-list": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["actions-cache-git-ref-full"]; + /** @description An explicit key or prefix for identifying the cache */ + key?: components["parameters"]["actions-cache-key"]; + /** @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. */ + sort?: components["parameters"]["actions-cache-list-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; + }; + "actions/delete-actions-cache-by-key": { + parameters: { + query: { + /** @description A key for identifying the cache. */ + key: components["parameters"]["actions-cache-key-required"]; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["actions-cache-git-ref-full"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; + }; + "actions/delete-actions-cache-by-id": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the GitHub Actions cache. */ + cache_id: components["parameters"]["cache-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-job-for-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["job"]; + }; + }; + }; + }; + "actions/download-job-logs-for-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @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 */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/re-run-job-for-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "actions/get-custom-oidc-sub-claim-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Status response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["oidc-custom-sub-repo"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-oidc-sub-claim-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ + use_default: boolean; + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys?: string[]; + }; + }; + }; + responses: { + /** @description Empty response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-repo-organization-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + "actions/list-repo-organization-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; + }; + "actions/get-github-actions-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-repository-permissions"]; + }; + }; + }; + }; + "actions/set-github-actions-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-workflow-access-to-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + }; + }; + "actions/set-workflow-access-to-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-allowed-actions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + "actions/set-allowed-actions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-github-actions-default-workflow-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + "actions/set-github-actions-default-workflow-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict response when changing a setting is prevented by the owning organization */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-self-hosted-runners-for-repo": { + parameters: { + query?: { + /** @description The name of a self-hosted runner. */ + name?: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + "actions/list-runner-applications-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + "actions/generate-runner-jitconfig-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the new runner. */ + name: string; + /** @description The ID of the runner group to register the runner to. */ + runner_group_id: number; + /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ + labels: string[]; + /** + * @description The working directory to be used for job execution, relative to the runner install directory. + * @default _work + */ + work_folder?: string; + }; + }; + }; + responses: { + 201: components["responses"]["actions_runner_jitconfig"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/create-registration-token-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + "actions/create-remove-token-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + "actions/get-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + "actions/delete-self-hosted-runner-from-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-labels-for-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-labels-for-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + 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[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/add-custom-labels-to-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/remove-custom-label-from-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** @description The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-workflow-runs-for-repo": { + parameters: { + query?: { + /** @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?: components["parameters"]["actor"]; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** @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/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** @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 Actions can set a status of `waiting`, `pending`, or `requested`. */ + status?: components["parameters"]["workflow-run-status"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @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?: components["parameters"]["created"]; + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + head_sha?: components["parameters"]["workflow-run-head-sha"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + "actions/get-workflow-run": { + parameters: { + query?: { + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + "actions/delete-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-reviews-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment-approvals"][]; + }; + }; + }; + }; + "actions/approve-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/list-workflow-run-artifacts": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + name?: components["parameters"]["artifact-name"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + "actions/get-workflow-run-attempt": { + parameters: { + query?: { + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** @description The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + "actions/list-jobs-for-workflow-run-attempt": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** @description The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "actions/download-workflow-run-attempt-logs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** @description The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @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 */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/cancel-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "actions/review-custom-gates-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["review-custom-gates-comment-required"] | components["schemas"]["review-custom-gates-state-required"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/force-cancel-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "actions/list-jobs-for-workflow-run": { + parameters: { + query?: { + /** @description 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"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + }; + }; + "actions/download-workflow-run-logs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @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 */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/delete-workflow-run-logs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + }; + }; + "actions/get-pending-deployments-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pending-deployment"][]; + }; + }; + }; + }; + "actions/review-pending-deployments-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The list of environment ids to approve or reject + * @example [ + * 161171787, + * 161171795 + * ] + */ + 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + }; + "actions/re-run-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + "actions/re-run-workflow-failed-jobs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + "actions/get-workflow-run-usage": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-run-usage"]; + }; + }; + }; + }; + "actions/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + "actions/get-repo-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + "actions/get-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + "actions/create-or-update-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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 a repository public key](https://docs.github.com/rest/actions/secrets#get-a-repository-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/delete-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-repo-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; + }; + "actions/create-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + "actions/get-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-variable"]; + }; + }; + }; + }; + "actions/delete-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/update-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-repo-workflows": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflows: components["schemas"]["workflow"][]; + }; + }; + }; + }; + }; + "actions/get-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow"]; + }; + }; + }; + }; + "actions/disable-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/create-workflow-dispatch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/enable-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-workflow-runs": { + parameters: { + query?: { + /** @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?: components["parameters"]["actor"]; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** @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/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** @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 Actions can set a status of `waiting`, `pending`, or `requested`. */ + status?: components["parameters"]["workflow-run-status"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @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?: components["parameters"]["created"]; + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + head_sha?: components["parameters"]["workflow-run-head-sha"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + "actions/get-workflow-usage": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-usage"]; + }; + }; + }; + }; + "repos/list-activities": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The Git reference for the activities you want to list. + * + * The `ref` for a branch can be formatted either as `refs/heads/BRANCH_NAME` or `BRANCH_NAME`, where `BRANCH_NAME` is the name of your branch. */ + ref?: string; + /** @description The GitHub username to use to filter by the actor who performed the activity. */ + actor?: string; + /** @description The time period to filter by. + * + * For example, `day` will filter for activity that occurred in the past 24 hours, and `week` will filter for activity that occurred in the past 7 days (168 hours). */ + time_period?: "day" | "week" | "month" | "quarter" | "year"; + /** @description The activity type to filter by. + * + * For example, you can choose to filter by "force_push", to see all force pushes to the repository. */ + activity_type?: "push" | "force_push" | "branch_creation" | "branch_deletion" | "pr_merge" | "merge_queue_merge"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["activity"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "issues/list-assignees": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/check-user-can-be-assigned": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + assignee: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Otherwise a `404` status code is returned. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "repos/create-attestation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + }; + }; + }; + responses: { + /** @description response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The ID of the attestation. */ + id?: number; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-attestations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ + predicate_type?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + attestations?: { + /** @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[]; + }; + }; + }; + }; + }; + "repos/list-autolinks": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["autolink"][]; + }; + }; + }; + }; + "repos/create-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description This prefix appended by certain 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 different characters depending on the value of `is_alphanumeric`. */ + url_template: string; + /** + * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. + * @default true + */ + is_alphanumeric?: boolean; + }; + }; + }; + responses: { + /** @description response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/check-automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if Dependabot is enabled */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-automated-security-fixes"]; + }; + }; + /** @description Not Found if Dependabot is not enabled for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/enable-automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/disable-automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-branches": { + parameters: { + query?: { + /** @description Setting to `true` returns only branches protected by branch protections or rulesets. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ + protected?: boolean; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["short-branch"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-protection"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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 **Closing down notice**: 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 Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`. + * @default false + */ + require_last_push_approval?: boolean; + /** @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/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/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; + /** + * @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`. + * @default false + */ + lock_branch?: boolean; + /** + * @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`. + * @default false + */ + allow_fork_syncing?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "repos/delete-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-admin-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + "repos/set-admin-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + "repos/delete-admin-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-pull-request-review-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + }; + }; + "repos/delete-pull-request-review-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-pull-request-review-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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 Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` + * @default false + */ + require_last_push_approval?: boolean; + /** @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[]; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-commit-signature-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-commit-signature-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-commit-signature-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-status-checks-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/remove-status-check-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/update-status-check-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Require branches to be up to date before merging. */ + strict?: boolean; + /** + * @deprecated + * @description **Closing down notice**: 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; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-all-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-restriction-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-apps-with-access-to-protected-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-app-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-app-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-app-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-teams-with-access-to-protected-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-team-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-team-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-team-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-users-with-access-to-protected-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-user-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-user-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-user-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/rename-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The new name of the branch. */ + new_name: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "checks/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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 of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. + * @default queued + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; + /** + * 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. */ + output?: { + /** @description The title of the check run. */ + title: string; + /** @description The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ + summary: string; + /** @description The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ + 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/checks/runs#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. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + 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. Line numbers start at 1. */ + 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. Column numbers start at 1. */ + 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. */ + 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. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-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; + }[]; + } & (({ + /** @enum {unknown} */ + status: "completed"; + } & { + [key: string]: unknown; + }) | ({ + /** @enum {unknown} */ + status?: "queued" | "in_progress"; + } & { + [key: string]: unknown; + })); + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + "checks/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + "checks/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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 of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; + /** + * @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. */ + 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/checks/runs#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. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + 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. Line numbers start at 1. */ + 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. Column numbers start at 1. */ + 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. */ + 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. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-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; + }[]; + } | ({ + /** @enum {unknown} */ + status?: "completed"; + } & { + [key: string]: unknown; + }) | ({ + /** @enum {unknown} */ + status?: "queued" | "in_progress"; + } & { + [key: string]: unknown; + }); + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + "checks/list-annotations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-annotation"][]; + }; + }; + }; + }; + "checks/rerequest-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Validation error if the check run is not rerequestable */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "checks/create-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The sha of the head commit. */ + head_sha: string; + }; + }; + }; + responses: { + /** @description Response when the suite already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + /** @description Response when the suite was created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + }; + "checks/set-suites-preferences": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. */ + 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; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite-preference"]; + }; + }; + }; + }; + "checks/get-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + }; + "checks/list-for-suite": { + parameters: { + query?: { + /** @description Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** @description Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + "checks/rerequest-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + "code-scanning/list-alerts-for-repo": { + parameters: { + query?: { + /** @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["parameters"]["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["parameters"]["tool-guid"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @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`. */ + ref?: components["parameters"]["git-ref"]; + /** @description The number of the pull request for the results you want to list. */ + pr?: components["parameters"]["pr-alias"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated"; + /** @description If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state-query"]; + /** @description If specified, only code scanning alerts with this severity will be returned. */ + severity?: components["schemas"]["code-scanning-alert-severity"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "code-scanning/get-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "code-scanning/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + 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"]; + create_request?: components["schemas"]["code-scanning-alert-create-request"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-autofix": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-autofix"]; + }; + }; + 400: components["responses"]["code_scanning_bad_request"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/create-autofix": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-autofix"]; + }; + }; + /** @description Accepted */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-autofix"]; + }; + }; + 400: components["responses"]["code_scanning_bad_request"]; + 403: components["responses"]["code_scanning_autofix_create_forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/commit-autofix": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["code-scanning-autofix-commits"]; + }; + }; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-autofix-commits-response"]; + }; + }; + 400: components["responses"]["code_scanning_bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/list-alert-instances": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @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`. */ + ref?: components["parameters"]["git-ref"]; + /** @description The number of the pull request for the results you want to list. */ + pr?: components["parameters"]["pr-alias"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "code-scanning/list-recent-analyses": { + parameters: { + query?: { + /** @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["parameters"]["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["parameters"]["tool-guid"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The number of the pull request for the results you want to list. */ + pr?: components["parameters"]["pr-alias"]; + /** @description 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"]; + /** @description Filter analyses belonging to the same SARIF upload. */ + sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property by which to sort the results. */ + sort?: "created"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-analysis"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-analysis": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + 422: components["responses"]["unprocessable_analysis"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/delete-analysis": { + parameters: { + query?: { + /** @description 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; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "code-scanning/list-codeql-databases": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-codeql-database": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The language of the CodeQL database. */ + language: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"]; + }; + }; + 302: components["responses"]["found"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/delete-codeql-database": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The language of the CodeQL database. */ + language: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/create-variant-analysis": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + language: components["schemas"]["code-scanning-variant-analysis-language"]; + /** @description A Base64-encoded tarball containing a CodeQL query and all its dependencies */ + query_pack: string; + /** @description List of repository names (in the form `owner/repo-name`) to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repositories?: string[]; + /** @description List of repository lists to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repository_lists?: string[]; + /** @description List of organization or user names whose repositories the query should be run against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repository_owners?: string[]; + } & (unknown | unknown | unknown); + }; + }; + responses: { + /** @description Variant analysis submitted for processing */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unable to process variant analysis submission */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-variant-analysis": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the variant analysis. */ + codeql_variant_analysis_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-variant-analysis-repo-task": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the controller repository. */ + repo: string; + /** @description The ID of the variant analysis. */ + codeql_variant_analysis_id: number; + /** @description The account owner of the variant analysis repository. The name is not case sensitive. */ + repo_owner: string; + /** @description The name of the variant analysis repository. */ + repo_name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis-repo-task"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-default-setup": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-default-setup"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/update-default-setup": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["code-scanning-default-setup-update"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-default-setup-update-response"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["code_scanning_conflict"]; + 422: components["responses"]["code_scanning_invalid_state"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/upload-sarif": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref: components["schemas"]["code-scanning-ref-full"]; + 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; + /** @description Whether the SARIF file will be validated according to the code scanning specifications. + * This parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning. */ + validate?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; + }; + }; + /** @description Bad Request if the sarif field is invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** @description Payload Too Large if the sarif field is too large */ + 413: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-sarif": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SARIF ID obtained after uploading. */ + sarif_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-sarifs-status"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + /** @description Not Found if the sarif id does not match any upload */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-security/get-configuration-for-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration-for-repository"]; + }; + }; + 204: components["responses"]["no_content"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/codeowners-errors": { + parameters: { + query?: { + /** @description 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; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codeowners-errors"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "codespaces/list-in-repository-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "codespaces/create-with-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @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; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "codespaces/list-devcontainers-in-repository-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + devcontainers: { + path: string; + name?: string; + display_name?: string; + }[]; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/repo-machines-for-authenticated-user": { + parameters: { + query?: { + /** @description The location to check for available machines. Assigned by IP if not provided. */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description The branch or commit to check for prebuild availability and devcontainer restrictions. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "codespaces/pre-flight-with-repo-for-authenticated-user": { + parameters: { + query?: { + /** @description The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ + ref?: string; + /** @description An alternative IP for default location auto-detection, such as when proxying a request. */ + client_ip?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when a user is able to create codespaces from the repository. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "codespaces/check-permissions-for-devcontainer": { + parameters: { + query: { + /** @description The git reference that points to the location of the devcontainer configuration to use for the permission check. The value of `ref` will typically be a branch name (`heads/BRANCH_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: string; + /** @description Path to the devcontainer.json configuration to use for the permission check. */ + devcontainer_path: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when the permission check is successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-permissions-check-for-devcontainer"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "codespaces/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["repo-codespaces-secret"][]; + }; + }; + }; + }; + }; + "codespaces/get-repo-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; + }; + "codespaces/get-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repo-codespaces-secret"]; + }; + }; + }; + }; + "codespaces/create-or-update-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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 a repository public key](https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "codespaces/delete-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-collaborators": { + parameters: { + query?: { + /** @description 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"; + /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ + permission?: "pull" | "triage" | "push" | "maintain" | "admin"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["collaborator"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/check-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if user is a collaborator */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if user is not a collaborator */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/add-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. + * @default push + */ + permission?: string; + }; + }; + }; + responses: { + /** @description Response when a new invitation is created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + /** @description 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: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Response when: + * - validation failed, or the endpoint has been spammed + * - an Enterprise Managed User (EMU) account was invited to a repository in an enterprise with personal user accounts */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + }; + }; + "repos/remove-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when collaborator was removed from the repository. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-collaborator-permission-level": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if user has admin permissions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-collaborator-permission"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/list-commit-comments-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + "repos/get-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/list-for-commit-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a commit comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the commit comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-commits": { + parameters: { + query?: { + /** @description SHA or branch to start listing commits from. Default: the repository’s default branch (usually `main`). */ + sha?: string; + /** @description Only commits containing this file path will be returned. */ + path?: string; + /** @description GitHub username or email address to use to filter by commit author. */ + author?: string; + /** @description GitHub username or email address to use to filter by commit committer. */ + committer?: string; + /** @description Only show results that were last 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`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ + since?: string; + /** @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`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ + until?: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/list-branches-for-head-commit": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-short"][]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-comments-for-commit": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + "repos/create-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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 **Closing down notice**. Use **position** parameter instead. Line number in the file to comment on. */ + line?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-pull-requests-associated-with-commit": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "repos/get-commit": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "checks/list-for-ref": { + parameters: { + query?: { + /** @description Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** @description Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + app_id?: number; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + "checks/list-suites-for-ref": { + parameters: { + query?: { + /** + * @description Filters check suites by GitHub App `id`. + * @example 1 + */ + app_id?: number; + /** @description Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + check_suites: components["schemas"]["check-suite"][]; + }; + }; + }; + }; + }; + "repos/get-combined-status-for-ref": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["combined-commit-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/list-commit-statuses-for-ref": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + }; + }; + "repos/get-community-profile-metrics": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["community-profile"]; + }; + }; + }; + }; + "repos/compare-commits": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`. */ + basehead: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "repos/get-content": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/vnd.github.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"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-or-update-file-contents": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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. */ + 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; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/delete-file": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The blob SHA of the file being deleted. */ + sha: string; + /** @description The branch name. Default: the repository’s default branch */ + 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; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "repos/list-contributors": { + parameters: { + query?: { + /** @description Set to `1` or `true` to include anonymous contributors in results. */ + anon?: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If repository contains content */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["contributor"][]; + }; + }; + /** @description Response if repository is empty */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/list-alerts-for-repo": { + parameters: { + query?: { + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + manifest?: components["parameters"]["dependabot-alert-comma-separated-manifests"]; + /** @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: + * - An exact number (`n`) + * - Comparators such as `>n`, `=n`, `<=n` + * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 + * + * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. */ + epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; + /** @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. + * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. */ + has?: components["parameters"]["dependabot-alert-comma-separated-has"]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** + * @deprecated + * @description **Closing down notice**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead. + */ + page?: number; + /** + * @deprecated + * @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + first?: components["parameters"]["pagination-first"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + last?: components["parameters"]["pagination-last"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "dependabot/get-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the Dependabot alert. + * A `dismissed_reason` must be provided when setting the state to `dismissed`. + * @enum {string} + */ + state: "dismissed" | "open"; + /** + * @description **Required when `state` is `dismissed`.** A reason for dismissing the alert. + * @enum {string} + */ + dismissed_reason?: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk"; + /** @description An optional comment associated with dismissing the alert. */ + dismissed_comment?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "dependabot/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["dependabot-secret"][]; + }; + }; + }; + }; + }; + "dependabot/get-repo-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; + }; + "dependabot/get-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-secret"]; + }; + }; + }; + }; + "dependabot/create-or-update-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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 a repository public key](https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "dependabot/delete-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "dependency-graph/diff-range": { + parameters: { + query?: { + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + name?: components["parameters"]["manifest-path"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description 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; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependency-graph-diff"]; + }; + }; + 403: components["responses"]["dependency_review_forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependency-graph/export-sbom": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependency-graph-spdx-sbom"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependency-graph/create-repository-snapshot": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["snapshot"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + 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; + }; + }; + }; + }; + }; + "repos/list-deployments": { + parameters: { + query?: { + /** @description The SHA recorded at creation time. */ + sha?: string; + /** @description The name of the ref. This can be a branch, tag, or SHA. */ + ref?: string; + /** @description The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ + task?: string; + /** @description The name of the environment that was deployed to (e.g., `staging` or `production`). */ + environment?: string | null; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + }; + "repos/create-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The ref to deploy. This can be a branch, tag, or SHA. */ + ref: string; + /** + * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + * @default deploy + */ + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + /** @description Merged branch response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Conflict when there is a merge conflict or the commit's status checks failed */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "repos/list-deployment-statuses": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-status"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-deployment-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @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`. If not defined, the environment of the previous status on the deployment will be used, if it exists. Otherwise, the environment of the deployment will be used. */ + environment?: string; + /** + * @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deployment-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + status_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-dispatch-event": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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. The maximum number of top-level properties is 10. The total size of the JSON payload must be less than 64KB. */ + client_payload?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-all-environments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The number of environments in this repository + * @example 5 + */ + total_count?: number; + environments?: components["schemas"]["environment"][]; + }; + }; + }; + }; + }; + "repos/get-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + }; + }; + "repos/create-or-update-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + wait_timer?: components["schemas"]["wait-timer"]; + prevent_self_review?: components["schemas"]["prevent-self-review"]; + /** @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-settings"]; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + /** @description 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: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "repos/delete-an-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-deployment-branch-policies": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The number of deployment branch policies for the environment. + * @example 2 + */ + total_count: number; + branch_policies: components["schemas"]["deployment-branch-policy"][]; + }; + }; + }; + }; + }; + "repos/create-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern-with-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + /** @description Response if the same branch name pattern already exists */ + 303: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the branch policy. */ + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + }; + }; + "repos/update-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the branch policy. */ + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + }; + }; + "repos/delete-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the branch policy. */ + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-all-deployment-protection-rules": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of deployment protection rules */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The number of enabled custom deployment protection rules for this environment + * @example 10 + */ + total_count?: number; + custom_deployment_protection_rules?: components["schemas"]["deployment-protection-rule"][]; + }; + }; + }; + }; + }; + "repos/create-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The ID of the custom app that will be enabled on the environment. */ + integration_id?: number; + }; + }; + }; + responses: { + /** @description The enabled custom deployment protection rule */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-protection-rule"]; + }; + }; + }; + }; + "repos/list-custom-deployment-rule-integrations": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A list of custom deployment rule integrations available for this environment. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The total number of custom deployment protection rule integrations available for this environment. + * @example 35 + */ + total_count?: number; + available_custom_deployment_protection_rule_integrations?: components["schemas"]["custom-deployment-rule-app"][]; + }; + }; + }; + }; + }; + "repos/get-custom-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the protection rule. */ + protection_rule_id: components["parameters"]["protection-rule-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-protection-rule"]; + }; + }; + }; + }; + "repos/disable-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The unique identifier of the protection rule. */ + protection_rule_id: components["parameters"]["protection-rule-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-environment-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + "actions/get-environment-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + "actions/get-environment-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + "actions/create-or-update-environment-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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 environment public key](https://docs.github.com/rest/actions/secrets#get-an-environment-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/delete-environment-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-environment-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; + }; + "actions/create-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + "actions/get-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-variable"]; + }; + }; + }; + }; + "actions/delete-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/update-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "activity/list-repo-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "repos/list-forks": { + parameters: { + query?: { + /** @description The sort order. `stargazers` will sort by star count. */ + sort?: "newest" | "oldest" | "stargazers" | "watchers"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 400: components["responses"]["bad_request"]; + }; + }; + "repos/create-fork": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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; + /** @description When forking from an existing repository, fork with only the default branch. */ + default_branch_only?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "git/create-blob": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["short-blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; + }; + }; + "git/get-blob": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + file_sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/create-commit": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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 full 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/get-commit": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "git/list-matching-refs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** + * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"][]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "git/get-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** + * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "git/create-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/delete-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** + * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 409: components["responses"]["conflict"]; + /** @description Validation failed, an attempt was made to delete the default branch, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "git/update-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** + * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/create-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/get-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + tag_sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "git/create-tree": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/get-tree": { + parameters: { + query?: { + /** @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. */ + recursive?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA1 value or ref (branch or tag) name of the tree. */ + tree_sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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. */ + 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; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/hooks/12345678 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + config?: components["schemas"]["webhook-config"]; + /** + * @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-webhook-config-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "repos/update-webhook-config-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: 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"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "repos/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @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?: components["parameters"]["cursor"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/redeliver-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/ping-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/test-push-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/get-import-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/start-import": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/spraints/socm/import */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/cancel-import": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/update-import": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/get-commit-authors": { + parameters: { + query?: { + /** @description A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["porter-author"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/map-commit-author": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + author_id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The new Git author email. */ + email?: string; + /** @description The new Git author name. */ + name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["porter-author"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/get-large-files": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["porter-large-file"][]; + }; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/set-lfs-preference": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @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"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "apps/get-repo-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + "interactions/get-restrictions-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"] | Record; + }; + }; + }; + }; + "interactions/set-restrictions-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + /** @description Response */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "interactions/remove-restrictions-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + }; + }; + "repos/delete-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/update-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @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"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + }; + }; + "issues/list-for-repo": { + parameters: { + query?: { + /** @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. */ + milestone?: string; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description 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; + /** @description Can be the name of an issue type. If the string `*` is passed, issues with any type are accepted. If the string `none` is passed, issues without type are returned. */ + type?: string; + /** @description The user that created the issue. */ + creator?: string; + /** @description A user that's mentioned in the issue. */ + mentioned?: string; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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 closing down.**_ */ + 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[]; + /** + * @description The name of the issue type to associate with this issue. _NOTE: Only users with push access can set the type for new issues. The type is silently dropped otherwise._ + * @example Epic + */ + type?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "issues/list-comments-for-repo": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description Either `asc` or `desc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/update-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/list-for-issue-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-issue-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-issue-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/list-events-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-event"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-event": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + event_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-event"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "issues/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the issue. */ + title?: (string | number) | null; + /** @description The contents of the issue. */ + body?: string | null; + /** @description Username to assign to this issue. **This field is closing down.** */ + assignee?: string | null; + /** + * @description The open or closed state of the issue. + * @enum {string} + */ + state?: "open" | "closed"; + /** + * @description The reason for the state change. Ignored unless `state` is changed. + * @example not_planned + * @enum {string|null} + */ + state_reason?: "completed" | "not_planned" | "duplicate" | "reopened" | null; + 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. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped. */ + labels?: (string | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + })[]; + /** @description Usernames 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. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped. */ + assignees?: string[]; + /** + * @description The name of the issue type to associate with this issue or use `null` to remove the current issue type. Only users with push access can set the type for issues. Without push access to the repository, type changes are silently dropped. + * @example Epic + */ + type?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "issues/add-assignees": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + 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[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + }; + "issues/remove-assignees": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + }; + "issues/check-user-can-be-assigned-to-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + assignee: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if `assignee` can be assigned to `issue_number` */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if `assignee` can not be assigned to `issue_number` */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "issues/list-comments": { + parameters: { + query?: { + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/create-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/list-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-event-for-issue"][]; + }; + }; + 410: components["responses"]["gone"]; + }; + }; + "issues/list-labels-on-issue": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/set-labels": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + 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/issues/labels#add-labels-to-an-issue)." */ + labels?: string[]; + } | string[] | { + labels?: { + name: string; + }[]; + } | { + name: string; + }[] | string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/add-labels": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "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/issues/labels#set-labels-for-an-issue)." */ + labels?: string[]; + } | string[] | { + labels?: { + name: string; + }[]; + } | { + name: string; + }[] | string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/remove-all-labels": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/remove-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/lock": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "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; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/unlock": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/list-for-issue": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "reactions/create-for-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/remove-sub-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the sub-issue to remove */ + sub_issue_id: number; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/1/sub-issue */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "issues/list-sub-issues": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/add-sub-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the sub-issue to add. The sub-issue must belong to the same repository owner as the parent issue */ + sub_issue_id: number; + /** @description Option that, when true, instructs the operation to replace the sub-issues current parent issue */ + replace_parent?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/sub-issues/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/reprioritize-sub-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the sub-issue to reprioritize */ + sub_issue_id: number; + /** @description The id of the sub-issue to be prioritized after (either positional argument after OR before should be specified). */ + after_id?: number; + /** @description The id of the sub-issue to be prioritized before (either positional argument after OR before should be specified). */ + before_id?: number; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "issues/list-events-for-timeline": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["timeline-issue-events"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "repos/list-deploy-keys": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deploy-key"][]; + }; + }; + }; + }; + "repos/create-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/list-labels-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/labels/bug */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/update-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + }; + }; + "repos/list-languages": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["language"]; + }; + }; + }; + }; + "licenses/get-for-repo": { + parameters: { + query?: { + /** @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`. */ + ref?: components["parameters"]["git-ref"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/merge-upstream": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the branch which should be updated to match upstream. */ + branch: string; + }; + }; + }; + responses: { + /** @description The branch has been successfully synced with the upstream repository */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["merged-upstream"]; + }; + }; + /** @description The branch could not be synced because of a merge conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description The branch could not be synced for some other reason */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/merge": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Successful Response (The resulting merge commit) */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + /** @description Response when already merged */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found when the base or head does not exist */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when there is a merge conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/list-milestones": { + parameters: { + query?: { + /** @description The state of the milestone. Either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** @description What to sort results by. Either `due_on` or `completeness`. */ + sort?: "due_on" | "completeness"; + /** @description The direction of the sort. Either `asc` or `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/update-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + }; + }; + "issues/list-labels-for-milestone": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + }; + }; + "activity/list-repo-notifications-for-authenticated-user": { + parameters: { + query?: { + /** @description If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** @description Only show results that were last 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"]; + /** @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?: components["parameters"]["before"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + }; + }; + "activity/mark-repo-notifications-as-read": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + /** @description Reset Content */ + 205: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-pages": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-information-about-pages-site": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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/pages/configuring-a-custom-domain-for-your-github-pages-site)." */ + cname?: string | null; + /** @description Specify whether HTTPS should be enforced for the repository. */ + https_enforced?: boolean; + /** + * @description The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + source?: ("gh-pages" | "master" | "master /docs") | { + /** @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"; + }; + } | unknown | unknown | unknown | unknown | unknown; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 400: components["responses"]["bad_request"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/create-pages-site": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": ({ + /** + * @description The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + /** @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"; + }; + } | unknown | unknown) | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/delete-pages-site": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-pages-builds": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build"][]; + }; + }; + }; + }; + "repos/request-pages-build": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build-status"]; + }; + }; + }; + }; + "repos/get-latest-pages-build": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + "repos/get-pages-build": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + build_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + "repos/create-pages-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The ID of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ + artifact_id?: number; + /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ + artifact_url?: string; + /** + * @description The target environment for this GitHub Pages deployment. + * @default github-pages + */ + environment?: string; + /** + * @description A unique string that represents the version of the build for this deployment. + * @default GITHUB_SHA + */ + pages_build_version: string; + /** @description The OIDC token issued by GitHub Actions certifying the origin of the deployment. */ + oidc_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-deployment"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-pages-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + pages_deployment_id: components["parameters"]["pages-deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pages-deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/cancel-pages-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + pages_deployment_id: components["parameters"]["pages-deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-pages-health-check": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pages-health-check"]; + }; + }; + /** @description Empty response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Custom domains are not available for GitHub Pages */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description There isn't a CNAME for this page */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/check-private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Private vulnerability reporting status */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Whether or not private vulnerability reporting is enabled for the repository. */ + enabled: boolean; + }; + }; + }; + 422: components["responses"]["bad_request"]; + }; + }; + "repos/enable-private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + "repos/disable-private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + "projects/list-for-repo": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + 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"]; + }; + }; + "projects/create-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "repos/get-custom-properties-values": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["custom-property-value"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-or-update-custom-properties-values": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of custom property names and associated values to apply to the repositories. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/list": { + parameters: { + query?: { + /** @description Either `open`, `closed`, or `all` to filter by state. */ + state?: "open" | "closed" | "all"; + /** @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`. */ + head?: string; + /** @description Filter pulls by base branch name. Example: `gh-pages`. */ + base?: string; + /** @description What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** @description The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the new pull request. Required unless `issue` is specified. */ + title?: 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`. */ + head: string; + /** + * Format: repo.nwo + * @description The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization. + * @example octo-org/octo-repo + */ + head_repo?: 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/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ + draft?: boolean; + /** + * Format: int64 + * @description An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. + * @example 1 + */ + issue?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/list-review-comments-for-repo": { + parameters: { + query?: { + sort?: "created" | "updated" | "created_at"; + /** @description The direction to sort results. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + "pulls/get-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/delete-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/update-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the reply to the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + }; + }; + "reactions/list-for-pull-request-review-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a pull request review comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-pull-request-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the pull request review comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-pull-request-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "pulls/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Pass the appropriate [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 406: components["responses"]["unacceptable"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/create-with-pr-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @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; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/list-review-comments": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description The direction to sort results. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + "pulls/create-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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 closing down. 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. 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. + */ + 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/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** @description **Required unless using `subject_type:file`**. 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/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/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; + /** + * @description The level at which the comment is targeted. + * @enum {string} + */ + subject_type?: "line" | "file"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/create-reply-for-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/list-commits": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + }; + }; + "pulls/list-files": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["diff-entry"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/check-if-merged": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if pull request has been merged */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if pull request has not been merged */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "pulls/merge": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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 The merge method to use. + * @enum {string} + */ + merge_method?: "merge" | "squash" | "rebase"; + } | null; + }; + }; + responses: { + /** @description if merge was successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-merge-result"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Method Not Allowed if merge cannot be performed */ + 405: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Conflict if sha was provided and pull request head did not match */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/list-requested-reviewers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-request"]; + }; + }; + }; + }; + "pulls/request-reviewers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + 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[]; + } | unknown | unknown; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Unprocessable Entity if user is not a collaborator */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "pulls/remove-requested-reviewers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + 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[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/list-reviews": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The list of reviews returns in chronological order. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"][]; + }; + }; + }; + }; + "pulls/create-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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/pulls/reviews#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. 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. */ + 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; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/get-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/update-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/delete-pending-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/list-comments-for-review": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["review-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/dismiss-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The message for the pull request review dismissal */ + message: string; + /** + * @example "DISMISS" + * @enum {string} + */ + event?: "DISMISS"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/submit-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/update-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + 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/commits/commits#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; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-readme": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-readme-in-directory": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The alternate path to look for a README file */ + dir: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-releases": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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. */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** + * @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; + /** + * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} + */ + make_latest?: "true" | "false" | "legacy"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Not Found if the discussion category name is invalid */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-release-asset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + 302: components["responses"]["found"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-release-asset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/update-release-asset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + }; + }; + "repos/generate-release-notes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Name and body of generated release notes */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-notes-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-latest-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + }; + }; + "repos/get-release-by-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description tag parameter */ + tag: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/delete-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/update-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + 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. */ + 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 Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} + */ + make_latest?: "true" | "false" | "legacy"; + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Not Found if the discussion category name is invalid */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "repos/list-release-assets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"][]; + }; + }; + }; + }; + "repos/upload-release-asset": { + parameters: { + query: { + name: string; + label?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/octet-stream": string; + }; + }; + responses: { + /** @description Response for successful upload */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + /** @description Response if you upload an asset with the same filename as another uploaded asset */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "reactions/list-for-release": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a release. */ + content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the release. + * @enum {string} + */ + content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-branch-rules": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-rule-detailed"][]; + }; + }; + }; + }; + "repos/get-repo-rulesets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Include rulesets configured at higher levels that apply to this repository */ + includes_parents?: boolean; + /** @description A comma-separated list of rule targets to filter by. + * If provided, only rulesets that apply to the specified targets will be returned. + * For example, `branch,tag,push`. + * */ + targets?: components["parameters"]["ruleset-targets"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/create-repo-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name: string; + /** + * @description The target of the ruleset + * @default branch + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["repository-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-rule-suites": { + parameters: { + query?: { + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ + ref?: components["parameters"]["ref-in-query"]; + /** @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for rule suites that occurred in the past 7 days (168 hours). */ + time_period?: components["parameters"]["time-period"]; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + actor_name?: components["parameters"]["actor-name-in-query"]; + /** @description The rule suite results to filter on. When specified, only suites with this result will be returned. */ + rule_suite_result?: components["parameters"]["rule-suite-result"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suites"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-rule-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. */ + rule_suite_id: components["parameters"]["rule-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suite"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-ruleset": { + parameters: { + query?: { + /** @description Include rulesets configured at higher levels that apply to this repository */ + includes_parents?: boolean; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/update-repo-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody?: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name?: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + enforcement?: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["repository-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/delete-repo-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-ruleset-history": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ruleset-version"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-ruleset-version": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + /** @description The ID of the version */ + version_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ruleset-version-with-state"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "secret-scanning/list-alerts-for-repo": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** @description A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** @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`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** @description 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"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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"]; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + validity?: components["parameters"]["secret-scanning-alert-validity"]; + /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ + is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; + /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ + is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; + /** @description A boolean value representing whether or not to hide literal secrets in the results. */ + hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-alert"][]; + }; + }; + /** @description Repository is public or secret scanning is disabled for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/get-alert": { + parameters: { + query?: { + /** @description A boolean value representing whether or not to hide literal secrets in the results. */ + hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description State does not match the resolution or resolution comment */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/list-locations-for-alert": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-location"][]; + }; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/create-push-protection-bypass": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-push-protection-bypass"]; + }; + }; + /** @description User does not have enough permissions to perform this action. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Placeholder ID not found, or push protection is disabled on this repository. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, input data missing or incorrect. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/get-scan-history": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-scan-history"]; + }; + }; + /** @description Repository does not have GitHub Advanced Security or secret scanning enabled */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "security-advisories/list-repository-advisories": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "published"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description Filter by state of the repository advisories. Only advisories of this state will be returned. */ + state?: "triage" | "draft" | "published" | "closed"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "security-advisories/create-repository-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["repository-advisory-create"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "security-advisories/create-private-vulnerability-report": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["private-vulnerability-report-create"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "security-advisories/get-repository-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "security-advisories/update-repository-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["repository-advisory-update"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + }; + }; + "security-advisories/create-repository-advisory-cve-request": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "security-advisories/create-fork": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "activity/list-stargazers-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][] | components["schemas"]["stargazer"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-code-frequency-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + /** @description Repository contains more than 10,000 commits */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-commit-activity-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + "repos/get-contributors-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["contributor-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + "repos/get-participation-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The array order is oldest week (index 0) to most recent week. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["participation-stats"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-punch-card-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @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. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 204: components["responses"]["no_content"]; + }; + }; + "repos/create-commit-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + sha: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @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 | null; + /** @description A short description of the status. */ + description?: string | null; + /** + * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. + * @default default + */ + context?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status"]; + }; + }; + }; + }; + "activity/list-watchers-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "activity/get-repo-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if you subscribe to the repository */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if you don't subscribe to the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "activity/set-repo-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + }; + }; + "activity/delete-repo-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-tags": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tag"][]; + }; + }; + }; + }; + "repos/list-tag-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tag-protection"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-tag-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An optional glob pattern to match against when enforcing tag protection. */ + pattern: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tag-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-tag-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the tag protection. */ + tag_protection_id: components["parameters"]["tag-protection-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/download-tarball-archive": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + ref: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-all-topics": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/replace-all-topics": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "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` will be saved as lowercase. */ + names: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "repos/get-clones": { + parameters: { + query?: { + /** @description The time frame to display results for. */ + per?: components["parameters"]["per"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["clone-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-top-paths": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["content-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-top-referrers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["referrer-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-views": { + parameters: { + query?: { + /** @description The time frame to display results for. */ + per?: components["parameters"]["per"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["view-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/transfer": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The username or organization name the repository will be transferred to. */ + new_owner: string; + /** @description The new name to be given to the repository. */ + new_name?: 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[]; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"]; + }; + }; + }; + }; + "repos/check-vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if repository is enabled with vulnerability alerts */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if repository is not enabled with vulnerability alerts */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/enable-vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/disable-vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/download-zipball-archive": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + ref: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/create-using-template": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the template repository. The name is not case sensitive. */ + template_owner: string; + /** @description The name of the template repository without the `.git` extension. The name is not case sensitive. */ + template_repo: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + /** + * @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 + */ + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + }; + }; + "repos/list-public": { + parameters: { + query?: { + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + since?: components["parameters"]["since-repo"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "search/code": { + parameters: { + query: { + /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; + /** + * @deprecated + * @description **This field is closing down.** 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/search/search#ranking-search-results) + */ + sort?: "indexed"; + /** + * @deprecated + * @description **This field is closing down.** 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 number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "search/commits": { + parameters: { + query: { + /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; + /** @description Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "author-date" | "committer-date"; + /** @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?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["commit-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "search/issues-and-pull-requests": { + parameters: { + query: { + /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; + /** @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/search/search#ranking-search-results) */ + sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; + /** @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?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Set to `true` to use advanced search. + * Example: `http://api.github.com/search/issues?q={query}&advanced_search=true` */ + advanced_search?: components["parameters"]["issues-advanced-search"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["issue-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "search/labels": { + parameters: { + query: { + /** @description The id of the repository. */ + repository_id: number; + /** @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/search/search#constructing-a-search-query). */ + q: string; + /** @description Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "created" | "updated"; + /** @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?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "search/repos": { + parameters: { + query: { + /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; + /** @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/search/search#ranking-search-results) */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + /** @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?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["repo-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "search/topics": { + parameters: { + query: { + /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ + q: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["topic-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "search/users": { + parameters: { + query: { + /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; + /** @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/search/search#ranking-search-results) */ + sort?: "followers" | "repositories" | "joined"; + /** @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?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["user-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "teams/get-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/delete-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/update-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + 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. 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 The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description **Closing down notice**. 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; + }; + }; + }; + responses: { + /** @description Response when the updated information already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/list-discussions-legacy": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + "teams/create-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + "teams/get-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + "teams/delete-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/update-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + "teams/list-discussion-comments-legacy": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + "teams/create-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + "teams/get-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + "teams/delete-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/update-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + "reactions/list-for-team-discussion-comment-legacy": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + "reactions/create-for-team-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + "reactions/list-for-team-discussion-legacy": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + "reactions/create-for-team-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + "teams/list-pending-invitations-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + "teams/list-members-legacy": { + parameters: { + query?: { + /** @description Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/get-member-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if user is a member */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description if user is not a member */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/add-member-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if team synchronization is set up */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description 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: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/remove-member-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if team synchronization is setup */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/get-membership-for-user-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/add-or-update-membership-for-user-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/remove-membership-for-user-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/list-projects-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/check-permissions-for-project-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** @description Not Found if project is not managed by this team */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/add-or-update-project-permissions-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if the project is not owned by the organization */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/remove-project-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/list-repos-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/check-permissions-for-repo-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Alternative response with extra repository information */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description Response if repository is managed by this team */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if repository is not managed by this team */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/add-or-update-repo-permissions-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/remove-repo-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/list-child-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if child teams exist */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-authenticated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/update-authenticated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "users/list-blocked-by-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "users/check-blocked": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If the user is blocked */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description If the user is not blocked */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "users/block": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "users/unblock": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description ID of the Repository to filter on */ + repository_id?: components["parameters"]["repository-id-in-query"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "codespaces/create-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Repository id for this codespace */ + repository_id: number; + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @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 The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @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; + }; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "codespaces/list-secrets-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-secret"][]; + }; + }; + }; + }; + }; + "codespaces/get-public-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-user-public-key"]; + }; + }; + }; + }; + "codespaces/get-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-secret"]; + }; + }; + }; + }; + "codespaces/create-or-update-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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 the public key for the authenticated user](https://docs.github.com/rest/codespaces/secrets#get-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/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids?: (number | string)[]; + }; + }; + }; + responses: { + /** @description Response after successfully creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response after successfully updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/delete-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "codespaces/list-repositories-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/set-repositories-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description No Content when repositories were added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/add-repository-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/remove-repository-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/get-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "codespaces/delete-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + 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"]; + }; + }; + "codespaces/update-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/export-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "codespaces/get-export-details-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + export_id: components["parameters"]["export-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/codespace-machines-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "codespaces/publish-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the new repository. */ + name?: string; + /** + * @description Whether the new repository should be private. + * @default false + */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace-with-full-repository"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/start-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + /** @description Payment required */ + 402: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/stop-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "packages/list-docker-migration-conflicting-packages-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + }; + }; + "users/set-primary-email-visibility-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Denotes whether an email is publicly visible. + * @enum {string} + */ + visibility: "public" | "private"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/list-emails-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/add-email-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "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[]; + } | string[] | string; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/delete-email-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Email addresses associated with the GitHub user account. */ + emails: string[]; + } | string[] | string; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "users/list-followers-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/list-followed-by-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/check-person-is-followed-by-authenticated": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if the person is followed by the authenticated user */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description if the person is not followed by the authenticated user */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "users/follow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "users/unfollow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/list-gpg-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/create-gpg-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A descriptive name for the new key. */ + name?: string; + /** @description A GPG key in ASCII-armored format. */ + armored_public_key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-gpg-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-gpg-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "apps/list-installations-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description You can find the permissions for the installation under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "apps/list-installation-repos-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The access the user has to each repository is included in the hash under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repository_selection?: string; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/add-repo-to-installation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/remove-repo-from-installation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Returned when the application is installed on `all` repositories in the organization, or if this request would remove the last repository that the application has access to in the organization. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "interactions/get-restrictions-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"] | Record; + }; + }; + /** @description Response when there are no restrictions */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "interactions/set-restrictions-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "interactions/remove-restrictions-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/list-for-authenticated-user": { + parameters: { + query?: { + /** @description 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"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/list-public-ssh-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/create-public-ssh-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. */ + key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-public-ssh-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-public-ssh-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-subscriptions-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-subscriptions-for-authenticated-user-stubbed": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + "orgs/list-memberships-for-authenticated-user": { + parameters: { + query?: { + /** @description Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ + state?: "active" | "pending"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state that the membership should be in. Only `"active"` will be accepted. + * @enum {string} + */ + state: "active"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "migrations/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "migrations/start-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Lock the repositories being migrated at the start of the migration + * @example true + */ + lock_repositories?: boolean; + /** + * @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; + /** + * @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[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "migrations/get-status-for-authenticated-user": { + parameters: { + query?: { + exclude?: string[]; + }; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/get-archive-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "migrations/delete-archive-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/unlock-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** @description repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/list-repos-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "packages/list-packages-for-authenticated-user": { + parameters: { + query: { + /** @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 selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + visibility?: components["parameters"]["package-visibility"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + }; + }; + "packages/get-package-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + "packages/delete-package-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-for-authenticated-user": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-package-version-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + "packages/delete-package-version-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-version-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/create-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "users/list-public-emails-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/list-for-authenticated-user": { + parameters: { + query?: { + /** @description Limit results to repositories with the specified visibility. */ + visibility?: "all" | "public" | "private"; + /** @description Comma-separated list of values. Can include: + * * `owner`: Repositories that are owned by the authenticated user. + * * `collaborator`: Repositories that the user has been added to as a collaborator. + * * `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; + /** @description 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"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Only show repositories 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-repo-date"]; + /** @description Only show repositories 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-repo-date"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/create-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @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 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; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions?: 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 Whether the repository is initialized with a minimal README. + * @default false + */ + auto_init?: boolean; + /** + * @description The desired language or platform to apply to the .gitignore. + * @example Haskell + */ + gitignore_template?: string; + /** + * @description The license keyword of the open source license for this repository. + * @example mit + */ + license_template?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_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 Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads?: boolean; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-invitations-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/decline-invitation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "repos/accept-invitation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "users/list-social-accounts-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/add-social-account-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Full URLs for the social media profiles to add. + * @example [] + */ + account_urls: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/delete-social-account-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Full URLs for the social media profiles to delete. + * @example [] + */ + account_urls: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "users/list-ssh-signing-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/create-ssh-signing-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ + key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-ssh-signing-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the SSH signing key. */ + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-ssh-signing-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the SSH signing key. */ + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-repos-starred-by-authenticated-user": { + parameters: { + query?: { + /** @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?: components["parameters"]["sort-starred"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"][]; + "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/check-repo-is-starred-by-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if this repository is starred by you */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if this repository is not starred by you */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "activity/star-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/unstar-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-watched-repos-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "teams/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/get-by-id": { + parameters: { + query?: never; + header?: never; + path: { + /** @description account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "users/list": { + parameters: { + query?: { + /** @description A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "users/get-by-username": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "users/list-attestations-bulk": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of subject digests to fetch attestations for. */ + subject_digests: string[]; + /** @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ + predicate_type?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Mapping of subject digest to bundles. */ + attestations_subject_digests?: { + [key: string]: { + /** @description The bundle of the attestation. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[] | null; + }; + /** @description Information about the current page. */ + page_info?: { + /** @description Indicates whether there is a next page. */ + has_next?: boolean; + /** @description Indicates whether there is a previous page. */ + has_previous?: boolean; + /** @description The cursor to the next page. */ + next?: string; + /** @description The cursor to the previous page. */ + previous?: string; + }; + }; + }; + }; + }; + }; + "users/delete-attestations-bulk": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of subject digests associated with the artifact attestations to delete. */ + subject_digests: string[]; + } | { + /** @description List of unique IDs associated with the artifact attestations to delete. */ + attestation_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-attestations-by-subject-digest": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Subject Digest */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-attestations-by-id": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Attestation ID */ + attestation_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/list-attestations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ + predicate_type?: string; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Subject Digest */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + attestations?: { + /** @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[]; + }; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "packages/list-docker-migration-conflicting-packages-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/list-events-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "activity/list-org-events-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "activity/list-public-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "users/list-followers-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "users/list-following-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "users/check-following-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + target_user: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if the user follows the target user */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description if the user does not follow the target user */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "gists/list-for-user": { + parameters: { + query?: { + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/list-gpg-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + }; + }; + "users/get-context-for-user": { + parameters: { + query?: { + /** @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`. */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + /** @description Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ + subject_id?: string; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hovercard"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/get-user-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + "users/list-public-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key-simple"][]; + }; + }; + }; + }; + "orgs/list-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + "packages/list-packages-for-user": { + parameters: { + query: { + /** @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 selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + visibility?: components["parameters"]["package-visibility"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "packages/get-package-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + "packages/delete-package-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-for-user": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-all-package-versions-for-package-owned-by-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-package-version-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + "packages/delete-package-version-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-version-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/list-for-user": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "activity/list-received-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "activity/list-received-public-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "repos/list-for-user": { + parameters: { + query?: { + /** @description Limit results to repositories of the specified type. */ + type?: "all" | "owner" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + "billing/get-github-actions-billing-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + "billing/get-github-packages-billing-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + "billing/get-shared-storage-billing-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + "billing/get-github-billing-usage-report-user": { + parameters: { + query?: { + /** @description If specified, only return results for a single year. The value of `year` is an integer with four digits representing a year. For example, `2025`. Default value is the current year. */ + year?: components["parameters"]["billing-usage-report-year"]; + /** @description If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the default `year` is used. */ + month?: components["parameters"]["billing-usage-report-month"]; + /** @description If specified, only return results for a single day. The value of `day` is an integer between `1` and `31`. If no `year` or `month` is specified, the default `year` and `month` are used. */ + day?: components["parameters"]["billing-usage-report-day"]; + /** @description If specified, only return results for a single hour. The value of `hour` is an integer between `0` and `23`. If no `year`, `month`, or `day` is specified, the default `year`, `month`, and `day` are used. */ + hour?: components["parameters"]["billing-usage-report-hour"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["billing_usage_report_user"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "users/list-social-accounts-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + }; + }; + "users/list-ssh-signing-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + }; + }; + "activity/list-repos-starred-by-user": { + parameters: { + query?: { + /** @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?: components["parameters"]["sort-starred"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["starred-repository"][] | components["schemas"]["repository"][]; + }; + }; + }; + }; + "activity/list-repos-watched-by-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + "meta/get-all-versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "meta/get-zen": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": string; + }; + }; + }; + }; +} diff --git a/packages/CourtBooking/src/scripts/generate-types.ts b/packages/CourtBooking/src/scripts/generate-types.ts new file mode 100644 index 00000000..a225b664 --- /dev/null +++ b/packages/CourtBooking/src/scripts/generate-types.ts @@ -0,0 +1,5 @@ +const { $ } = await import('bun'); +const url = process.env.OPENAPI_URL; +if (!url) throw new Error('Missing OPENAPI_URL in .env'); + +await $`openapi-typescript ${url} --output src/api/types.ts`; From 218d5d34899c8e21515d5693dc00ceb3c0dcab8a Mon Sep 17 00:00:00 2001 From: ttd11204 Date: Wed, 16 Jul 2025 03:24:16 +0700 Subject: [PATCH 2/9] feat(router): integrate TanStack Start with react-query --- packages/CourtBooking/bun.lock | 83 +- packages/CourtBooking/package.json | 10 +- packages/CourtBooking/src/api/client.ts | 27 +- packages/CourtBooking/src/api/hook.ts | 2 +- packages/CourtBooking/src/api/types.ts | 127512 +-------------- .../features/auth/components/login/index.jsx | 241 +- packages/CourtBooking/src/main.tsx | 27 - packages/CourtBooking/src/routeTree.gen.ts | 24 +- packages/CourtBooking/src/router.tsx | 23 +- packages/CourtBooking/src/routes/__root.tsx | 73 +- packages/CourtBooking/src/routes/index.tsx | 17 +- .../CourtBooking/src/routes/post.route.tsx | 9 + packages/CourtBooking/tsconfig.json | 1 + packages/CourtBooking/vite.config.ts | 26 +- 14 files changed, 4433 insertions(+), 123642 deletions(-) delete mode 100644 packages/CourtBooking/src/main.tsx create mode 100644 packages/CourtBooking/src/routes/post.route.tsx diff --git a/packages/CourtBooking/bun.lock b/packages/CourtBooking/bun.lock index 822e3f7e..47061408 100644 --- a/packages/CourtBooking/bun.lock +++ b/packages/CourtBooking/bun.lock @@ -7,9 +7,12 @@ "@react-oauth/google": "^0.12.2", "@tailwindcss/vite": "^4.1.11", "@tanstack/react-query": "^5.83.0", + "@tanstack/react-query-devtools": "^5.83.0", "@tanstack/react-router": "^1.127.3", - "@tanstack/react-router-devtools": "^1.127.3", + "@tanstack/react-router-with-query": "^1.127.8", "@tanstack/react-start": "^1.127.7", + "@types/express": "^5.0.3", + "express": "^5.1.0", "firebase": "^11.10.0", "openapi-fetch": "^0.14.0", "react": "^19.1.0", @@ -465,11 +468,15 @@ "@tanstack/query-core": ["@tanstack/query-core@5.83.0", "", {}, "sha512-0M8dA+amXUkyz5cVUm/B+zSk3xkQAcuXuz5/Q/LveT4ots2rBpPTZOzd7yJa2Utsf8D2Upl5KyjhHRY+9lB/XA=="], + "@tanstack/query-devtools": ["@tanstack/query-devtools@5.81.2", "", {}, "sha512-jCeJcDCwKfoyyBXjXe9+Lo8aTkavygHHsUHAlxQKKaDeyT0qyQNLKl7+UyqYH2dDF6UN/14873IPBHchcsU+Zg=="], + "@tanstack/react-query": ["@tanstack/react-query@5.83.0", "", { "dependencies": { "@tanstack/query-core": "5.83.0" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-/XGYhZ3foc5H0VM2jLSD/NyBRIOK4q9kfeml4+0x2DlL6xVuAcVEW+hTlTapAmejObg0i3eNqhkr2dT+eciwoQ=="], + "@tanstack/react-query-devtools": ["@tanstack/react-query-devtools@5.83.0", "", { "dependencies": { "@tanstack/query-devtools": "5.81.2" }, "peerDependencies": { "@tanstack/react-query": "^5.83.0", "react": "^18 || ^19" } }, "sha512-yfp8Uqd3I1jgx8gl0lxbSSESu5y4MO2ThOPBnGNTYs0P+ZFu+E9g5IdOngyUGuo6Uz6Qa7p9TLdZEX3ntik2fQ=="], + "@tanstack/react-router": ["@tanstack/react-router@1.127.3", "", { "dependencies": { "@tanstack/history": "1.121.34", "@tanstack/react-store": "^0.7.0", "@tanstack/router-core": "1.127.3", "isbot": "^5.1.22", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" }, "peerDependencies": { "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-QprmWHJrGbEKXJiP7WZ+dilTJRc7nMbsFCUnfAUw8PsOYanhgvBkBwAU05YEo8WTIZ9atCc1R90hyzqbiBFkdA=="], - "@tanstack/react-router-devtools": ["@tanstack/react-router-devtools@1.127.3", "", { "dependencies": { "@tanstack/router-devtools-core": "^1.127.3" }, "peerDependencies": { "@tanstack/react-router": "^1.127.3", "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-MS8+ArGAoRpFaVWpXnQxNpq2bU5e2WGwV/3Gskh9YB09gqX3t6knp9im4kJ0kam16+A8Vohq1yOpCliyHzQawA=="], + "@tanstack/react-router-with-query": ["@tanstack/react-router-with-query@1.127.8", "", { "peerDependencies": { "@tanstack/react-query": ">=5.49.2", "@tanstack/react-router": ">=1.43.2", "@tanstack/router-core": ">=1.114.7", "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-PIGkBVVJStf9pZ0kx7M9kH2OgRDeeeeK+5gpZ/2eoJDQcaA/3lkcdWqOqXWqJrK3VVlXjohpYArOT6C+zGtW4w=="], "@tanstack/react-start": ["@tanstack/react-start@1.127.7", "", { "dependencies": { "@tanstack/react-start-client": "1.127.7", "@tanstack/react-start-plugin": "1.127.6", "@tanstack/react-start-server": "1.127.3", "@tanstack/start-server-functions-client": "1.127.3", "@tanstack/start-server-functions-server": "1.127.4" }, "peerDependencies": { "@vitejs/plugin-react": ">=4.3.4", "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0", "vite": ">=6.0.0" } }, "sha512-XflyWkjMAuwucPv0Aw/kwrmC2FHyvTLdDPUEIspoc+0z83soby4Jau6dWxQ68uSO0LgQVmcZS1fxvqXLw81qOA=="], @@ -483,8 +490,6 @@ "@tanstack/router-core": ["@tanstack/router-core@1.127.3", "", { "dependencies": { "@tanstack/history": "1.121.34", "@tanstack/store": "^0.7.0", "cookie-es": "^1.2.2", "seroval": "^1.3.2", "seroval-plugins": "^1.3.2", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" } }, "sha512-08JlfwsMIDkMyCQsRviMVBn0cVUzlNzkll4pZgf6QRSO1RASBsci5hMojcsdH0d/yXLH0FBJ6fINbj0ctBm63Q=="], - "@tanstack/router-devtools-core": ["@tanstack/router-devtools-core@1.127.3", "", { "dependencies": { "clsx": "^2.1.1", "goober": "^2.1.16", "solid-js": "^1.9.5" }, "peerDependencies": { "@tanstack/router-core": "^1.127.3", "csstype": "^3.0.10", "tiny-invariant": "^1.3.3" }, "optionalPeers": ["csstype"] }, "sha512-TaLa0h7efSTmIMckTJ1s4PuvJSRGGv4PBSDQE9QnrtCn3SJAlzjK6VIcGq3C72QKJiVDyDtCcDas4q0YeT8I+A=="], - "@tanstack/router-generator": ["@tanstack/router-generator@1.127.5", "", { "dependencies": { "@tanstack/router-core": "^1.127.3", "@tanstack/router-utils": "1.121.21", "@tanstack/virtual-file-routes": "^1.121.21", "prettier": "^3.5.0", "recast": "^0.23.11", "source-map": "^0.7.4", "tsx": "^4.19.2", "zod": "^3.24.2" } }, "sha512-bPrUKJIo7cIBSF6FwKfZyYAl+FjoMU/HswWaYXr+rEdOw1EA86M3euuK33rfHNlVcxHTmZJk8AQ5p7ZYP6DogQ=="], "@tanstack/router-plugin": ["@tanstack/router-plugin@1.127.5", "", { "dependencies": { "@babel/core": "^7.27.7", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.27.1", "@babel/template": "^7.27.2", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", "@tanstack/router-core": "^1.127.3", "@tanstack/router-generator": "1.127.5", "@tanstack/router-utils": "1.121.21", "@tanstack/virtual-file-routes": "^1.121.21", "babel-dead-code-elimination": "^1.0.10", "chokidar": "^3.6.0", "unplugin": "^2.1.2", "zod": "^3.24.2" }, "peerDependencies": { "@rsbuild/core": ">=1.0.2", "@tanstack/react-router": "^1.127.3", "vite": ">=5.0.0 || >=6.0.0", "vite-plugin-solid": "^2.11.2", "webpack": ">=5.92.0" }, "optionalPeers": ["@rsbuild/core", "@tanstack/react-router", "vite", "vite-plugin-solid", "webpack"] }, "sha512-7FzGsDM/XMy6TfAfdUkgJxN/xvPu8cIwJdoGQ4yAEdtk26BGCeaz3VZIDKX5mknNo8+H4//cO75a9F5UHsdVew=="], @@ -519,20 +524,40 @@ "@types/babel__traverse": ["@types/babel__traverse@7.20.7", "", { "dependencies": { "@babel/types": "^7.20.7" } }, "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng=="], + "@types/body-parser": ["@types/body-parser@1.19.6", "", { "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g=="], + "@types/bun": ["@types/bun@1.2.18", "", { "dependencies": { "bun-types": "1.2.18" } }, "sha512-Xf6RaWVheyemaThV0kUfaAUvCNokFr+bH8Jxp+tTZfx7dAPA8z9ePnP9S9+Vspzuxxx9JRAXhnyccRj3GyCMdQ=="], + "@types/connect": ["@types/connect@3.4.38", "", { "dependencies": { "@types/node": "*" } }, "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug=="], + "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + "@types/express": ["@types/express@5.0.3", "", { "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", "@types/serve-static": "*" } }, "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw=="], + + "@types/express-serve-static-core": ["@types/express-serve-static-core@5.0.7", "", { "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" } }, "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ=="], + + "@types/http-errors": ["@types/http-errors@2.0.5", "", {}, "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg=="], + + "@types/mime": ["@types/mime@1.3.5", "", {}, "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="], + "@types/node": ["@types/node@24.0.13", "", { "dependencies": { "undici-types": "~7.8.0" } }, "sha512-Qm9OYVOFHFYg3wJoTSrz80hoec5Lia/dPp84do3X7dZvLikQvM1YpmvTBEdIr/e+U8HTkFjLHLnl78K/qjf+jQ=="], "@types/normalize-package-data": ["@types/normalize-package-data@2.4.4", "", {}, "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA=="], + "@types/qs": ["@types/qs@6.14.0", "", {}, "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ=="], + + "@types/range-parser": ["@types/range-parser@1.2.7", "", {}, "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="], + "@types/react": ["@types/react@19.1.8", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g=="], "@types/react-dom": ["@types/react-dom@19.1.6", "", { "peerDependencies": { "@types/react": "^19.0.0" } }, "sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw=="], "@types/resolve": ["@types/resolve@1.20.2", "", {}, "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q=="], + "@types/send": ["@types/send@0.17.5", "", { "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w=="], + + "@types/serve-static": ["@types/serve-static@1.15.8", "", { "dependencies": { "@types/http-errors": "*", "@types/node": "*", "@types/send": "*" } }, "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg=="], + "@types/triple-beam": ["@types/triple-beam@1.3.5", "", {}, "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw=="], "@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="], @@ -575,6 +600,8 @@ "abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="], + "accepts": ["accepts@2.0.0", "", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="], + "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], "acorn-import-attributes": ["acorn-import-attributes@1.9.5", "", { "peerDependencies": { "acorn": "^8" } }, "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ=="], @@ -619,6 +646,8 @@ "bindings": ["bindings@1.5.0", "", { "dependencies": { "file-uri-to-path": "1.0.0" } }, "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="], + "body-parser": ["body-parser@2.2.0", "", { "dependencies": { "bytes": "^3.1.2", "content-type": "^1.0.5", "debug": "^4.4.0", "http-errors": "^2.0.0", "iconv-lite": "^0.6.3", "on-finished": "^2.4.1", "qs": "^6.14.0", "raw-body": "^3.0.0", "type-is": "^2.0.0" } }, "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg=="], + "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], "brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], @@ -637,6 +666,8 @@ "bun-types": ["bun-types@1.2.18", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-04+Eha5NP7Z0A9YgDAzMk5PHR16ZuLVa83b26kH5+cp1qZW4F6FmAURngE7INf4tKOvCE69vYvDEwoNl1tGiWw=="], + "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], + "c12": ["c12@3.1.0", "", { "dependencies": { "chokidar": "^4.0.3", "confbox": "^0.2.2", "defu": "^6.1.4", "dotenv": "^16.6.1", "exsolve": "^1.0.7", "giget": "^2.0.0", "jiti": "^2.4.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^1.0.0", "pkg-types": "^2.2.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "^0.3.5" }, "optionalPeers": ["magicast"] }, "sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw=="], "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], @@ -693,12 +724,18 @@ "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="], + "content-disposition": ["content-disposition@1.0.0", "", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg=="], + + "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], + "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - "cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], + "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], "cookie-es": ["cookie-es@1.2.2", "", {}, "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg=="], + "cookie-signature": ["cookie-signature@1.2.2", "", {}, "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg=="], + "copy-file": ["copy-file@11.0.0", "", { "dependencies": { "graceful-fs": "^4.2.11", "p-event": "^6.0.0" } }, "sha512-mFsNh/DIANLqFt5VHZoGirdg7bK5+oTWlhnGu6tgRhzBlnEKWaPX2xrFaLltii/6rmhqFMJqffUgknuRdpYlHw=="], "core-util-is": ["core-util-is@1.0.3", "", {}, "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="], @@ -839,6 +876,8 @@ "execa": ["execa@8.0.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="], + "express": ["express@5.1.0", "", { "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.0", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "finalhandler": "^2.1.0", "fresh": "^2.0.0", "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", "mime-types": "^3.0.0", "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", "proxy-addr": "^2.0.7", "qs": "^6.14.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", "type-is": "^2.0.1", "vary": "^1.1.2" } }, "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA=="], + "exsolve": ["exsolve@1.0.7", "", {}, "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw=="], "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="], @@ -867,6 +906,8 @@ "filter-obj": ["filter-obj@6.1.0", "", {}, "sha512-xdMtCAODmPloU9qtmPcdBV9Kd27NtMse+4ayThxqIHUES5Z2S6bGpap5PpdmNM56ub7y3i1eyr+vJJIIgWGKmA=="], + "finalhandler": ["finalhandler@2.1.0", "", { "dependencies": { "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "on-finished": "^2.4.1", "parseurl": "^1.3.3", "statuses": "^2.0.1" } }, "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q=="], + "find-up": ["find-up@7.0.0", "", { "dependencies": { "locate-path": "^7.2.0", "path-exists": "^5.0.0", "unicorn-magic": "^0.1.0" } }, "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g=="], "find-up-simple": ["find-up-simple@1.0.1", "", {}, "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ=="], @@ -879,6 +920,8 @@ "formdata-polyfill": ["formdata-polyfill@4.0.10", "", { "dependencies": { "fetch-blob": "^3.1.2" } }, "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g=="], + "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], + "fresh": ["fresh@2.0.0", "", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="], "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], @@ -913,8 +956,6 @@ "gonzales-pe": ["gonzales-pe@4.3.0", "", { "dependencies": { "minimist": "^1.2.5" }, "bin": { "gonzales": "bin/gonzales.js" } }, "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ=="], - "goober": ["goober@2.1.16", "", { "peerDependencies": { "csstype": "^3.0.10" } }, "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g=="], - "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], @@ -961,6 +1002,8 @@ "ioredis": ["ioredis@5.6.1", "", { "dependencies": { "@ioredis/commands": "^1.1.1", "cluster-key-slot": "^1.1.0", "debug": "^4.3.4", "denque": "^2.1.0", "lodash.defaults": "^4.2.0", "lodash.isarguments": "^3.1.0", "redis-errors": "^1.2.0", "redis-parser": "^3.0.0", "standard-as-callback": "^2.1.0" } }, "sha512-UxC0Yv1Y4WRJiGQxQkP0hfdL0/5/6YvdfOOClRgJ0qppSarkhneSa6UvkMkms0AkdGimSH3Ikqm+6mkMmX7vGA=="], + "ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], + "iron-webcrypto": ["iron-webcrypto@1.2.1", "", {}, "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg=="], "is-arrayish": ["is-arrayish@0.3.2", "", {}, "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="], @@ -989,6 +1032,8 @@ "is-plain-obj": ["is-plain-obj@2.1.0", "", {}, "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="], + "is-promise": ["is-promise@4.0.0", "", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="], + "is-reference": ["is-reference@1.2.1", "", { "dependencies": { "@types/estree": "*" } }, "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ=="], "is-stream": ["is-stream@4.0.1", "", {}, "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A=="], @@ -1093,6 +1138,10 @@ "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + "media-typer": ["media-typer@1.1.0", "", {}, "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw=="], + + "merge-descriptors": ["merge-descriptors@2.0.0", "", {}, "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g=="], + "merge-options": ["merge-options@3.0.4", "", { "dependencies": { "is-plain-obj": "^2.1.0" } }, "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ=="], "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], @@ -1129,6 +1178,8 @@ "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + "negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], + "netlify": ["netlify@13.3.5", "", { "dependencies": { "@netlify/open-api": "^2.37.0", "lodash-es": "^4.17.21", "micro-api-client": "^3.3.0", "node-fetch": "^3.0.0", "p-wait-for": "^5.0.0", "qs": "^6.9.6" } }, "sha512-Nc3loyVASW59W+8fLDZT1lncpG7llffyZ2o0UQLx/Fr20i7P8oP+lE7+TEcFvXj9IUWU6LjB9P3BH+iFGyp+mg=="], "nitropack": ["nitropack@2.11.13", "", { "dependencies": { "@cloudflare/kv-asset-handler": "^0.4.0", "@netlify/functions": "^3.1.10", "@rollup/plugin-alias": "^5.1.1", "@rollup/plugin-commonjs": "^28.0.6", "@rollup/plugin-inject": "^5.0.5", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.1", "@rollup/plugin-replace": "^6.0.2", "@rollup/plugin-terser": "^0.4.4", "@vercel/nft": "^0.29.4", "archiver": "^7.0.1", "c12": "^3.0.4", "chokidar": "^4.0.3", "citty": "^0.1.6", "compatx": "^0.2.0", "confbox": "^0.2.2", "consola": "^3.4.2", "cookie-es": "^2.0.0", "croner": "^9.1.0", "crossws": "^0.3.5", "db0": "^0.3.2", "defu": "^6.1.4", "destr": "^2.0.5", "dot-prop": "^9.0.0", "esbuild": "^0.25.5", "escape-string-regexp": "^5.0.0", "etag": "^1.8.1", "exsolve": "^1.0.7", "globby": "^14.1.0", "gzip-size": "^7.0.0", "h3": "^1.15.3", "hookable": "^5.5.3", "httpxy": "^0.1.7", "ioredis": "^5.6.1", "jiti": "^2.4.2", "klona": "^2.0.6", "knitwork": "^1.2.0", "listhen": "^1.9.0", "magic-string": "^0.30.17", "magicast": "^0.3.5", "mime": "^4.0.7", "mlly": "^1.7.4", "node-fetch-native": "^1.6.6", "node-mock-http": "^1.0.1", "ofetch": "^1.4.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^1.0.0", "pkg-types": "^2.1.0", "pretty-bytes": "^6.1.1", "radix3": "^1.1.2", "rollup": "^4.44.0", "rollup-plugin-visualizer": "^6.0.3", "scule": "^1.3.0", "semver": "^7.7.2", "serve-placeholder": "^2.0.2", "serve-static": "^2.2.0", "source-map": "^0.7.4", "std-env": "^3.9.0", "ufo": "^1.6.1", "ultrahtml": "^1.6.0", "uncrypto": "^0.1.3", "unctx": "^2.4.1", "unenv": "^2.0.0-rc.18", "unimport": "^5.0.1", "unplugin-utils": "^0.2.4", "unstorage": "^1.16.0", "untyped": "^2.0.0", "unwasm": "^0.3.9", "youch": "4.1.0-beta.8", "youch-core": "^0.3.2" }, "peerDependencies": { "xml2js": "^0.6.2" }, "optionalPeers": ["xml2js"], "bin": { "nitro": "dist/cli/index.mjs", "nitropack": "dist/cli/index.mjs" } }, "sha512-xKng/szRZmFEsrB1Z+sFzYDhXL5KUtUkEouPCj9LiBPhJ7qV3jdOv1MSis++8H8zNI6dEurt51ZlK4VRDvedsA=="], @@ -1219,6 +1270,8 @@ "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + "path-to-regexp": ["path-to-regexp@8.2.0", "", {}, "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ=="], + "path-type": ["path-type@6.0.0", "", {}, "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ=="], "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], @@ -1251,6 +1304,8 @@ "protobufjs": ["protobufjs@7.5.3", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.4", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", "@protobufjs/inquire": "^1.1.0", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/node": ">=13.7.0", "long": "^5.0.0" } }, "sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw=="], + "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], + "pump": ["pump@3.0.3", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA=="], "qs": ["qs@6.14.0", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w=="], @@ -1267,6 +1322,8 @@ "range-parser": ["range-parser@1.2.1", "", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], + "raw-body": ["raw-body@3.0.0", "", { "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", "iconv-lite": "0.6.3", "unpipe": "1.0.0" } }, "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g=="], + "rc9": ["rc9@2.1.2", "", { "dependencies": { "defu": "^6.1.4", "destr": "^2.0.3" } }, "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg=="], "react": ["react@19.1.0", "", {}, "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg=="], @@ -1317,6 +1374,8 @@ "rollup-plugin-visualizer": ["rollup-plugin-visualizer@6.0.3", "", { "dependencies": { "open": "^8.0.0", "picomatch": "^4.0.2", "source-map": "^0.7.4", "yargs": "^17.5.1" }, "peerDependencies": { "rolldown": "1.x || ^1.0.0-beta", "rollup": "2.x || 3.x || 4.x" }, "optionalPeers": ["rolldown", "rollup"], "bin": { "rollup-plugin-visualizer": "dist/bin/cli.js" } }, "sha512-ZU41GwrkDcCpVoffviuM9Clwjy5fcUxlz0oMoTXTYsK+tcIFzbdacnrr2n8TXcHxbGKKXtOdjxM2HUS4HjkwIw=="], + "router": ["router@2.2.0", "", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="], + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], @@ -1365,8 +1424,6 @@ "smob": ["smob@1.5.0", "", {}, "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig=="], - "solid-js": ["solid-js@1.9.7", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.3.0", "seroval-plugins": "~1.3.0" } }, "sha512-/saTKi8iWEM233n5OSi1YHCCuh66ZIQ7aK2hsToPe4tqGm7qAejU1SwNuTPivbWAYq7SjuHVVYxxuZQNRbICiw=="], - "source-map": ["source-map@0.7.4", "", {}, "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA=="], "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], @@ -1459,6 +1516,8 @@ "type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="], + "type-is": ["type-is@2.0.1", "", { "dependencies": { "content-type": "^1.0.5", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw=="], + "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], "ufo": ["ufo@1.6.1", "", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="], @@ -1481,6 +1540,8 @@ "unixify": ["unixify@1.0.0", "", { "dependencies": { "normalize-path": "^2.1.1" } }, "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg=="], + "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], + "unplugin": ["unplugin@2.3.5", "", { "dependencies": { "acorn": "^8.14.1", "picomatch": "^4.0.2", "webpack-virtual-modules": "^0.6.2" } }, "sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw=="], "unplugin-utils": ["unplugin-utils@0.2.4", "", { "dependencies": { "pathe": "^2.0.2", "picomatch": "^4.0.2" } }, "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA=="], @@ -1509,6 +1570,8 @@ "validate-npm-package-license": ["validate-npm-package-license@3.0.4", "", { "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew=="], + "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], + "vite": ["vite@7.0.4", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.6", "picomatch": "^4.0.2", "postcss": "^8.5.6", "rollup": "^4.40.0", "tinyglobby": "^0.2.14" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-SkaSguuS7nnmV7mfJ8l81JGBFV7Gvzp8IzgE8A8t23+AxuNX61Q5H1Tpz5efduSN7NHC8nQXD3sKQKZAu5mNEA=="], "vite-tsconfig-paths": ["vite-tsconfig-paths@5.1.4", "", { "dependencies": { "debug": "^4.1.1", "globrex": "^0.1.2", "tsconfck": "^3.0.3" }, "peerDependencies": { "vite": "*" }, "optionalPeers": ["vite"] }, "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w=="], @@ -1739,6 +1802,8 @@ "yauzl/buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], + "youch/cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], + "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="], diff --git a/packages/CourtBooking/package.json b/packages/CourtBooking/package.json index dbbffe74..db5647a8 100644 --- a/packages/CourtBooking/package.json +++ b/packages/CourtBooking/package.json @@ -6,10 +6,7 @@ "dev": "vite dev", "build": "vite build", "check": "tsc --noEmit && eslint", - "generate:types": "bun scripts/generate-types.ts" - }, - "config": { - "openapi_url": "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json" + "generate:types:dev": "NODE_TLS_REJECT_UNAUTHORIZED=0 NODE_ENV=development bun src/scripts/generate-types.ts" }, "devDependencies": { "@tanstack/router-plugin": "^1.127.5", @@ -27,9 +24,12 @@ "@react-oauth/google": "^0.12.2", "@tailwindcss/vite": "^4.1.11", "@tanstack/react-query": "^5.83.0", + "@tanstack/react-query-devtools": "^5.83.0", "@tanstack/react-router": "^1.127.3", - "@tanstack/react-router-devtools": "^1.127.3", + "@tanstack/react-router-with-query": "^1.127.8", "@tanstack/react-start": "^1.127.7", + "@types/express": "^5.0.3", + "express": "^5.1.0", "firebase": "^11.10.0", "openapi-fetch": "^0.14.0", "react": "^19.1.0", diff --git a/packages/CourtBooking/src/api/client.ts b/packages/CourtBooking/src/api/client.ts index ecaebfe1..65ffbbcd 100644 --- a/packages/CourtBooking/src/api/client.ts +++ b/packages/CourtBooking/src/api/client.ts @@ -1,22 +1,23 @@ import createClient from 'openapi-fetch'; import type { Middleware } from 'openapi-fetch'; -import type { paths } from './types.ts'; // Example of importing paths from types (will be replace by BE OpenAPI spec) +import type { paths } from './types.ts'; -const githubToken = import.meta.env.VITE_GITHUB_TOKEN; -const baseUrl = 'https://api.github.com'; +// const githubToken = import.meta.env.VITE_GITHUB_TOKEN; +// const baseUrl = 'https://api.github.com'; -const authMiddleware: Middleware = { - onRequest: async ({ request }) => { - request.headers.set('Authorization', `Bearer ${githubToken}`); - return request; - }, -}; +// const authMiddleware: Middleware = { +// onRequest: async ({ request }) => { +// request.headers.set('Authorization', `Bearer ${githubToken}`); +// return request; +// }, +// }; -const client = createClient({ baseUrl }); +// const client = createClient({ baseUrl }); + +// client.use(authMiddleware); -client.use(authMiddleware); +const baseUrl = 'https://localhost:7104/'; -const path: keyof paths = '/advisories'; -client.GET(path); +const client = createClient({ baseUrl }); export { client }; diff --git a/packages/CourtBooking/src/api/hook.ts b/packages/CourtBooking/src/api/hook.ts index b5b8c1cb..c6f1e5ac 100644 --- a/packages/CourtBooking/src/api/hook.ts +++ b/packages/CourtBooking/src/api/hook.ts @@ -5,7 +5,7 @@ import { type PathsWithMethod, } from 'openapi-typescript-helpers'; import { type FetchOptions } from 'openapi-fetch'; -import type { paths } from './types'; // Example of importing paths from types (will depend on BE OpenAPI spec) +import type { paths } from './types'; import { type UseMutationOptions as RQUseMutationOptions } from '@tanstack/react-query'; import { type UseQueryOptions as RQUseQueryOptions } from '@tanstack/react-query'; diff --git a/packages/CourtBooking/src/api/types.ts b/packages/CourtBooking/src/api/types.ts index 7c22069c..0cdf86a1 100644 --- a/packages/CourtBooking/src/api/types.ts +++ b/packages/CourtBooking/src/api/types.ts @@ -3,61 +3,113 @@ * Do not make direct changes to the file. */ -export type paths = { - "/": { +export interface paths { + "/api/authentication/login": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * GitHub API Root - * @description Get Hypermedia links to resources accessible in GitHub's REST API - */ - get: operations["meta/root"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["LoginModel"]; + "text/json": components["schemas"]["LoginModel"]; + "application/*+json": components["schemas"]["LoginModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/advisories": { + "/api/authentication/register": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List global security advisories - * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. - * - * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." - */ - get: operations["security-advisories/list-global-advisories"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RegisterModel"]; + "text/json": components["schemas"]["RegisterModel"]; + "application/*+json": components["schemas"]["RegisterModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/advisories/{ghsa_id}": { + "/api/authentication/confirm-email": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a global security advisory - * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. - */ - get: operations["security-advisories/get-global-advisory"]; + get: { + parameters: { + query?: { + email?: string; + token?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -66,29 +118,46 @@ export type paths = { patch?: never; trace?: never; }; - "/app": { + "/api/authentication/register-admin": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * 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/apps/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. - */ - get: operations["apps/get-authenticated"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RegisterModel"]; + "text/json": components["schemas"]["RegisterModel"]; + "application/*+json": components["schemas"]["RegisterModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/app-manifests/{code}/conversions": { + "/api/authentication/register-staff": { parameters: { query?: never; header?: never; @@ -97,145 +166,268 @@ export type paths = { }; get?: never; put?: never; - /** - * 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`. - */ - post: operations["apps/create-from-manifest"]; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RegisterModel"]; + "text/json": components["schemas"]["RegisterModel"]; + "application/*+json": components["schemas"]["RegisterModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/app/hook/config": { + "/api/authentication/google-login": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * 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)." - * - * 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-config-for-app"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: { + token?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; - /** - * 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)." - * - * 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. - */ - patch: operations["apps/update-webhook-config-for-app"]; + patch?: never; trace?: never; }; - "/app/hook/deliveries": { + "/api/authentication/facebook-login": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List deliveries for an app webhook - * @description 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"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: { + token?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/app/hook/deliveries/{delivery_id}": { + "/api/authentication/forget-password": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a delivery for an app webhook - * @description 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"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ForgetPasswordModel"]; + "text/json": components["schemas"]["ForgetPasswordModel"]; + "application/*+json": components["schemas"]["ForgetPasswordModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/app/hook/deliveries/{delivery_id}/attempts": { + "/api/authentication/reset-password": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: { + token?: string; + email?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; - /** - * Redeliver a delivery for an app webhook - * @description 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"]; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ResetPasswordModel"]; + "text/json": components["schemas"]["ResetPasswordModel"]; + "application/*+json": components["schemas"]["ResetPasswordModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/app/installation-requests": { + "/api/authentication/refresh": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List installation requests for the authenticated app - * @description Lists all the pending installation requests for the authenticated GitHub App. - */ - get: operations["apps/list-installation-requests-for-authenticated-app"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RefreshTokenModel"]; + "text/json": components["schemas"]["RefreshTokenModel"]; + "application/*+json": components["schemas"]["RefreshTokenModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/app/installations": { + "/api/Bookings/current-time": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List installations for the authenticated app - * @description The permissions the installation has are included under the `permissions` 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. - */ - get: operations["apps/list-installations"]; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -244,174 +436,290 @@ export type paths = { patch?: never; trace?: never; }; - "/app/installations/{installation_id}": { + "/api/Bookings/CheckAuthor": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get an installation for the authenticated app - * @description 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"]; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; post?: never; - /** - * Delete an installation for the authenticated app - * @description Uninstalls a GitHub App on a user, organization, or enterprise 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/apps/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. - */ - delete: operations["apps/delete-installation"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/app/installations/{installation_id}/access_tokens": { + "/api/Bookings": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BookingPagingResponse"]; + "application/json": components["schemas"]["BookingPagingResponse"]; + "text/json": components["schemas"]["BookingPagingResponse"]; + }; + }; + }; + }; put?: never; - /** - * 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. - * - * Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don't use `repositories` or `repository_ids` to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner. - * - * Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted. - * - * 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/create-installation-access-token"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/app/installations/{installation_id}/suspended": { + "/api/Bookings/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - /** - * Suspend an app installation - * @description Suspends a GitHub App on a user, organization, or enterprise 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"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"]; + "application/json": components["schemas"]["Booking"]; + "text/json": components["schemas"]["Booking"]; + }; + }; + }; + }; + put?: never; post?: never; - /** - * Unsuspend an app installation - * @description 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. - */ - delete: operations["apps/unsuspend-installation"]; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; options?: never; head?: never; patch?: never; trace?: never; }; - "/applications/{client_id}/grant": { + "/api/Bookings/userId/{userId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: never; + header?: never; + path: { + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"]; + "application/json": components["schemas"]["Booking"]; + "text/json": components["schemas"]["Booking"]; + }; + }; + }; + }; put?: never; post?: never; - /** - * Delete an app authorization - * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. - * Deleting an 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). - */ - delete: operations["apps/delete-authorization"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/applications/{client_id}/token": { + "/api/Bookings/status/{status}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: never; + header?: never; + path: { + status: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"][]; + "application/json": components["schemas"]["Booking"][]; + "text/json": components["schemas"]["Booking"][]; + }; + }; + }; + }; put?: never; - /** - * Check a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. Invalid tokens will return `404 NOT FOUND`. - */ - post: operations["apps/check-token"]; - /** - * Delete an app token - * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. - */ - delete: operations["apps/delete-token"]; + post?: never; + delete?: never; options?: never; head?: never; - /** - * Reset a token - * @description OAuth applications and GitHub applications with OAuth authorizations 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. Invalid tokens will return `404 NOT FOUND`. - */ - patch: operations["apps/reset-token"]; + patch?: never; trace?: never; }; - "/applications/{client_id}/token/scoped": { + "/api/Bookings/search/{start}/{end}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: never; + header?: never; + path: { + start: string; + end: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"][]; + "application/json": components["schemas"]["Booking"][]; + "text/json": components["schemas"]["Booking"][]; + }; + }; + }; + }; put?: never; - /** - * Create a scoped access token - * @description Use a non-scoped user access token to create a repository-scoped and/or permission-scoped user access token. You can specify - * which repositories the token can access and which permissions are granted to the - * token. - * - * Invalid tokens will return `404 NOT FOUND`. - */ - post: operations["apps/scope-token"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/apps/{app_slug}": { + "/api/Bookings/search/{userId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * 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`). - */ - get: operations["apps/get-by-slug"]; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"][]; + "application/json": components["schemas"]["Booking"][]; + "text/json": components["schemas"]["Booking"][]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -420,118 +728,238 @@ export type paths = { patch?: never; trace?: never; }; - "/assignments/{assignment_id}": { + "/api/Bookings/reserve-slot": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get an assignment - * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - get: operations["classroom/get-an-assignment"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: { + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"][]; + "text/json": components["schemas"]["SlotModel"][]; + "application/*+json": components["schemas"]["SlotModel"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/assignments/{assignment_id}/accepted_assignments": { + "/api/Bookings/cancel/{bookingId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List accepted assignments for an assignment - * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - get: operations["classroom/list-accepted-assignments-for-an-assignment"]; + get?: never; put?: never; post?: never; - delete?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + bookingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; options?: never; head?: never; patch?: never; trace?: never; }; - "/assignments/{assignment_id}/grades": { + "/api/Bookings/delete/{bookingId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get assignment grades - * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - get: operations["classroom/get-assignment-grades"]; + get?: never; put?: never; post?: never; - delete?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + bookingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; options?: never; head?: never; patch?: never; trace?: never; }; - "/classrooms": { + "/api/Bookings/flex": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List classrooms - * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. - */ - get: operations["classroom/list-classrooms"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: { + userId?: string; + numberOfSlot?: number; + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"]; + "application/json": components["schemas"]["Booking"]; + "text/json": components["schemas"]["Booking"]; + }; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/classrooms/{classroom_id}": { + "/api/Bookings/fix-slot": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a classroom - * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. - */ - get: operations["classroom/get-a-classroom"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: { + numberOfMonths?: number; + dayOfWeek?: string[]; + startDate?: string; + userId?: string; + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TimeSlotModel"][]; + "text/json": components["schemas"]["TimeSlotModel"][]; + "application/*+json": components["schemas"]["TimeSlotModel"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/classrooms/{classroom_id}/assignments": { + "/api/Bookings/sortBooking/{sortBy}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List assignments for a classroom - * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. - */ - get: operations["classroom/list-assignments-for-a-classroom"]; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"][]; + "application/json": components["schemas"]["Booking"][]; + "text/json": components["schemas"]["Booking"][]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -540,18 +968,38 @@ export type paths = { patch?: never; trace?: never; }; - "/codes_of_conduct": { + "/api/Bookings/checkbookingtypeflex": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get all codes of conduct - * @description Returns array of all GitHub's codes of conduct. - */ - get: operations["codes-of-conduct/get-all-codes-of-conduct"]; + get: { + parameters: { + query?: { + userId?: string; + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CheckBookingTypeFlexModel"]; + "application/json": components["schemas"]["CheckBookingTypeFlexModel"]; + "text/json": components["schemas"]["CheckBookingTypeFlexModel"]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -560,18 +1008,33 @@ export type paths = { patch?: never; trace?: never; }; - "/codes_of_conduct/{key}": { + "/api/Bookings/qrcode/{bookingId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a code of conduct - * @description Returns information about the specified GitHub code of conduct. - */ - get: operations["codes-of-conduct/get-conduct-code"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + bookingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -580,50 +1043,76 @@ export type paths = { patch?: never; trace?: never; }; - "/credentials/revoke": { + "/api/Bookings/daily-bookings": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DailyBookingResponse"]; + "application/json": components["schemas"]["DailyBookingResponse"]; + "text/json": components["schemas"]["DailyBookingResponse"]; + }; + }; + }; + }; put?: never; - /** - * Revoke a list of credentials - * @description Submit a list of credentials to be revoked. This endpoint is intended to revoke credentials the caller does not own and may have found exposed on GitHub.com or elsewhere. It can also be used for credentials associated with an old user account that you no longer have access to. Credential owners will be notified of the revocation. - * - * This endpoint currently accepts the following credential types: - * - Personal access tokens (classic) - * - Fine-grained personal access tokens - * - * Revoked credentials may impact users on GitHub Free, Pro, & Team and GitHub Enterprise Cloud, and GitHub Enterprise Cloud with Enterprise Managed Users. - * GitHub cannot reactivate any credentials that have been revoked; new credentials will need to be generated. - * - * To prevent abuse, this API is limited to only 60 unauthenticated requests per hour and a max of 1000 tokens per API request. - * - * > [!NOTE] - * > Any authenticated requests will return a 403. - */ - post: operations["credentials/revoke"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/emojis": { + "/api/Bookings/weekly-bookings": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get emojis - * @description Lists all the emojis available to use on GitHub. - */ - get: operations["emojis/get"]; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DailyBookingResponse"]; + "application/json": components["schemas"]["DailyBookingResponse"]; + "text/json": components["schemas"]["DailyBookingResponse"]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -632,54 +1121,72 @@ export type paths = { patch?: never; trace?: never; }; - "/enterprises/{enterprise}/code-security/configurations": { + "/api/Bookings/monthly-bookings": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get code security configurations for an enterprise - * @description Lists all code security configurations available in an enterprise. - * - * The authenticated user must be an administrator of the enterprise in order to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. - */ - get: operations["code-security/get-configurations-for-enterprise"]; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DailyBookingResponse"]; + "application/json": components["schemas"]["DailyBookingResponse"]; + "text/json": components["schemas"]["DailyBookingResponse"]; + }; + }; + }; + }; put?: never; - /** - * Create a code security configuration for an enterprise - * @description Creates a code security configuration in an enterprise. - * - * The authenticated user must be an administrator of the enterprise in order to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. - */ - post: operations["code-security/create-configuration-for-enterprise"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/enterprises/{enterprise}/code-security/configurations/defaults": { + "/api/Bookings/bookings-from-start-of-week": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get default code security configurations for an enterprise - * @description Lists the default code security configurations for an enterprise. - * - * The authenticated user must be an administrator of the enterprise in order to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. - */ - get: operations["code-security/get-default-configurations-for-enterprise"]; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -688,93 +1195,108 @@ export type paths = { patch?: never; trace?: never; }; - "/enterprises/{enterprise}/code-security/configurations/{configuration_id}": { + "/api/Bookings/weekly-bookings-from-start-of-month": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Retrieve a code security configuration of an enterprise - * @description Gets a code security configuration available in an enterprise. - * - * The authenticated user must be an administrator of the enterprise in order to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. - */ - get: operations["code-security/get-single-configuration-for-enterprise"]; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; post?: never; - /** - * Delete a code security configuration for an enterprise - * @description Deletes a code security configuration from an enterprise. - * Repositories attached to the configuration will retain their settings but will no longer be associated with - * the configuration. - * - * The authenticated user must be an administrator for the enterprise to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. - */ - delete: operations["code-security/delete-configuration-for-enterprise"]; + delete?: never; options?: never; head?: never; - /** - * Update a custom code security configuration for an enterprise - * @description Updates a code security configuration in an enterprise. - * - * The authenticated user must be an administrator of the enterprise in order to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. - */ - patch: operations["code-security/update-enterprise-configuration"]; + patch?: never; trace?: never; }; - "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach": { + "/api/Bookings/monthly-bookings-from-start-of-year": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; - /** - * Attach an enterprise configuration to repositories - * @description Attaches an enterprise code security configuration to repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. - * - * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. - * - * The authenticated user must be an administrator for the enterprise to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. - */ - post: operations["code-security/attach-enterprise-configuration"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults": { + "/api/Bookings/daily-revenue": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - /** - * Set a code security configuration as a default for an enterprise - * @description Sets a code security configuration as a default to be applied to new repositories in your enterprise. - * - * This configuration will be applied by default to the matching repository type when created, but only for organizations within the enterprise that do not already have a default code security configuration set. - * - * The authenticated user must be an administrator for the enterprise to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. - */ - put: operations["code-security/set-configuration-as-default-for-enterprise"]; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RevenueResponse"]; + "application/json": components["schemas"]["RevenueResponse"]; + "text/json": components["schemas"]["RevenueResponse"]; + }; + }; + }; + }; + put?: never; post?: never; delete?: never; options?: never; @@ -782,22 +1304,37 @@ export type paths = { patch?: never; trace?: never; }; - "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories": { + "/api/Bookings/weekly-revenue": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get repositories associated with an enterprise code security configuration - * @description Lists the repositories associated with an enterprise code security configuration in an organization. - * - * The authenticated user must be an administrator of the enterprise in order to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. - */ - get: operations["code-security/get-repositories-for-enterprise-configuration"]; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RevenueResponse"]; + "application/json": components["schemas"]["RevenueResponse"]; + "text/json": components["schemas"]["RevenueResponse"]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -806,24 +1343,37 @@ export type paths = { patch?: never; trace?: never; }; - "/enterprises/{enterprise}/dependabot/alerts": { + "/api/Bookings/monthly-revenue": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List Dependabot alerts for an enterprise - * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. - * - * The authenticated user must be a member of the enterprise to use this endpoint. - * - * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, 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)." - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. - */ - get: operations["dependabot/list-alerts-for-enterprise"]; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RevenueResponse"]; + "application/json": components["schemas"]["RevenueResponse"]; + "text/json": components["schemas"]["RevenueResponse"]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -832,24 +1382,33 @@ export type paths = { patch?: never; trace?: never; }; - "/enterprises/{enterprise}/secret-scanning/alerts": { + "/api/Bookings/revenue-from-start-of-week": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List secret scanning alerts for an enterprise - * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * - * Alerts are only returned for organizations in the enterprise for which the authenticated user is 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). - * - * The authenticated user must be a member of the enterprise in order to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope or `security_events` scope to use this endpoint. - */ - get: operations["secret-scanning/list-alerts-for-enterprise"]; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -858,19 +1417,33 @@ export type paths = { patch?: never; trace?: never; }; - "/events": { + "/api/Bookings/weekly-revenue-from-start-of-month": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List public events - * @description > [!NOTE] - * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - get: operations["activity/list-public-events"]; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -879,31 +1452,33 @@ export type paths = { patch?: never; trace?: never; }; - "/feeds": { + "/api/Bookings/monthly-revenue-from-start-of-year": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get feeds - * @description Lists the feeds available to the authenticated user. The response provides a URL for each feed. You can then get a specific feed by sending a request to one of the feed URLs. - * - * * **Timeline**: The GitHub global public timeline - * * **User**: The public timeline for any user, using `uri_template`. For more information, see "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-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. - * - * By default, timeline resources are returned in JSON. You can specify the `application/atom+xml` type in the `Accept` header to return timeline resources in Atom format. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * > [!NOTE] - * > Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) since current feed URIs use the older, non revocable auth tokens. - */ - get: operations["activity/get-feeds"]; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -912,47 +1487,119 @@ export type paths = { patch?: never; trace?: never; }; - "/gists": { + "/api/Branches": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List gists for the authenticated user - * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: - */ - get: operations["gists/list"]; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BranchPagingResponse"]; + "application/json": components["schemas"]["BranchPagingResponse"]; + "text/json": components["schemas"]["BranchPagingResponse"]; + }; + }; + }; + }; put?: never; - /** - * Create a gist - * @description 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. - */ - post: operations["gists/create"]; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + BranchAddress: string; + BranchName: string; + BranchPhone: string; + Description?: string; + BranchPicture?: string; + /** Format: time */ + OpenTime: string; + /** Format: time */ + CloseTime: string; + OpenDay: string; + Status: string; + BranchPictures?: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Branch"]; + "application/json": components["schemas"]["Branch"]; + "text/json": components["schemas"]["Branch"]; + }; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/gists/public": { + "/api/Branches/HomePage": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List public gists - * @description List public gists sorted by most recently updated to least recently updated. - * - * Note: With [pagination](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api), 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. - */ - get: operations["gists/list-public"]; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + status?: string; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BranchPagingResponse"]; + "application/json": components["schemas"]["BranchPagingResponse"]; + "text/json": components["schemas"]["BranchPagingResponse"]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -961,143 +1608,252 @@ export type paths = { patch?: never; trace?: never; }; - "/gists/starred": { + "/api/Branches/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List starred gists - * @description List the authenticated user's starred gists: - */ - get: operations["gists/list-starred"]; - put?: never; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Branch"]; + "application/json": components["schemas"]["Branch"]; + "text/json": components["schemas"]["Branch"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + BranchAddress: string; + BranchName: string; + BranchPhone: string; + Description?: string; + BranchPicture?: string; + /** Format: time */ + OpenTime: string; + /** Format: time */ + CloseTime: string; + OpenDay: string; + Status: string; + ExistingImages?: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; post?: never; - delete?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; options?: never; head?: never; patch?: never; trace?: never; }; - "/gists/{gist_id}": { + "/api/Branches/status": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a gist - * @description Gets a specified gist. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. - */ - get: operations["gists/get"]; + get: { + parameters: { + query?: { + status?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Branch"][]; + "application/json": components["schemas"]["Branch"][]; + "text/json": components["schemas"]["Branch"][]; + }; + }; + }; + }; put?: never; post?: never; - /** Delete a gist */ - delete: operations["gists/delete"]; + delete?: never; options?: never; head?: never; - /** - * Update a gist - * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files - * from the previous version of the gist that aren't explicitly changed during an edit - * are unchanged. - * - * At least one of `description` or `files` is required. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. - */ - patch: operations["gists/update"]; + patch?: never; trace?: never; }; - "/gists/{gist_id}/comments": { + "/api/Branches/courtId/{courtId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List gist comments - * @description Lists the comments on a gist. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. - */ - get: operations["gists/list-comments"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + courtId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Branch"][]; + "application/json": components["schemas"]["Branch"][]; + "text/json": components["schemas"]["Branch"][]; + }; + }; + }; + }; put?: never; - /** - * Create a gist comment - * @description Creates a comment on a gist. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. - */ - post: operations["gists/create-comment"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/gists/{gist_id}/comments/{comment_id}": { + "/api/Branches/lastBranch/{userId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a gist comment - * @description Gets a comment on a gist. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. - */ - get: operations["gists/get-comment"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Branch"]; + "application/json": components["schemas"]["Branch"]; + "text/json": components["schemas"]["Branch"]; + }; + }; + }; + }; put?: never; post?: never; - /** Delete a gist comment */ - delete: operations["gists/delete-comment"]; + delete?: never; options?: never; head?: never; - /** - * Update a gist comment - * @description Updates a comment on a gist. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. - */ - patch: operations["gists/update-comment"]; + patch?: never; trace?: never; }; - "/gists/{gist_id}/commits": { + "/api/Branches/sortBranch/{sortBy}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** List gist commits */ - get: operations["gists/list-commits"]; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Branch"][]; + "application/json": components["schemas"]["Branch"][]; + "text/json": components["schemas"]["Branch"][]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -1106,63 +1862,128 @@ export type paths = { patch?: never; trace?: never; }; - "/gists/{gist_id}/forks": { + "/api/Branches/sortBranchByDistance": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** List gist forks */ - get: operations["gists/list-forks"]; + get: { + parameters: { + query?: { + Latitude?: number; + Longitude?: number; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BranchDistancePagingResponse"]; + "application/json": components["schemas"]["BranchDistancePagingResponse"]; + "text/json": components["schemas"]["BranchDistancePagingResponse"]; + }; + }; + }; + }; put?: never; - /** Fork a gist */ - post: operations["gists/fork"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/gists/{gist_id}/star": { + "/api/Branches/GetBranchByPrice/{minPrice}&&{maxPrice}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** Check if a gist is starred */ - get: operations["gists/check-is-starred"]; - /** - * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." - */ - put: operations["gists/star"]; + get: { + parameters: { + query?: { + minPrice?: number; + maxPrice?: number; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + minPrice: string; + maxPrice: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BranchPagingResponse"]; + "application/json": components["schemas"]["BranchPagingResponse"]; + "text/json": components["schemas"]["BranchPagingResponse"]; + }; + }; + }; + }; + put?: never; post?: never; - /** Unstar a gist */ - delete: operations["gists/unstar"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/gists/{gist_id}/{sha}": { + "/api/Branches/GetBranchByRating/{rating}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a gist revision - * @description Gets a specified gist revision. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. - */ - get: operations["gists/get-revision"]; + get: { + parameters: { + query?: { + rating?: number; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + rating: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BranchPagingResponse"]; + "application/json": components["schemas"]["BranchPagingResponse"]; + "text/json": components["schemas"]["BranchPagingResponse"]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -1171,62 +1992,188 @@ export type paths = { patch?: never; trace?: never; }; - "/gitignore/templates": { + "/api/Courts": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get all gitignore templates - * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). - */ - get: operations["gitignore/get-all-templates"]; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CourtPagingResponse"]; + "application/json": components["schemas"]["CourtPagingResponse"]; + "text/json": components["schemas"]["CourtPagingResponse"]; + }; + }; + }; + }; put?: never; - post?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CourtModel"]; + "text/json": components["schemas"]["CourtModel"]; + "application/*+json": components["schemas"]["CourtModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Court"]; + "application/json": components["schemas"]["Court"]; + "text/json": components["schemas"]["Court"]; + }; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/gitignore/templates/{name}": { + "/api/Courts/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a gitignore template - * @description Get the content of a gitignore template. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw .gitignore contents. - */ - get: operations["gitignore/get-template"]; - put?: never; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Court"]; + "application/json": components["schemas"]["Court"]; + "text/json": components["schemas"]["Court"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CourtModel"]; + "text/json": components["schemas"]["CourtModel"]; + "application/*+json": components["schemas"]["CourtModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; post?: never; - delete?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; options?: never; head?: never; patch?: never; trace?: never; }; - "/installation/repositories": { + "/api/Courts/{status}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List repositories accessible to the app installation - * @description List repositories that an app installation can access. - */ - get: operations["apps/list-repos-accessible-to-installation"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + status: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Court"][]; + "application/json": components["schemas"]["Court"][]; + "text/json": components["schemas"]["Court"][]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -1235,52 +2182,80 @@ export type paths = { patch?: never; trace?: never; }; - "/installation/token": { + "/api/Courts/{sortBy}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Court"][]; + "application/json": components["schemas"]["Court"][]; + "text/json": components["schemas"]["Court"][]; + }; + }; + }; + }; put?: never; post?: never; - /** - * Revoke an installation access token - * @description 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/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. - */ - delete: operations["apps/revoke-installation-access-token"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/issues": { + "/numberOfCourt/{branchId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List issues assigned to the authenticated user - * @description 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 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/pulls/pulls#list-pull-requests)" endpoint. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["issues/list"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + branchId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": number; + "application/json": number; + "text/json": number; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -1289,38 +2264,83 @@ export type paths = { patch?: never; trace?: never; }; - "/licenses": { + "/api/Courts/AvailableCourts": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get all commonly used licenses - * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - get: operations["licenses/get-all-commonly-used"]; + get?: never; put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"]; + "text/json": components["schemas"]["SlotModel"]; + "application/*+json": components["schemas"]["SlotModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Court"][]; + "application/json": components["schemas"]["Court"][]; + "text/json": components["schemas"]["Court"][]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; patch?: never; trace?: never; }; - "/licenses/{license}": { + "/api/Courts/GetCourtsByBranchId": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a license - * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - get: operations["licenses/get"]; + get: { + parameters: { + query?: { + branchId?: string; + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CourtPagingResponse"]; + "application/json": components["schemas"]["CourtPagingResponse"]; + "text/json": components["schemas"]["CourtPagingResponse"]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -1329,7 +2349,7 @@ export type paths = { patch?: never; trace?: never; }; - "/markdown": { + "/api/Location": { parameters: { query?: never; header?: never; @@ -1338,18 +2358,37 @@ export type paths = { }; get?: never; put?: never; - /** - * Render a Markdown document - * @description Depending on what is rendered in the Markdown, you may need to provide additional token scopes for labels, such as `issues:read` or `pull_requests:read`. - */ - post: operations["markdown/render"]; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["LocationModel"]; + "text/json": components["schemas"]["LocationModel"]; + "application/*+json": components["schemas"]["LocationModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/markdown/raw": { + "/api/Location/get-geolocation": { parameters: { query?: never; header?: never; @@ -1358,97 +2397,227 @@ export type paths = { }; get?: never; put?: never; - /** - * 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. - */ - post: operations["markdown/render-raw"]; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": string; + "text/json": string; + "application/*+json": string; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/marketplace_listing/accounts/{account_id}": { + "/api/Location/pathdistance": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * 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. - * - * 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/get-subscription-plan-for-account"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["LocationModel"]; + "text/json": components["schemas"]["LocationModel"]; + "application/*+json": components["schemas"]["LocationModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/marketplace_listing/plans": { + "/api/mail/send": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List plans - * @description 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-plans"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + ToEmail?: string; + Subject?: string; + Body?: string; + Attachments?: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/marketplace_listing/plans/{plan_id}/accounts": { + "/api/News": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * 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. - * - * 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-accounts-for-plan"]; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["NewsPagingResponse"]; + "application/json": components["schemas"]["NewsPagingResponse"]; + "text/json": components["schemas"]["NewsPagingResponse"]; + }; + }; + }; + }; put?: never; - post?: never; + post: { + parameters: { + query: { + Title: string; + Content: string; + Image?: string; + Status: string; + IsHomepageSlideshow: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + /** Format: binary */ + NewsImage?: string; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["News"]; + "application/json": components["schemas"]["News"]; + "text/json": components["schemas"]["News"]; + }; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/marketplace_listing/stubbed/accounts/{account_id}": { + "/api/News/NewsPage": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * 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. - * - * 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/get-subscription-plan-for-account-stubbed"]; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + IsHomepageSlideshow?: boolean; + status?: string; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["NewsPagingResponse"]; + "application/json": components["schemas"]["NewsPagingResponse"]; + "text/json": components["schemas"]["NewsPagingResponse"]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -1457,20 +2626,35 @@ export type paths = { patch?: never; trace?: never; }; - "/marketplace_listing/stubbed/plans": { + "/api/News/SlideShowImage": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List plans (stubbed) - * @description 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-plans-stubbed"]; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["News"][]; + "application/json": components["schemas"]["News"][]; + "text/json": components["schemas"]["News"][]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -1479,48 +2663,104 @@ export type paths = { patch?: never; trace?: never; }; - "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { + "/api/News/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * 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. - * - * 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-accounts-for-plan-stubbed"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["News"]; + "application/json": components["schemas"]["News"]; + "text/json": components["schemas"]["News"]; + }; + }; + }; + }; put?: never; post?: never; - delete?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; options?: never; head?: never; patch?: never; trace?: never; }; - "/meta": { + "/api/News/EditNews": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * 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://docs.github.com/articles/about-github-s-ip-addresses/)." - * - * The API's response also includes a list of GitHub's domain names. - * - * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. - * - * > [!NOTE] - * > This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. - */ - get: operations["meta/get"]; - put?: never; + get?: never; + put: { + parameters: { + query: { + id?: string; + Title: string; + Content: string; + Image?: string; + Status: string; + IsHomepageSlideshow: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + /** Format: binary */ + NewsImage?: string; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; post?: never; delete?: never; options?: never; @@ -1528,44 +2768,103 @@ export type paths = { patch?: never; trace?: never; }; - "/networks/{owner}/{repo}/events": { + "/api/Payments": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List public events for a network of repositories - * @description > [!NOTE] - * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - get: operations["activity/list-public-events-for-repo-network"]; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Payment"][]; + "application/json": components["schemas"]["Payment"][]; + "text/json": components["schemas"]["Payment"][]; + }; + }; + }; + }; put?: never; - post?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["Payment"]; + "text/json": components["schemas"]["Payment"]; + "application/*+json": components["schemas"]["Payment"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Payment"]; + "application/json": components["schemas"]["Payment"]; + "text/json": components["schemas"]["Payment"]; + }; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/notifications": { + "/api/Payments/GetPayments": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List notifications for the authenticated user - * @description List all notifications for the current user, sorted by most recently updated. - */ - get: operations["activity/list-notifications-for-authenticated-user"]; - /** - * Mark notifications as read - * @description Marks all notifications as "read" for the current user. 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/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - put: operations["activity/mark-notifications-as-read"]; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["PaymentPagingResponse"]; + "application/json": components["schemas"]["PaymentPagingResponse"]; + "text/json": components["schemas"]["PaymentPagingResponse"]; + }; + }; + }; + }; + put?: never; post?: never; delete?: never; options?: never; @@ -1573,103 +2872,178 @@ export type paths = { patch?: never; trace?: never; }; - "/notifications/threads/{thread_id}": { + "/api/Payments/GetPaymentsByDate": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a thread - * @description Gets information about a notification thread. - */ - get: operations["activity/get-thread"]; + get: { + parameters: { + query?: { + day?: number; + month?: number; + year?: number; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["PaymentPagingResponse"]; + "application/json": components["schemas"]["PaymentPagingResponse"]; + "text/json": components["schemas"]["PaymentPagingResponse"]; + }; + }; + }; + }; put?: never; post?: never; - /** - * Mark a thread as done - * @description Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications. - */ - delete: operations["activity/mark-thread-as-done"]; + delete?: never; options?: never; head?: never; - /** - * Mark a thread as read - * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. - */ - patch: operations["activity/mark-thread-as-read"]; + patch?: never; trace?: never; }; - "/notifications/threads/{thread_id}/subscription": { + "/api/Payments/bookingid/{bookingId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * 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/activity/watching#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. - */ - get: operations["activity/get-thread-subscription-for-authenticated-user"]; - /** - * 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**. - * - * 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/activity/notifications#delete-a-thread-subscription) endpoint. - */ - put: operations["activity/set-thread-subscription"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + bookingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Payment"]; + "application/json": components["schemas"]["Payment"]; + "text/json": components["schemas"]["Payment"]; + }; + }; + }; + }; + put?: never; post?: never; - /** - * 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/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. - */ - delete: operations["activity/delete-thread-subscription"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/octocat": { + "/api/Payments/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get Octocat - * @description Get the octocat as ASCII art - */ - get: operations["meta/get-octocat"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Payment"]; + "application/json": components["schemas"]["Payment"]; + "text/json": components["schemas"]["Payment"]; + }; + }; + }; + }; put?: never; post?: never; - delete?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; options?: never; head?: never; patch?: never; trace?: never; }; - "/organizations": { + "/api/Payments/SearchByDate": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List organizations - * @description Lists all organizations, 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/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. - */ - get: operations["orgs/list"]; + get: { + parameters: { + query?: { + start?: string; + end?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Payment"][]; + "application/json": components["schemas"]["Payment"][]; + "text/json": components["schemas"]["Payment"][]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -1678,46 +3052,42 @@ export type paths = { patch?: never; trace?: never; }; - "/organizations/{org}/dependabot/repository-access": { + "/api/Payments/GeneratePaymentToken/{bookingId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Lists the repositories Dependabot can access in an organization - * @description Lists repositories that organization admins have allowed Dependabot to access when updating dependencies. - * > [!NOTE] - * > This operation supports both server-to-server and user-to-server access. - * Unauthorized users will not see the existence of this endpoint. - */ - get: operations["dependabot/repository-access-for-org"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + bookingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; post?: never; delete?: never; options?: never; head?: never; - /** - * Updates Dependabot's repository access list for an organization - * @description Updates repositories according to the list of repositories that organization admins have given Dependabot access to when they've updated dependencies. - * - * > [!NOTE] - * > This operation supports both server-to-server and user-to-server access. - * Unauthorized users will not see the existence of this endpoint. - * - * **Example request body:** - * ```json - * { - * "repository_ids_to_add": [123, 456], - * "repository_ids_to_remove": [789] - * } - * ``` - */ - patch: operations["dependabot/update-repository-access-for-org"]; + patch?: never; trace?: never; }; - "/organizations/{org}/dependabot/repository-access/default-level": { + "/api/Payments/ProcessPayment": { parameters: { query?: never; header?: never; @@ -1725,113 +3095,104 @@ export type paths = { cookie?: never; }; get?: never; - /** - * Set the default repository access level for Dependabot - * @description Sets the default level of repository access Dependabot will have while performing an update. Available values are: - * - 'public' - Dependabot will only have access to public repositories, unless access is explicitly granted to non-public repositories. - * - 'internal' - Dependabot will only have access to public and internal repositories, unless access is explicitly granted to private repositories. - * - * Unauthorized users will not see the existence of this endpoint. - * - * This operation supports both server-to-server and user-to-server access. - */ - put: operations["dependabot/set-repository-access-default-level"]; - post?: never; + put?: never; + post: { + parameters: { + query?: { + role?: string; + token?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/organizations/{org}/settings/billing/usage": { + "/api/Payments/ProcessPaymentByBalance": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get billing usage report for an organization - * @description Gets a report of the total usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account. - * - * **Note:** This endpoint is only available to organizations with access to the enhanced billing platform. For more information, see "[About the enhanced billing platform](https://docs.github.com/billing/using-the-new-billing-platform)." - */ - get: operations["billing/get-github-billing-usage-report-org"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: { + token?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}": { + "/api/Payments/SortPayment/{sortBy}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get an organization - * @description Gets information about an organization. - * - * When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, outside collaborators, guest collaborators, repository collaborators, or everyone with access to any repository within the organization to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - * - * To see the full details about an organization, the authenticated user must be an organization owner. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. - * - * To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. - */ - get: operations["orgs/get"]; - put?: never; - post?: never; - /** - * Delete an organization - * @description Deletes an organization and all its repositories. - * - * The organization login will be unavailable for 90 days after deletion. - * - * Please review the Terms of Service regarding account deletion before using this endpoint: - * - * https://docs.github.com/site-policy/github-terms/github-terms-of-service - */ - delete: operations["orgs/delete"]; - options?: never; - head?: never; - /** - * Update an organization - * @description > [!WARNING] - * > **Closing down 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). - * - * > [!WARNING] - * > **Closing down notice:** Code security product enablement for new repositories through the organization API is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization) to set defaults instead. For more information on setting a default security configuration, see the [changelog](https://github.blog/changelog/2024-07-09-sunsetting-security-settings-defaults-parameters-in-the-organizations-rest-api/). - * - * Updates the organization's profile and member privileges. - * - * The authenticated user must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` or `repo` scope to use this endpoint. - */ - patch: operations["orgs/update"]; - trace?: never; - }; - "/orgs/{org}/actions/cache/usage": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Payment"][]; + "application/json": components["schemas"]["Payment"][]; + "text/json": components["schemas"]["Payment"][]; + }; + }; + }; }; - /** - * Get GitHub Actions cache usage for an organization - * @description 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. - * - * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage-for-org"]; put?: never; post?: never; delete?: never; @@ -1840,21 +3201,35 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/cache/usage-by-repository": { + "/api/Payments/GetDailyRevenue": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List repositories with GitHub Actions cache usage for an organization - * @description 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. - * - * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": number; + "application/json": number; + "text/json": number; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -1863,45 +3238,76 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/hosted-runners": { + "/api/Payments/GetRevenueByDate": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List GitHub-hosted runners for an organization - * @description Lists all GitHub-hosted runners configured in an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `manage_runner:org` scope to use this endpoint. - */ - get: operations["actions/list-hosted-runners-for-org"]; + get: { + parameters: { + query?: { + start?: string; + end?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": number; + "application/json": number; + "text/json": number; + }; + }; + }; + }; put?: never; - /** - * Create a GitHub-hosted runner for an organization - * @description Creates a GitHub-hosted runner for an organization. - * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. - */ - post: operations["actions/create-hosted-runner-for-org"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/hosted-runners/images/github-owned": { + "/api/Prices/branchId/{branchId}/type/{type}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get GitHub-owned images for GitHub-hosted runners in an organization - * @description Get the list of GitHub-owned images available for GitHub-hosted runners for an organization. - */ - get: operations["actions/get-hosted-runners-github-owned-images-for-org"]; + get: { + parameters: { + query?: { + isWeekend?: boolean; + }; + header?: never; + path: { + branchId: string; + type: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -1910,18 +3316,37 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/hosted-runners/images/partner": { + "/api/Prices/branchId/{branchId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get partner images for GitHub-hosted runners in an organization - * @description Get the list of partner images available for GitHub-hosted runners for an organization. - */ - get: operations["actions/get-hosted-runners-partner-images-for-org"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + branchId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Price"][]; + "application/json": components["schemas"]["Price"][]; + "text/json": components["schemas"]["Price"][]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -1930,118 +3355,139 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/hosted-runners/limits": { + "/api/Prices/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get limits on GitHub-hosted runners for an organization - * @description Get the GitHub-hosted runners limits for an organization. - */ - get: operations["actions/get-hosted-runners-limits-for-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/actions/hosted-runners/machine-sizes": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Price"]; + "application/json": components["schemas"]["Price"]; + "text/json": components["schemas"]["Price"]; + }; + }; + }; }; - /** - * Get GitHub-hosted runners machine specs for an organization - * @description Get the list of machine specs available for GitHub-hosted runners for an organization. - */ - get: operations["actions/get-hosted-runners-machine-specs-for-org"]; put?: never; post?: never; - delete?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/hosted-runners/platforms": { + "/api/Prices/PostPrice": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get platforms for GitHub-hosted runners in an organization - * @description Get the list of platforms available for GitHub-hosted runners for an organization. - */ - get: operations["actions/get-hosted-runners-platforms-for-org"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PriceModel"]; + "text/json": components["schemas"]["PriceModel"]; + "application/*+json": components["schemas"]["PriceModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Price"]; + "application/json": components["schemas"]["Price"]; + "text/json": components["schemas"]["Price"]; + }; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/hosted-runners/{hosted_runner_id}": { + "/api/Prices/UpdatePrice": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a GitHub-hosted runner for an organization - * @description Gets a GitHub-hosted runner configured in an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. - */ - get: operations["actions/get-hosted-runner-for-org"]; - put?: never; - post?: never; - /** - * Delete a GitHub-hosted runner for an organization - * @description Deletes a GitHub-hosted runner for an organization. - */ - delete: operations["actions/delete-hosted-runner-for-org"]; - options?: never; - head?: never; - /** - * Update a GitHub-hosted runner for an organization - * @description Updates a GitHub-hosted runner for an organization. - * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. - */ - patch: operations["actions/update-hosted-runner-for-org"]; - trace?: never; - }; - "/orgs/{org}/actions/oidc/customization/sub": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PriceModel"]; + "text/json": components["schemas"]["PriceModel"]; + "application/*+json": components["schemas"]["PriceModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - /** - * Get the customization template for an OIDC subject claim for an organization - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * - * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. - */ - get: operations["oidc/get-oidc-custom-sub-template-for-org"]; - /** - * Set the customization template for an OIDC subject claim for an organization - * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. - * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. - */ - put: operations["oidc/update-oidc-custom-sub-template-for-org"]; post?: never; delete?: never; options?: never; @@ -2049,56 +3495,78 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/permissions": { + "/api/Prices/showprice": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get GitHub Actions permissions for an organization - * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["actions/get-github-actions-permissions-organization"]; - /** - * Set GitHub Actions permissions for an organization - * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["actions/set-github-actions-permissions-organization"]; - post?: never; + get?: never; + put?: never; + post: { + parameters: { + query?: { + isVip?: boolean; + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/permissions/repositories": { + "/api/Prices/sortPrice/{sortBy}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * 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)." - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; - /** - * 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)." - * - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Price"][]; + "application/json": components["schemas"]["Price"][]; + "text/json": components["schemas"]["Price"][]; + }; + }; + }; + }; + put?: never; post?: never; delete?: never; options?: never; @@ -2106,87 +3574,189 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/permissions/repositories/{repository_id}": { + "/api/Reviews": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - /** - * 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)." - * - * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["actions/enable-selected-repository-github-actions-organization"]; - post?: never; - /** - * 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)." - * - * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["actions/disable-selected-repository-github-actions-organization"]; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ReviewPagingResponse"]; + "application/json": components["schemas"]["ReviewPagingResponse"]; + "text/json": components["schemas"]["ReviewPagingResponse"]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReviewModel"]; + "text/json": components["schemas"]["ReviewModel"]; + "application/*+json": components["schemas"]["ReviewModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"]; + "application/json": components["schemas"]["Review"]; + "text/json": components["schemas"]["Review"]; + }; + }; + }; + }; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/permissions/selected-actions": { + "/api/Reviews/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get allowed actions and reusable workflows for an organization - * @description 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)." - * - * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["actions/get-allowed-actions-organization"]; - /** - * Set allowed actions and reusable workflows for an organization - * @description 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)." - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["actions/set-allowed-actions-organization"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"]; + "application/json": components["schemas"]["Review"]; + "text/json": components["schemas"]["Review"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReviewModel"]; + "text/json": components["schemas"]["ReviewModel"]; + "application/*+json": components["schemas"]["ReviewModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; post?: never; - delete?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/permissions/workflow": { + "/api/Reviews/GetReviewsByBranch/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get default workflow permissions for an organization - * @description 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)." - * - * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; - /** - * Set default workflow permissions for an organization - * @description 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)." - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"][]; + "application/json": components["schemas"]["Review"][]; + "text/json": components["schemas"]["Review"][]; + }; + }; + }; + }; + put?: never; post?: never; delete?: never; options?: never; @@ -2194,82 +3764,116 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/runner-groups": { + "/api/Reviews/SearchByUser/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List self-hosted runner groups for an organization - * @description Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["actions/list-self-hosted-runner-groups-for-org"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"][]; + "application/json": components["schemas"]["Review"][]; + "text/json": components["schemas"]["Review"][]; + }; + }; + }; + }; put?: never; - /** - * Create a self-hosted runner group for an organization - * @description Creates a new self-hosted runner group for an organization. - * - * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - post: operations["actions/create-self-hosted-runner-group-for-org"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/runner-groups/{runner_group_id}": { + "/api/Reviews/SearchByDate/{start}/{end}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a self-hosted runner group for an organization - * @description Gets a specific self-hosted runner group for an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["actions/get-self-hosted-runner-group-for-org"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + start: string; + end: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"][]; + "application/json": components["schemas"]["Review"][]; + "text/json": components["schemas"]["Review"][]; + }; + }; + }; + }; put?: never; post?: never; - /** - * Delete a self-hosted runner group from an organization - * @description Deletes a self-hosted runner group for an organization. - * - * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["actions/delete-self-hosted-runner-group-from-org"]; + delete?: never; options?: never; head?: never; - /** - * Update a self-hosted runner group for an organization - * @description Updates the `name` and `visibility` of a self-hosted runner group in an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - patch: operations["actions/update-self-hosted-runner-group-for-org"]; + patch?: never; trace?: never; }; - "/orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners": { + "/api/Reviews/SearchByRating/{rating}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List GitHub-hosted runners in a group for an organization - * @description Lists the GitHub-hosted runners in an organization group. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["actions/list-github-hosted-runners-in-group-for-org"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + rating: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"][]; + "application/json": components["schemas"]["Review"][]; + "text/json": components["schemas"]["Review"][]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -2278,27 +3882,42 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { + "/api/Reviews/SortReview/{sortBy}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List repository access to a self-hosted runner group in an organization - * @description Lists the repositories with access to a self-hosted runner group configured in an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["actions/list-repo-access-to-self-hosted-runner-group-in-org"]; - /** - * Set repository access for a self-hosted runner group in an organization - * @description Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["actions/set-repo-access-to-self-hosted-runner-group-in-org"]; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"][]; + "application/json": components["schemas"]["Review"][]; + "text/json": components["schemas"]["Review"][]; + }; + }; + }; + }; + put?: never; post?: never; delete?: never; options?: never; @@ -2306,55 +3925,77 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": { + "/api/Reviews/GetRatingPercentageOfABranch/{branchId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - /** - * Add repository access to a self-hosted runner group in an organization - * @description Adds a repository to the list of 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)." - * - * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["actions/add-repo-access-to-self-hosted-runner-group-in-org"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + branchId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": number[]; + "application/json": number[]; + "text/json": number[]; + }; + }; + }; + }; + put?: never; post?: never; - /** - * Remove repository access to a self-hosted runner group in an organization - * @description 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)." - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["actions/remove-repo-access-to-self-hosted-runner-group-in-org"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { + "/api/Reviews/AverageRating/{branchId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List self-hosted runners in a group for an organization - * @description Lists self-hosted runners that are in a specific organization group. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["actions/list-self-hosted-runners-in-group-for-org"]; - /** - * Set self-hosted runners in a group for an organization - * @description Replaces the list of self-hosted runners that are part of an organization runner group. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["actions/set-self-hosted-runners-in-group-for-org"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + branchId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": number; + "application/json": number; + "text/json": number; + }; + }; + }; + }; + put?: never; post?: never; delete?: never; options?: never; @@ -2362,50 +4003,74 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + "/api/Roles": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - /** - * Add a self-hosted runner to a group for an organization - * @description Adds a self-hosted runner to a runner group configured in an organization. - * - * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["actions/add-self-hosted-runner-to-group-for-org"]; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IdentityRole"][]; + "application/json": components["schemas"]["IdentityRole"][]; + "text/json": components["schemas"]["IdentityRole"][]; + }; + }; + }; + }; + put?: never; post?: never; - /** - * Remove a self-hosted runner from a group for an organization - * @description Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["actions/remove-self-hosted-runner-from-group-for-org"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/runners": { + "/api/Roles/roleId/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List self-hosted runners for an organization - * @description Lists all self-hosted runners configured in an organization. - * - * Authenticated users must have admin access to the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - get: operations["actions/list-self-hosted-runners-for-org"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IdentityRole"]; + "application/json": components["schemas"]["IdentityRole"]; + "text/json": components["schemas"]["IdentityRole"]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -2414,22 +4079,37 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/runners/downloads": { + "/api/Roles/userId/{userId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List runner applications for an organization - * @description Lists binaries for the runner application that you can download and run. - * - * Authenticated users must have admin access to the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - get: operations["actions/list-runner-applications-for-org"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": string[]; + "application/json": string[]; + "text/json": string[]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -2438,7 +4118,7 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/runners/generate-jitconfig": { + "/api/Roles/{id}": { parameters: { query?: never; header?: never; @@ -2446,209 +4126,281 @@ export type paths = { cookie?: never; }; get?: never; - put?: never; - /** - * Create configuration for a just-in-time runner for an organization - * @description Generates a configuration that can be passed to the runner application at startup. - * - * The authenticated user must have admin access to the organization. - * - * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/generate-runner-jitconfig-for-org"]; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": string; + "text/json": string; + "application/*+json": string; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/runners/registration-token": { + "/api/TimeSlots": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; put?: never; - /** - * 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. - * - * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: - * - * ``` - * ./config.sh --url https://github.com/octo-org --token TOKEN - * ``` - * - * Authenticated users must have admin access to the organization to use this endpoint. - * - * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/create-registration-token-for-org"]; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TimeSlot"]; + "text/json": components["schemas"]["TimeSlot"]; + "application/*+json": components["schemas"]["TimeSlot"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"]; + "application/json": components["schemas"]["TimeSlot"]; + "text/json": components["schemas"]["TimeSlot"]; + }; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/runners/remove-token": { + "/api/TimeSlots/page": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; put?: never; - /** - * 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. - * - * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: - * - * ``` - * ./config.sh remove --token TOKEN - * ``` - * - * Authenticated users must have admin access to the organization to use this endpoint. - * - * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/create-remove-token-for-org"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/runners/{runner_id}": { + "/api/TimeSlots/GetTimeSlotsByCourtId": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a self-hosted runner for an organization - * @description Gets a specific self-hosted runner configured in an organization. - * - * Authenticated users must have admin access to the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - get: operations["actions/get-self-hosted-runner-for-org"]; + get: { + parameters: { + query?: { + courtId?: string; + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; put?: never; post?: never; - /** - * 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. - * - * Authenticated users must have admin access to the organization to use this endpoint. - * - * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-self-hosted-runner-from-org"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/runners/{runner_id}/labels": { + "/api/TimeSlots/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List labels for a self-hosted runner for an organization - * @description Lists all labels for a self-hosted runner configured in an organization. - * - * Authenticated users must have admin access to the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; - /** - * Set custom labels for a self-hosted runner for an organization - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in an organization. - * - * Authenticated users must have admin access to the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; - /** - * Add custom labels to a self-hosted runner for an organization - * @description Adds custom labels to a self-hosted runner configured in an organization. - * - * Authenticated users must have admin access to the organization to use this endpoint. - * - * OAuth tokens and personal access tokens (classic) need 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 for an organization - * @description Remove all custom labels from a self-hosted runner configured in an - * organization. Returns the remaining read-only labels from the runner. - * - * Authenticated users must have admin access to the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"]; + "application/json": components["schemas"]["TimeSlot"]; + "text/json": components["schemas"]["TimeSlot"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"]; + "text/json": components["schemas"]["SlotModel"]; + "application/*+json": components["schemas"]["SlotModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - get?: never; - put?: never; post?: never; - /** - * Remove a custom label from a self-hosted runner for an organization - * @description 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. - * - * Authenticated users must have admin access to the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/secrets": { + "/api/TimeSlots/bookingId/{bookingId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their - * encrypted values. - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - get: operations["actions/list-org-secrets"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + bookingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -2657,100 +4409,129 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/secrets/public-key": { + "/api/TimeSlots/isBooked": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * 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. - * - * The authenticated user must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-org-public-key"]; + get?: never; put?: never; - post?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"]; + "text/json": components["schemas"]["SlotModel"]; + "application/*+json": components["schemas"]["SlotModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": boolean; + "application/json": boolean; + "text/json": boolean; + }; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/secrets/{secret_name}": { + "/api/TimeSlots/changeSlot/{slotId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. - * - * The authenticated user must have collaborator access to a repository to create, update, or read secrets - * - * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-org-secret"]; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["actions/create-or-update-org-secret"]; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path: { + slotId: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"]; + "text/json": components["schemas"]["SlotModel"]; + "application/*+json": components["schemas"]["SlotModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"]; + "application/json": components["schemas"]["TimeSlot"]; + "text/json": components["schemas"]["TimeSlot"]; + }; + }; + }; + }; post?: never; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-org-secret"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + "/api/TimeSlots/userId/{userId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * 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`. - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - get: operations["actions/list-selected-repos-for-org-secret"]; - /** - * 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/actions/secrets#create-or-update-an-organization-secret). - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - put: operations["actions/set-selected-repos-for-org-secret"]; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; + put?: never; post?: never; delete?: never; options?: never; @@ -2758,150 +4539,167 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { + "/api/TimeSlots/sortSlot/{sortBy}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - /** - * 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`. For more information about setting the visibility, see [Create or - * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["actions/add-selected-repo-to-org-secret"]; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; + put?: never; post?: never; - /** - * 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/actions/secrets#create-or-update-an-organization-secret). - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - delete: operations["actions/remove-selected-repo-from-org-secret"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/variables": { + "/api/TimeSlots/checkin/qr": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List organization variables - * @description Lists all organization variables. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - get: operations["actions/list-org-variables"]; + get?: never; put?: never; - /** - * Create an organization variable - * @description Creates an organization variable that you can reference in a GitHub Actions workflow. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/create-org-variable"]; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QRCheckInModel"]; + "text/json": components["schemas"]["QRCheckInModel"]; + "application/*+json": components["schemas"]["QRCheckInModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/variables/{name}": { + "/api/TimeSlots/lock": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get an organization variable - * @description Gets a specific variable in an organization. - * - * The authenticated user must have collaborator access to a repository to create, update, or read variables. - * - * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-org-variable"]; + get?: never; put?: never; - post?: never; - /** - * Delete an organization variable - * @description Deletes an organization variable using the variable name. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-org-variable"]; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"]; + "text/json": components["schemas"]["SlotModel"]; + "application/*+json": components["schemas"]["SlotModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; options?: never; head?: never; - /** - * Update an organization variable - * @description Updates an organization variable that you can reference in a GitHub Actions workflow. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - patch: operations["actions/update-org-variable"]; + patch?: never; trace?: never; }; - "/orgs/{org}/actions/variables/{name}/repositories": { + "/api/TimeSlots/release": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List selected repositories for an organization variable - * @description Lists all repositories that can access an organization variable - * that is available to selected repositories. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - get: operations["actions/list-selected-repos-for-org-variable"]; - /** - * Set selected repositories for an organization variable - * @description Replaces all repositories for an organization variable that is available - * to selected repositories. Organization variables that are available to selected - * repositories have their `visibility` field set to `selected`. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - put: operations["actions/set-selected-repos-for-org-variable"]; - post?: never; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"]; + "text/json": components["schemas"]["SlotModel"]; + "application/*+json": components["schemas"]["SlotModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": { + "/api/TimeSlots/confirm": { parameters: { query?: never; header?: never; @@ -2909,58 +4707,78 @@ export type paths = { cookie?: never; }; get?: never; - /** - * Add selected repository to an organization variable - * @description Adds a repository to an organization variable that is available to selected repositories. - * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["actions/add-selected-repo-to-org-variable"]; - post?: never; - /** - * Remove selected repository from an organization variable - * @description Removes a repository from an organization variable that is - * available to selected repositories. Organization variables that are available to - * selected repositories have their `visibility` field set to `selected`. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. - */ - delete: operations["actions/remove-selected-repo-from-org-variable"]; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotCheckModel"]; + "text/json": components["schemas"]["SlotCheckModel"]; + "application/*+json": components["schemas"]["SlotCheckModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/attestations/bulk-list": { + "/api/TimeSlots/unavailable_slot": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: { + date?: string; + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlotModel"][]; + "application/json": components["schemas"]["TimeSlotModel"][]; + "text/json": components["schemas"]["TimeSlotModel"][]; + }; + }; + }; + }; put?: never; - /** - * List attestations by bulk subject digests - * @description List a collection of artifact attestations associated with any entry in a list of subject digests owned by an organization. - * - * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. - * - * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). - */ - post: operations["orgs/list-attestations-bulk"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/attestations/delete-request": { + "/api/TimeSlots/add_timeslot_if_exist_booking": { parameters: { query?: never; header?: never; @@ -2969,18 +4787,43 @@ export type paths = { }; get?: never; put?: never; - /** - * Delete attestations in bulk - * @description Delete artifact attestations in bulk by either subject digests or unique ID. - */ - post: operations["orgs/delete-attestations-bulk"]; + post: { + parameters: { + query?: { + bookingId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"][]; + "text/json": components["schemas"]["SlotModel"][]; + "application/*+json": components["schemas"]["SlotModel"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/attestations/digest/{subject_digest}": { + "/api/Training/train-model": { parameters: { query?: never; header?: never; @@ -2989,53 +4832,96 @@ export type paths = { }; get?: never; put?: never; - post?: never; - /** - * Delete attestations by subject digest - * @description Delete an artifact attestation by subject digest. - */ - delete: operations["orgs/delete-attestations-by-subject-digest"]; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/attestations/{attestation_id}": { + "/api/Training/weekly-growth": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["SingleSingleValueTuple"]; + "application/json": components["schemas"]["SingleSingleValueTuple"]; + "text/json": components["schemas"]["SingleSingleValueTuple"]; + }; + }; + }; + }; put?: never; post?: never; - /** - * Delete attestations by ID - * @description Delete an artifact attestation by unique ID that is associated with a repository owned by an org. - */ - delete: operations["orgs/delete-attestations-by-id"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/attestations/{subject_digest}": { + "/api/UserDetails": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List attestations - * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by an organization. - * - * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. - * - * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). - */ - get: operations["orgs/list-attestations"]; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UserDetail"][]; + "application/json": components["schemas"]["UserDetail"][]; + "text/json": components["schemas"]["UserDetail"][]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -3044,19 +4930,63 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/blocks": { + "/api/UserDetails/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List users blocked by an organization - * @description List the users blocked by an organization. - */ - get: operations["orgs/list-blocked-users"]; - put?: never; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UserDetail"]; + "application/json": components["schemas"]["UserDetail"]; + "text/json": components["schemas"]["UserDetail"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["UserDetailsModel"]; + "text/json": components["schemas"]["UserDetailsModel"]; + "application/*+json": components["schemas"]["UserDetailsModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; post?: never; delete?: never; options?: never; @@ -3064,125 +4994,160 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/blocks/{username}": { + "/api/UserDetails/foruser/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Check if a user is blocked by an organization - * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. - */ - get: operations["orgs/check-blocked-user"]; - /** - * Block a user from an organization - * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. - */ - put: operations["orgs/block-user"]; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PutUserDetail"]; + "text/json": components["schemas"]["PutUserDetail"]; + "application/*+json": components["schemas"]["PutUserDetail"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; post?: never; - /** - * Unblock a user from an organization - * @description Unblocks the given user on behalf of the specified organization. - */ - delete: operations["orgs/unblock-user"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/campaigns": { + "/api/UserDetails/GetUserDetailByUserId/{userId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List campaigns for an organization - * @description Lists campaigns in an organization. - * - * The authenticated user must be an owner or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. - */ - get: operations["campaigns/list-org-campaigns"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UserDetail"]; + "application/json": components["schemas"]["UserDetail"]; + "text/json": components["schemas"]["UserDetail"]; + }; + }; + }; + }; put?: never; - /** - * Create a campaign for an organization - * @description Create a campaign for an organization. - * - * The authenticated user must be an owner or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. - * - * Fine-grained tokens must have the "Code scanning alerts" repository permissions (read) on all repositories included - * in the campaign. - */ - post: operations["campaigns/create-campaign"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/campaigns/{campaign_number}": { + "/api/UserDetails/GetUserDetailByUserEmail/{userEmail}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a campaign for an organization - * @description Gets a campaign for an organization. - * - * The authenticated user must be an owner or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. - */ - get: operations["campaigns/get-campaign-summary"]; + get: { + parameters: { + query?: never; + header?: never; + path: { + userEmail: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UserDetail"][]; + "application/json": components["schemas"]["UserDetail"][]; + "text/json": components["schemas"]["UserDetail"][]; + }; + }; + }; + }; put?: never; post?: never; - /** - * Delete a campaign for an organization - * @description Deletes a campaign in an organization. - * - * The authenticated user must be an owner or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. - */ - delete: operations["campaigns/delete-campaign"]; + delete?: never; options?: never; head?: never; - /** - * Update a campaign - * @description Updates a campaign in an organization. - * - * The authenticated user must be an owner or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. - */ - patch: operations["campaigns/update-campaign"]; + patch?: never; trace?: never; }; - "/orgs/{org}/code-scanning/alerts": { + "/api/UserDetails/SortUser/{sortBy}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List code scanning alerts for an organization - * @description 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)." - * - * The authenticated user must be an owner or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` or `repo`s cope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/list-alerts-for-org"]; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UserDetail"][]; + "application/json": components["schemas"]["UserDetail"][]; + "text/json": components["schemas"]["UserDetail"][]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -3191,54 +5156,76 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/code-security/configurations": { + "/api/UserDetails/CountUser": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get code security configurations for an organization - * @description Lists all code security configurations available in an organization. - * - * The authenticated user must be an administrator or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. - */ - get: operations["code-security/get-configurations-for-org"]; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": number; + "application/json": number; + "text/json": number; + }; + }; + }; + }; put?: never; - /** - * Create a code security configuration - * @description Creates a code security configuration in an organization. - * - * The authenticated user must be an administrator or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. - */ - post: operations["code-security/create-configuration"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/code-security/configurations/defaults": { + "/api/Users": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get default code security configurations - * @description Lists the default code security configurations for an organization. - * - * The authenticated user must be an administrator or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. - */ - get: operations["code-security/get-default-configurations"]; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IdentityUserPagingResponse"]; + "application/json": components["schemas"]["IdentityUserPagingResponse"]; + "text/json": components["schemas"]["IdentityUserPagingResponse"]; + }; + }; + }; + }; put?: never; post?: never; delete?: never; @@ -3247,74 +5234,81 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/code-security/configurations/detach": { + "/api/Users/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IdentityUser"]; + "application/json": components["schemas"]["IdentityUser"]; + "text/json": components["schemas"]["IdentityUser"]; + }; + }; + }; + }; put?: never; post?: never; - /** - * Detach configurations from repositories - * @description Detach code security configuration(s) from a set of repositories. - * Repositories will retain their settings but will no longer be associated with the configuration. - * - * The authenticated user must be an administrator or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. - */ - delete: operations["code-security/detach-configuration"]; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/code-security/configurations/{configuration_id}": { + "/api/Users/{id}/ban": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * Get a code security configuration - * @description Gets a code security configuration available in an organization. - * - * The authenticated user must be an administrator or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. - */ - get: operations["code-security/get-configuration"]; - put?: never; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; post?: never; - /** - * Delete a code security configuration - * @description Deletes the desired code security configuration from an organization. - * Repositories attached to the configuration will retain their settings but will no longer be associated with - * the configuration. - * - * The authenticated user must be an administrator or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. - */ - delete: operations["code-security/delete-configuration"]; + delete?: never; options?: never; head?: never; - /** - * Update a code security configuration - * @description Updates a code security configuration in an organization. - * - * The authenticated user must be an administrator or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. - */ - patch: operations["code-security/update-configuration"]; + patch?: never; trace?: never; }; - "/orgs/{org}/code-security/configurations/{configuration_id}/attach": { + "/api/Users/{id}/unban": { parameters: { query?: never; header?: never; @@ -3322,66 +5316,64 @@ export type paths = { cookie?: never; }; get?: never; - put?: never; - /** - * Attach a configuration to repositories - * @description Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. - * - * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. - * - * The authenticated user must be an administrator or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. - */ - post: operations["code-security/attach-configuration"]; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/orgs/{org}/code-security/configurations/{configuration_id}/defaults": { + "/api/Users/GetUserDetailByUserEmail/{userEmail}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - /** - * Set a code security configuration as a default for an organization - * @description Sets a code security configuration as a default to be applied to new repositories in your organization. - * - * This configuration will be applied to the matching repository type (all, none, public, private and internal) by default when they are created. - * - * The authenticated user must be an administrator or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. - */ - put: operations["code-security/set-configuration-as-default"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/code-security/configurations/{configuration_id}/repositories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + get: { + parameters: { + query?: never; + header?: never; + path: { + userEmail: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IdentityUser"][]; + "application/json": components["schemas"]["IdentityUser"][]; + "text/json": components["schemas"]["IdentityUser"][]; + }; + }; + }; }; - /** - * Get repositories associated with a code security configuration - * @description Lists the repositories associated with a code security configuration in an organization. - * - * The authenticated user must be an administrator or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. - */ - get: operations["code-security/get-repositories-for-configuration"]; put?: never; post?: never; delete?: never; @@ -3390,43 +5382,36 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/codespaces": { + "/VNPayAPI": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** - * List codespaces for the organization - * @description Lists the codespaces associated to a specified organization. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/list-in-organization"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/codespaces/access": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + get: { + parameters: { + query?: { + amount?: number; + infor?: string; + orderinfor?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - get?: never; - /** - * Manage access control for organization codespaces - * @deprecated - * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/set-codespaces-access"]; + put?: never; post?: never; delete?: never; options?: never; @@ -3434,57 +5419,31 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/codespaces/access/selected_users": { + "/VNpayAPI/paymentconfirm": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - put?: never; - /** - * Add users to Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - post: operations["codespaces/set-codespaces-access-users"]; - /** - * Remove users from Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will no longer be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/delete-codespaces-access-users"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/codespaces/secrets": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - /** - * List organization secrets - * @description Lists all Codespaces development environment secrets available at the organization-level without revealing their encrypted - * values. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/list-org-secrets"]; put?: never; post?: never; delete?: never; @@ -3493,121632 +5452,319 @@ export type paths = { patch?: never; trace?: never; }; - "/orgs/{org}/codespaces/secrets/public-key": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; +} +export type webhooks = Record; +export interface components { + schemas: { + Booking: { + bookingId?: string | null; + id?: string | null; + branchId?: string | null; + /** Format: date-time */ + bookingDate: string; + bookingType: string; + /** Format: int32 */ + numberOfSlot: number; + status: string; + /** Format: double */ + totalPrice: number; + user?: components["schemas"]["IdentityUser"]; + branch?: components["schemas"]["Branch"]; + timeSlots?: components["schemas"]["TimeSlot"][] | null; + payments?: components["schemas"]["Payment"][] | null; + }; + BookingPagingResponse: { + data?: components["schemas"]["Booking"][] | null; + /** Format: int32 */ + total?: number; }; - /** - * Get an organization public key - * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/get-org-public-key"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/codespaces/secrets/{secret_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + Branch: { + branchId?: string | null; + branchAddress: string; + branchName: string; + branchPhone: string; + description?: string | null; + branchPicture?: string | null; + /** Format: time */ + openTime: string; + /** Format: time */ + closeTime: string; + openDay: string; + status: string; + courts?: components["schemas"]["Court"][] | null; + prices?: components["schemas"]["Price"][] | null; + reviews?: components["schemas"]["Review"][] | null; + }; + BranchDistance: { + branch?: components["schemas"]["Branch"]; + /** Format: double */ + distance?: number; + }; + BranchDistancePagingResponse: { + data?: components["schemas"]["BranchDistance"][] | null; + /** Format: int32 */ + total?: number; }; - /** - * Get an organization secret - * @description Gets an organization development environment secret without revealing its encrypted value. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/get-org-secret"]; - /** - * Create or update an organization secret - * @description Creates or updates an organization development environment secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/create-or-update-org-secret"]; - post?: never; - /** - * Delete an organization secret - * @description Deletes an organization development environment secret using the secret name. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/delete-org-secret"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + BranchPagingResponse: { + data?: components["schemas"]["Branch"][] | null; + /** Format: int32 */ + total?: number; }; - /** - * 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`. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/list-selected-repos-for-org-secret"]; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization development environment 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/codespaces/organization-secrets#create-or-update-an-organization-secret). - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/set-selected-repos-for-org-secret"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + CheckBookingTypeFlexModel: { + bookingId?: string | null; + /** Format: int32 */ + numberOfSlot?: number; }; - get?: never; - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization development environment 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/codespaces/organization-secrets#create-or-update-an-organization-secret). - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/add-selected-repo-to-org-secret"]; - post?: never; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization development environment 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/codespaces/organization-secrets#create-or-update-an-organization-secret). - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/remove-selected-repo-from-org-secret"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/copilot/billing": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + Court: { + courtId?: string | null; + branchId?: string | null; + courtName?: string | null; + courtPicture?: string | null; + status: string; + branch?: components["schemas"]["Branch"]; }; - /** - * Get Copilot seat information and settings for an organization - * @description > [!NOTE] - * > This endpoint is in public preview and is subject to change. - * - * Gets information about an organization's Copilot subscription, including seat breakdown - * and feature policies. To configure these settings, go to your organization's settings on GitHub.com. - * For more information, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-copilot-business-in-your-organization)." - * - * Only organization owners can view details about the organization's Copilot Business or Copilot Enterprise subscription. - * - * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. - */ - get: operations["copilot/get-copilot-organization-details"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/copilot/billing/seats": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + CourtModel: { + branchId: string; + courtName: string; + courtPicture?: string | null; + status: string; }; - /** - * List all Copilot seat assignments for an organization - * @description > [!NOTE] - * > This endpoint is in public preview and is subject to change. - * - * Lists all Copilot seats for which an organization with a Copilot Business or Copilot Enterprise subscription is currently being billed. - * Only organization owners can view assigned seats. - * - * Each seat object contains information about the assigned user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. - * For more information about activity data, see "[Reviewing user activity data for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization)." - * - * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. - */ - get: operations["copilot/list-copilot-seats"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/copilot/billing/selected_teams": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + CourtPagingResponse: { + data?: components["schemas"]["Court"][] | null; + /** Format: int32 */ + total?: number; }; - get?: never; - put?: never; - /** - * Add teams to the Copilot subscription for an organization - * @description > [!NOTE] - * > This endpoint is in public preview and is subject to change. - * - * Purchases a GitHub Copilot seat for all users within each specified team. - * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." - * - * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." - * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." - * - * The response contains the total number of new seats that were created and existing seats that were refreshed. - * - * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. - */ - post: operations["copilot/add-copilot-seats-for-teams"]; - /** - * Remove teams from the Copilot subscription for an organization - * @description > [!NOTE] - * > This endpoint is in public preview and is subject to change. - * - * Sets seats for all members of each team specified to "pending cancellation". - * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through another team. - * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." - * - * Only organization owners can cancel Copilot seats for their organization members. - * - * The response contains the total number of seats set to "pending cancellation". - * - * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. - */ - delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/copilot/billing/selected_users": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + DailyBookingResponse: { + /** Format: int32 */ + todayCount?: number; + /** Format: double */ + changePercentage?: number; }; - get?: never; - put?: never; - /** - * Add users to the Copilot subscription for an organization - * @description > [!NOTE] - * > This endpoint is in public preview and is subject to change. - * - * Purchases a GitHub Copilot seat for each user specified. - * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." - * - * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." - * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." - * - * The response contains the total number of new seats that were created and existing seats that were refreshed. - * - * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. - */ - post: operations["copilot/add-copilot-seats-for-users"]; - /** - * Remove users from the Copilot subscription for an organization - * @description > [!NOTE] - * > This endpoint is in public preview and is subject to change. - * - * Sets seats for all users specified to "pending cancellation". - * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through team membership. - * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." - * - * Only organization owners can cancel Copilot seats for their organization members. - * - * The response contains the total number of seats set to "pending cancellation". - * - * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. - */ - delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/copilot/metrics": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + ForgetPasswordModel: { + /** Format: email */ + email: string; }; - /** - * Get Copilot metrics for an organization - * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. - * - * > [!NOTE] - * > This endpoint will only return results for a given day if the organization contained **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. - * - * The response contains metrics for up to 28 days prior. Metrics are processed once per day for the previous day, - * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, - * they must have telemetry enabled in their IDE. - * - * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization. - * Only organization owners and owners and billing managers of the parent enterprise can view Copilot metrics. - * - * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. - */ - get: operations["copilot/copilot-metrics-for-organization"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/dependabot/alerts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + IdentityRole: { + id?: string | null; + name?: string | null; + normalizedName?: string | null; + concurrencyStamp?: string | null; }; - /** - * List Dependabot alerts for an organization - * @description Lists Dependabot alerts for an organization. - * - * The authenticated user must be an owner or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. - */ - get: operations["dependabot/list-alerts-for-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/dependabot/secrets": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + IdentityUser: { + id?: string | null; + userName?: string | null; + normalizedUserName?: string | null; + email?: string | null; + normalizedEmail?: string | null; + emailConfirmed?: boolean; + passwordHash?: string | null; + securityStamp?: string | null; + concurrencyStamp?: string | null; + phoneNumber?: string | null; + phoneNumberConfirmed?: boolean; + twoFactorEnabled?: boolean; + /** Format: date-time */ + lockoutEnd?: string | null; + lockoutEnabled?: boolean; + /** Format: int32 */ + accessFailedCount?: number; + }; + IdentityUserPagingResponse: { + data?: components["schemas"]["IdentityUser"][] | null; + /** Format: int32 */ + total?: number; }; - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their - * encrypted values. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["dependabot/list-org-secrets"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/dependabot/secrets/public-key": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + LocationModel: { + /** Format: double */ + latitude?: number; + /** Format: double */ + longitude?: number; }; - /** - * 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. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["dependabot/get-org-public-key"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/dependabot/secrets/{secret_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + LoginModel: { + /** Format: email */ + email: string; + password: string; }; - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["dependabot/get-org-secret"]; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["dependabot/create-or-update-org-secret"]; - post?: never; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["dependabot/delete-org-secret"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + News: { + newId?: string | null; + title: string; + content: string; + /** Format: date-time */ + publicationDate: string; + image?: string | null; + status: string; + isHomepageSlideshow: boolean; }; - /** - * 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`. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["dependabot/list-selected-repos-for-org-secret"]; - /** - * 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/dependabot/secrets#create-or-update-an-organization-secret). - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["dependabot/set-selected-repos-for-org-secret"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * 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/dependabot/secrets#create-or-update-an-organization-secret). - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["dependabot/add-selected-repo-to-org-secret"]; - post?: never; - /** - * 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/dependabot/secrets#create-or-update-an-organization-secret). - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["dependabot/remove-selected-repo-from-org-secret"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/docker/conflicts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get list of conflicting packages during Docker migration for organization - * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. - */ - get: operations["packages/list-docker-migration-conflicting-packages-for-organization"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/events": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List public organization events - * @description > [!NOTE] - * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - get: operations["activity/list-public-org-events"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/failed_invitations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - */ - get: operations["orgs/list-failed-invitations"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/hooks": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List organization webhooks - * @description List webhooks for an organization. - * - * The authenticated user must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit - * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. - */ - get: operations["orgs/list-webhooks"]; - put?: never; - /** - * Create an organization webhook - * @description Create a hook that posts payloads in JSON format. - * - * You must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or - * edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. - */ - post: operations["orgs/create-webhook"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/hooks/{hook_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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/orgs/webhooks#get-a-webhook-configuration-for-an-organization). - * - * You must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit - * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. - */ - get: operations["orgs/get-webhook"]; - put?: never; - post?: never; - /** - * Delete an organization webhook - * @description Delete a webhook for an organization. - * - * The authenticated user must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit - * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. - */ - delete: operations["orgs/delete-webhook"]; - options?: never; - head?: never; - /** - * 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/orgs/webhooks#update-a-webhook-configuration-for-an-organization)". - * - * You must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit - * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. - */ - patch: operations["orgs/update-webhook"]; - trace?: never; - }; - "/orgs/{org}/hooks/{hook_id}/config": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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/orgs/webhooks#get-an-organization-webhook)." - * - * You must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit - * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. - */ - get: operations["orgs/get-webhook-config-for-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * 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/orgs/webhooks#update-an-organization-webhook)." - * - * You must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit - * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. - */ - patch: operations["orgs/update-webhook-config-for-org"]; - trace?: never; - }; - "/orgs/{org}/hooks/{hook_id}/deliveries": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List deliveries for an organization webhook - * @description Returns a list of webhook deliveries for a webhook configured in an organization. - * - * You must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit - * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. - */ - get: operations["orgs/list-webhook-deliveries"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a webhook delivery for an organization webhook - * @description Returns a delivery for a webhook configured in an organization. - * - * You must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit - * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. - */ - get: operations["orgs/get-webhook-delivery"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Redeliver a delivery for an organization webhook - * @description Redeliver a delivery for a webhook configured in an organization. - * - * You must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit - * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. - */ - post: operations["orgs/redeliver-webhook-delivery"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/hooks/{hook_id}/pings": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Ping an organization webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) - * to be sent to the hook. - * - * You must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit - * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. - */ - post: operations["orgs/ping-webhook"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get route stats by actor - * @description Get API request count statistics for an actor broken down by route within a specified time frame. - */ - get: operations["api-insights/get-route-stats-by-actor"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/insights/api/subject-stats": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get subject stats - * @description Get API request statistics for all subjects within an organization within a specified time frame. Subjects can be users or GitHub Apps. - */ - get: operations["api-insights/get-subject-stats"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/insights/api/summary-stats": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get summary stats - * @description Get overall statistics of API requests made within an organization by all users and apps within a specified time frame. - */ - get: operations["api-insights/get-summary-stats"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/insights/api/summary-stats/users/{user_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get summary stats by user - * @description Get overall statistics of API requests within the organization for a user. - */ - get: operations["api-insights/get-summary-stats-by-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get summary stats by actor - * @description Get overall statistics of API requests within the organization made by a specific actor. Actors can be GitHub App installations, OAuth apps or other tokens on behalf of a user. - */ - get: operations["api-insights/get-summary-stats-by-actor"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/insights/api/time-stats": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get time stats - * @description Get the number of API requests and rate-limited requests made within an organization over a specified time period. - */ - get: operations["api-insights/get-time-stats"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/insights/api/time-stats/users/{user_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get time stats by user - * @description Get the number of API requests and rate-limited requests made within an organization by a specific user over a specified time period. - */ - get: operations["api-insights/get-time-stats-by-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get time stats by actor - * @description Get the number of API requests and rate-limited requests made within an organization by a specific actor within a specified time period. - */ - get: operations["api-insights/get-time-stats-by-actor"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/insights/api/user-stats/{user_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get user stats - * @description Get API usage statistics within an organization for a user broken down by the type of access. - */ - get: operations["api-insights/get-user-stats"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/installation": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an organization installation for the authenticated app - * @description 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. - */ - get: operations["apps/get-org-installation"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/installations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * The authenticated user must be an organization owner to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:read` scope to use this endpoint. - */ - get: operations["orgs/list-app-installations"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/interaction-limits": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - */ - get: operations["interactions/get-restrictions-for-org"]; - /** - * 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. - */ - put: operations["interactions/set-restrictions-for-org"]; - post?: never; - /** - * 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. - */ - delete: operations["interactions/remove-restrictions-for-org"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/invitations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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`, or `hiring_manager`. If the invitee is not a GitHub - * member, the `login` field in the return hash will be `null`. - */ - get: operations["orgs/list-pending-invitations"]; - put?: never; - /** - * 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. - * - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - */ - post: operations["orgs/create-invitation"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/invitations/{invitation_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Cancel an organization invitation - * @description 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/github/managing-subscriptions-and-notifications-on-github/about-notifications). - */ - delete: operations["orgs/cancel-invitation"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/invitations/{invitation_id}/teams": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - */ - get: operations["orgs/list-invitation-teams"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/issue-types": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List issue types for an organization - * @description Lists all issue types for an organization. OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint. - */ - get: operations["orgs/list-issue-types"]; - put?: never; - /** - * Create issue type for an organization - * @description Create a new issue type for an organization. - * - * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). - * - * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and - * personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - post: operations["orgs/create-issue-type"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/issue-types/{issue_type_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Update issue type for an organization - * @description Updates an issue type for an organization. - * - * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). - * - * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and - * personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["orgs/update-issue-type"]; - post?: never; - /** - * Delete issue type for an organization - * @description Deletes an issue type for an organization. - * - * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). - * - * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and - * personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["orgs/delete-issue-type"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/issues": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List organization issues assigned to the authenticated user - * @description List issues in an organization assigned to the authenticated user. - * - * > [!NOTE] - * > GitHub's REST API 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/pulls/pulls#list-pull-requests)" endpoint. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["issues/list-for-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/members": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - */ - get: operations["orgs/list-members"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/members/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check organization membership for a user - * @description Check if a user is, publicly or privately, a member of the organization. - */ - get: operations["orgs/check-membership-for-user"]; - put?: never; - post?: never; - /** - * 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. - * - * > [!NOTE] - * > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team. - */ - delete: operations["orgs/remove-member"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/members/{username}/codespaces": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List codespaces for a user in organization - * @description Lists the codespaces that a member of an organization has for repositories in that organization. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/get-codespaces-for-user-in-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Delete a codespace from the organization - * @description Deletes a user's codespace. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/delete-from-organization"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Stop a codespace for an organization user - * @description Stops a user's codespace. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - post: operations["codespaces/stop-in-organization"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/members/{username}/copilot": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Copilot seat assignment details for a user - * @description > [!NOTE] - * > This endpoint is in public preview and is subject to change. - * - * Gets the GitHub Copilot seat details for a member of an organization who currently has access to GitHub Copilot. - * - * The seat object contains information about the user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. - * For more information about activity data, see "[Reviewing user activity data for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization)." - * - * Only organization owners can view Copilot seat assignment details for members of their organization. - * - * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. - */ - get: operations["copilot/get-copilot-seat-details-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/memberships/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. The `state` parameter in the response can be used to identify the user's membership status. - */ - get: operations["orgs/get-membership-for-user"]; - /** - * Set organization membership for a user - * @description 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/orgs/members#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, organization owners are limited to creating 50 organization invitations for an organization within a 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. - */ - put: operations["orgs/set-membership-for-user"]; - post?: never; - /** - * 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. - * - * 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. - * - * > [!NOTE] - * > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team. - */ - delete: operations["orgs/remove-membership-for-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/migrations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List organization migrations - * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). - * - * A list of `repositories` is only returned for export migrations. - */ - get: operations["migrations/list-for-org"]; - put?: never; - /** - * Start an organization migration - * @description Initiates the generation of a migration archive. - */ - post: operations["migrations/start-for-org"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/migrations/{migration_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an organization migration status - * @description 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. - */ - get: operations["migrations/get-status-for-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/migrations/{migration_id}/archive": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Download an organization migration archive - * @description Fetches the URL to a migration archive. - */ - get: operations["migrations/download-archive-for-org"]; - put?: never; - post?: never; - /** - * Delete an organization migration archive - * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. - */ - delete: operations["migrations/delete-archive-for-org"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * 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/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. - */ - delete: operations["migrations/unlock-repo-for-org"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/migrations/{migration_id}/repositories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repositories in an organization migration - * @description List all the repositories for this organization migration. - */ - get: operations["migrations/list-repos-for-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/organization-roles": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get all organization roles for an organization - * @description Lists the organization roles available in this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - * - * To use this endpoint, the authenticated user must be one of: - * - * - An administrator for the organization. - * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["orgs/list-org-roles"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/organization-roles/teams/{team_slug}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Remove all organization roles for a team - * @description Removes all assigned organization roles from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - * - * The authenticated user must be an administrator for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["orgs/revoke-all-org-roles-team"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Assign an organization role to a team - * @description Assigns an organization role to a team in an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - * - * The authenticated user must be an administrator for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["orgs/assign-team-to-org-role"]; - post?: never; - /** - * Remove an organization role from a team - * @description Removes an organization role from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - * - * The authenticated user must be an administrator for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["orgs/revoke-org-role-team"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/organization-roles/users/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Remove all organization roles for a user - * @description Revokes all assigned organization roles from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - * - * The authenticated user must be an administrator for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["orgs/revoke-all-org-roles-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/organization-roles/users/{username}/{role_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Assign an organization role to a user - * @description Assigns an organization role to a member of an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - * - * The authenticated user must be an administrator for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - put: operations["orgs/assign-user-to-org-role"]; - post?: never; - /** - * Remove an organization role from a user - * @description Remove an organization role from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - * - * The authenticated user must be an administrator for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["orgs/revoke-org-role-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/organization-roles/{role_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an organization role - * @description Gets an organization role that is available to this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - * - * To use this endpoint, the authenticated user must be one of: - * - * - An administrator for the organization. - * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["orgs/get-org-role"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/organization-roles/{role_id}/teams": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List teams that are assigned to an organization role - * @description Lists the teams that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - * - * To use this endpoint, you must be an administrator for the organization. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["orgs/list-org-role-teams"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/organization-roles/{role_id}/users": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List users that are assigned to an organization role - * @description Lists organization members that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." - * - * To use this endpoint, you must be an administrator for the organization. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["orgs/list-org-role-users"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/outside_collaborators": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List outside collaborators for an organization - * @description List all users who are outside collaborators of an organization. - */ - get: operations["orgs/list-outside-collaborators"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/outside_collaborators/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * 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://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/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"]; - post?: never; - /** - * Remove outside collaborator from an organization - * @description Removing a user from this list will remove them from all the organization's repositories. - */ - delete: operations["orgs/remove-outside-collaborator"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/packages": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List packages for an organization - * @description Lists packages in an organization readable by the user. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/list-packages-for-organization"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/packages/{package_type}/{package_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a package for an organization - * @description Gets a specific package in an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-for-organization"]; - put?: never; - post?: never; - /** - * Delete a package for an organization - * @description 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. - * - * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - delete: operations["packages/delete-package-for-org"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/restore": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Restore a package for an organization - * @description 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. - * - * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - post: operations["packages/restore-package-for-org"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/versions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List package versions for a package owned by an organization - * @description Lists package versions for a package owned by an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a package version for an organization - * @description Gets a specific package version in an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-version-for-organization"]; - put?: never; - post?: never; - /** - * Delete package version for an organization - * @description 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. - * - * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - delete: operations["packages/delete-package-version-for-org"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Restore package version for an organization - * @description 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. - * - * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - post: operations["packages/restore-package-version-for-org"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/personal-access-token-requests": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List requests to access organization resources with fine-grained personal access tokens - * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. - * - * Only GitHub Apps can use this endpoint. - */ - get: operations["orgs/list-pat-grant-requests"]; - put?: never; - /** - * Review requests to access organization resources with fine-grained personal access tokens - * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. - * - * Only GitHub Apps can use this endpoint. - */ - post: operations["orgs/review-pat-grant-requests-in-bulk"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/personal-access-token-requests/{pat_request_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Review a request to access organization resources with a fine-grained personal access token - * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. - * - * Only GitHub Apps can use this endpoint. - */ - post: operations["orgs/review-pat-grant-request"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repositories requested to be accessed by a fine-grained personal access token - * @description Lists the repositories a fine-grained personal access token request is requesting access to. - * - * Only GitHub Apps can use this endpoint. - */ - get: operations["orgs/list-pat-grant-request-repositories"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/personal-access-tokens": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List fine-grained personal access tokens with access to organization resources - * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. - * - * Only GitHub Apps can use this endpoint. - */ - get: operations["orgs/list-pat-grants"]; - put?: never; - /** - * Update the access to organization resources via fine-grained personal access tokens - * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. - * - * Only GitHub Apps can use this endpoint. - */ - post: operations["orgs/update-pat-accesses"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/personal-access-tokens/{pat_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Update the access a fine-grained personal access token has to organization resources - * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. - * - * Only GitHub Apps can use this endpoint. - */ - post: operations["orgs/update-pat-access"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repositories a fine-grained personal access token has access to - * @description Lists the repositories a fine-grained personal access token has access to. - * - * Only GitHub Apps can use this endpoint. - */ - get: operations["orgs/list-pat-grant-repositories"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/private-registries": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List private registries for an organization - * @description - * Lists all private registry configurations available at the organization-level without revealing their encrypted - * values. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["private-registries/list-org-private-registries"]; - put?: never; - /** - * Create a private registry for an organization - * @description - * Creates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - post: operations["private-registries/create-org-private-registry"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/private-registries/public-key": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get private registries public key for an organization - * @description - * Gets the org public key, which is needed to encrypt private registry secrets. You need to encrypt a secret before you can create or update secrets. - * - * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["private-registries/get-org-public-key"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/private-registries/{secret_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a private registry for an organization - * @description - * Get the configuration of a single private registry defined for an organization, omitting its encrypted value. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - get: operations["private-registries/get-org-private-registry"]; - put?: never; - post?: never; - /** - * Delete a private registry for an organization - * @description - * Delete a private registry configuration at the organization-level. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - delete: operations["private-registries/delete-org-private-registry"]; - options?: never; - head?: never; - /** - * Update a private registry for an organization - * @description - * Updates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. - */ - patch: operations["private-registries/update-org-private-registry"]; - trace?: never; - }; - "/orgs/{org}/projects": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List organization projects - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["projects/list-for-org"]; - put?: never; - /** - * Create an organization project - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - post: operations["projects/create-for-org"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/properties/schema": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get all custom properties for an organization - * @description Gets all custom properties defined for an organization. - * Organization members can read these properties. - */ - get: operations["orgs/get-all-custom-properties"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Create or update custom properties for an organization - * @description Creates new or updates existing custom properties defined for an organization in a batch. - * - * If the property already exists, the existing property will be replaced with the new values. - * Missing optional values will fall back to default values, previous values will be overwritten. - * E.g. if a property exists with `values_editable_by: org_and_repo_actors` and it's updated without specifying `values_editable_by`, it will be updated to default value `org_actors`. - * - * To use this endpoint, the authenticated user must be one of: - * - An administrator for the organization. - * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. - */ - patch: operations["orgs/create-or-update-custom-properties"]; - trace?: never; - }; - "/orgs/{org}/properties/schema/{custom_property_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a custom property for an organization - * @description Gets a custom property that is defined for an organization. - * Organization members can read these properties. - */ - get: operations["orgs/get-custom-property"]; - /** - * Create or update a custom property for an organization - * @description Creates a new or updates an existing custom property that is defined for an organization. - * - * To use this endpoint, the authenticated user must be one of: - * - An administrator for the organization. - * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. - */ - put: operations["orgs/create-or-update-custom-property"]; - post?: never; - /** - * Remove a custom property for an organization - * @description Removes a custom property that is defined for an organization. - * - * To use this endpoint, the authenticated user must be one of: - * - An administrator for the organization. - * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. - */ - delete: operations["orgs/remove-custom-property"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/properties/values": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List custom property values for organization repositories - * @description Lists organization repositories with all of their custom property values. - * Organization members can read these properties. - */ - get: operations["orgs/list-custom-properties-values-for-repos"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Create or update custom property values for organization repositories - * @description Create new or update existing custom property values for repositories in a batch that belong to an organization. - * Each target repository will have its custom property values updated to match the values provided in the request. - * - * A maximum of 30 repositories can be updated in a single request. - * - * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. - * - * To use this endpoint, the authenticated user must be one of: - * - An administrator for the organization. - * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_values_editor` in the organization. - */ - patch: operations["orgs/create-or-update-custom-properties-values-for-repos"]; - trace?: never; - }; - "/orgs/{org}/public_members": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List public organization members - * @description Members of an organization can choose to have their membership publicized or not. - */ - get: operations["orgs/list-public-members"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/public_members/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check public organization membership for a user - * @description Check if the provided user is a public member of the organization. - */ - get: operations["orgs/check-public-membership-for-user"]; - /** - * 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.) - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." - */ - put: operations["orgs/set-public-membership-for-authenticated-user"]; - post?: never; - /** - * Remove public organization membership for the authenticated user - * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. - */ - delete: operations["orgs/remove-public-membership-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/repos": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List organization repositories - * @description Lists repositories for the specified organization. - * - * > [!NOTE] - * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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)." - */ - get: operations["repos/list-for-org"]; - put?: never; - /** - * Create an organization repository - * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. - * - * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. - */ - post: operations["repos/create-in-org"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/rulesets": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get all organization repository rulesets - * @description Get all the repository rulesets for an organization. - */ - get: operations["repos/get-org-rulesets"]; - put?: never; - /** - * Create an organization repository ruleset - * @description Create a repository ruleset for an organization. - */ - post: operations["repos/create-org-ruleset"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/rulesets/rule-suites": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List organization rule suites - * @description Lists suites of rule evaluations at the organization level. - * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." - */ - get: operations["repos/get-org-rule-suites"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/rulesets/rule-suites/{rule_suite_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an organization rule suite - * @description Gets information about a suite of rule evaluations from within an organization. - * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." - */ - get: operations["repos/get-org-rule-suite"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/rulesets/{ruleset_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an organization repository ruleset - * @description Get a repository ruleset for an organization. - * - * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user - * making the API request has write access to the ruleset. - */ - get: operations["repos/get-org-ruleset"]; - /** - * Update an organization repository ruleset - * @description Update a ruleset for an organization. - */ - put: operations["repos/update-org-ruleset"]; - post?: never; - /** - * Delete an organization repository ruleset - * @description Delete a ruleset for an organization. - */ - delete: operations["repos/delete-org-ruleset"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/rulesets/{ruleset_id}/history": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get organization ruleset history - * @description Get the history of an organization ruleset. - */ - get: operations["orgs/get-org-ruleset-history"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/rulesets/{ruleset_id}/history/{version_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get organization ruleset version - * @description Get a version of an organization ruleset. - */ - get: operations["orgs/get-org-ruleset-version"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/secret-scanning/alerts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List secret scanning alerts for an organization - * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * - * The authenticated user must be an administrator or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. - */ - get: operations["secret-scanning/list-alerts-for-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/security-advisories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository security advisories for an organization - * @description Lists repository security advisories for an organization. - * - * The authenticated user must be an owner or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. - */ - get: operations["security-advisories/list-org-repository-advisories"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/security-managers": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List security manager teams - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. - */ - get: operations["orgs/list-security-manager-teams"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/security-managers/teams/{team_slug}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Add a security manager team - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. - */ - put: operations["orgs/add-security-manager-team"]; - post?: never; - /** - * Remove a security manager team - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. - */ - delete: operations["orgs/remove-security-manager-team"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/settings/billing/actions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get GitHub Actions billing for an organization - * @description 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)". - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. - */ - get: operations["billing/get-github-actions-billing-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/settings/billing/packages": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get GitHub Packages billing for an organization - * @description 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)." - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. - */ - get: operations["billing/get-github-packages-billing-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/settings/billing/shared-storage": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get shared storage billing for an organization - * @description 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)." - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. - */ - get: operations["billing/get-shared-storage-billing-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/settings/network-configurations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List hosted compute network configurations for an organization - * @description Lists all hosted compute network configurations configured in an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. - */ - get: operations["hosted-compute/list-network-configurations-for-org"]; - put?: never; - /** - * Create a hosted compute network configuration for an organization - * @description Creates a hosted compute network configuration for an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. - */ - post: operations["hosted-compute/create-network-configuration-for-org"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/settings/network-configurations/{network_configuration_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a hosted compute network configuration for an organization - * @description Gets a hosted compute network configuration configured in an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. - */ - get: operations["hosted-compute/get-network-configuration-for-org"]; - put?: never; - post?: never; - /** - * Delete a hosted compute network configuration from an organization - * @description Deletes a hosted compute network configuration from an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. - */ - delete: operations["hosted-compute/delete-network-configuration-from-org"]; - options?: never; - head?: never; - /** - * Update a hosted compute network configuration for an organization - * @description Updates a hosted compute network configuration for an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. - */ - patch: operations["hosted-compute/update-network-configuration-for-org"]; - trace?: never; - }; - "/orgs/{org}/settings/network-settings/{network_settings_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a hosted compute network settings resource for an organization - * @description Gets a hosted compute network settings resource configured for an organization. - * - * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. - */ - get: operations["hosted-compute/get-network-settings-for-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/team/{team_slug}/copilot/metrics": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Copilot metrics for a team - * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. - * - * > [!NOTE] - * > This endpoint will only return results for a given day if the team had **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. - * - * The response contains metrics for up to 28 days prior. Metrics are processed once per day for the previous day, - * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, - * they must have telemetry enabled in their IDE. - * - * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization containing the team within GitHub settings. - * Only organization owners for the organization that contains this team and owners and billing managers of the parent enterprise can view Copilot metrics for a team. - * - * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. - */ - get: operations["copilot/copilot-metrics-for-team"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List teams - * @description Lists all teams in an organization that are visible to the authenticated user. - */ - get: operations["teams/list"]; - put?: never; - /** - * 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://docs.github.com/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://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". - */ - post: operations["teams/create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a team by name - * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-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}`. - */ - get: operations["teams/get-by-name"]; - put?: never; - post?: never; - /** - * Delete a team - * @description 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}`. - */ - delete: operations["teams/delete-in-org"]; - options?: never; - head?: never; - /** - * Update a team - * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * > [!NOTE] - * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. - */ - patch: operations["teams/update-in-org"]; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/discussions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List discussions - * @description List all discussions on a team's page. - * - * > [!NOTE] - * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. - * - * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. - */ - get: operations["teams/list-discussions-in-org"]; - put?: never; - /** - * Create a discussion - * @description Creates a new discussion post on a team's page. - * - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * - * > [!NOTE] - * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - post: operations["teams/create-discussion-in-org"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a discussion - * @description Get a specific discussion on a team's page. - * - * > [!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}`. - * - * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. - */ - get: operations["teams/get-discussion-in-org"]; - put?: never; - post?: never; - /** - * Delete a discussion - * @description Delete a discussion from a team's page. - * - * > [!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}`. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - delete: operations["teams/delete-discussion-in-org"]; - options?: never; - head?: never; - /** - * Update a discussion - * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. - * - * > [!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}`. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - patch: operations["teams/update-discussion-in-org"]; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List discussion comments - * @description List all comments on a team discussion. - * - * > [!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`. - * - * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. - */ - get: operations["teams/list-discussion-comments-in-org"]; - put?: never; - /** - * Create a discussion comment - * @description Creates a new comment on a team discussion. - * - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * - * > [!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`. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - post: operations["teams/create-discussion-comment-in-org"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a discussion comment - * @description Get a specific comment on a team discussion. - * - * > [!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}`. - * - * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. - */ - get: operations["teams/get-discussion-comment-in-org"]; - put?: never; - post?: never; - /** - * Delete a discussion comment - * @description Deletes a comment on a team discussion. - * - * > [!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}`. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - delete: operations["teams/delete-discussion-comment-in-org"]; - options?: never; - head?: never; - /** - * Update a discussion comment - * @description Edits the body text of a discussion comment. - * - * > [!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}`. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - patch: operations["teams/update-discussion-comment-in-org"]; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List reactions for a team discussion comment - * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). - * - * > [!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`. - * - * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. - */ - get: operations["reactions/list-for-team-discussion-comment-in-org"]; - put?: never; - /** - * Create reaction for a team discussion comment - * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). - * - * 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`. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - post: operations["reactions/create-for-team-discussion-comment-in-org"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * 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`. - * - * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - delete: operations["reactions/delete-for-team-discussion-comment"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List reactions for a team discussion - * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). - * - * > [!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`. - * - * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. - */ - get: operations["reactions/list-for-team-discussion-in-org"]; - put?: never; - /** - * Create reaction for a team discussion - * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). - * - * 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`. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - post: operations["reactions/create-for-team-discussion-in-org"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * 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`. - * - * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - delete: operations["reactions/delete-for-team-discussion"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/invitations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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`. - * - * > [!NOTE] - * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. - */ - get: operations["teams/list-pending-invitations-in-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/members": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List team members - * @description Team members will include the members of child teams. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - get: operations["teams/list-members-in-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/memberships/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get team membership for a user - * @description 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 [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - get: operations["teams/get-membership-for-user-in-org"]; - /** - * Add or update team membership for a user - * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. - * - * 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. - * - * > [!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}`. - */ - put: operations["teams/add-or-update-membership-for-user-in-org"]; - post?: never; - /** - * Remove team membership for a user - * @description 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. - * - * 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. - * - * > [!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}`. - */ - delete: operations["teams/remove-membership-for-user-in-org"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/projects": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List team projects - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["teams/list-projects-in-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check team permissions for a project - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["teams/check-permissions-for-project-in-org"]; - /** - * Add or update team project permissions - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - put: operations["teams/add-or-update-project-permissions-in-org"]; - post?: never; - /** - * Remove a project from a team - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - delete: operations["teams/remove-project-in-org"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/repos": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List team repositories - * @description 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`. - */ - get: operations["teams/list-repos-in-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * 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/using-the-rest-api/getting-started-with-the-rest-api#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. - * - * If the repository is private, you must have at least `read` permission for that repository, and your token must have the `repo` or `admin:org` scope. Otherwise, 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}`. - */ - get: operations["teams/check-permissions-for-repo-in-org"]; - /** - * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." - * - * > [!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/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"]; - post?: never; - /** - * 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. - * - * > [!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}`. - */ - delete: operations["teams/remove-repo-in-org"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/teams/{team_slug}/teams": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List child teams - * @description 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`. - */ - get: operations["teams/list-child-in-org"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/orgs/{org}/{security_product}/{enablement}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Enable or disable a security feature for an organization - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** The ability to enable or disable a security feature for all eligible repositories in an organization is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. For more information, see the [changelog](https://github.blog/changelog/2024-07-22-deprecation-of-api-endpoint-to-enable-or-disable-a-security-feature-for-an-organization/). - * - * Enables or disables the specified security feature for all eligible repositories in an organization. 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)." - * - * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. - */ - post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/projects/columns/cards/{card_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a project card - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["projects/get-card"]; - put?: never; - post?: never; - /** - * Delete a project card - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - delete: operations["projects/delete-card"]; - options?: never; - head?: never; - /** - * Update an existing project card - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - patch: operations["projects/update-card"]; - trace?: never; - }; - "/projects/columns/cards/{card_id}/moves": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Move a project card - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - post: operations["projects/move-card"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/projects/columns/{column_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a project column - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["projects/get-column"]; - put?: never; - post?: never; - /** - * Delete a project column - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - delete: operations["projects/delete-column"]; - options?: never; - head?: never; - /** - * Update an existing project column - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - patch: operations["projects/update-column"]; - trace?: never; - }; - "/projects/columns/{column_id}/cards": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List project cards - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["projects/list-cards"]; - put?: never; - /** - * Create a project card - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - post: operations["projects/create-card"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/projects/columns/{column_id}/moves": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Move a project column - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - post: operations["projects/move-column"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/projects/{project_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a project - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["projects/get"]; - put?: never; - post?: never; - /** - * Delete a project - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - delete: operations["projects/delete"]; - options?: never; - head?: never; - /** - * Update a project - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - patch: operations["projects/update"]; - trace?: never; - }; - "/projects/{project_id}/collaborators": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List project collaborators - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["projects/list-collaborators"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/projects/{project_id}/collaborators/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Add project collaborator - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - put: operations["projects/add-collaborator"]; - post?: never; - /** - * Remove user as a collaborator - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - delete: operations["projects/remove-collaborator"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/projects/{project_id}/collaborators/{username}/permission": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get project permission for a user - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["projects/get-permission-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/projects/{project_id}/columns": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List project columns - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["projects/list-columns"]; - put?: never; - /** - * Create a project column - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - post: operations["projects/create-column"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/rate_limit": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get rate limit status for the authenticated user - * @description > [!NOTE] - * > Accessing this endpoint does not count against your REST API rate limit. - * - * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: - * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. - * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search/search)." - * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." - * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." - * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." - * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." - * * The `dependency_sbom` object provides your rate limit status for requesting SBOMs from the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." - * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." - * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." - * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/about-the-rest-api/api-versions)." - * - * > [!NOTE] - * > The `rate` object is closing down. 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. - */ - get: operations["rate-limit/get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a repository - * @description 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. - * - * > [!NOTE] - * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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)." - */ - get: operations["repos/get"]; - put?: never; - post?: never; - /** - * Delete a repository - * @description Deleting a repository requires admin access. - * - * If an organization owner has configured the organization to prevent members from deleting organization-owned - * repositories, you will get a `403 Forbidden` response. - * - * OAuth app tokens and personal access tokens (classic) need the `delete_repo` scope to use this endpoint. - */ - delete: operations["repos/delete"]; - options?: never; - head?: never; - /** - * Update a repository - * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. - */ - patch: operations["repos/update"]; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/artifacts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List artifacts for a repository - * @description Lists all artifacts for a repository. - * - * Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["actions/list-artifacts-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-artifact"]; - put?: never; - post?: never; - /** - * Delete an artifact - * @description Deletes an artifact for a workflow run. - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-artifact"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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 - * the response header to find the URL for the download. The `:archive_format` must be `zip`. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/download-artifact"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/cache/usage": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get GitHub Actions cache usage for a repository - * @description 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/caches": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List GitHub Actions caches for a repository - * @description Lists the GitHub Actions caches for a repository. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-actions-cache-list"]; - put?: never; - post?: never; - /** - * Delete GitHub Actions caches for a repository (using a cache key) - * @description 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. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-actions-cache-by-key"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/caches/{cache_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Delete a GitHub Actions cache for a repository (using a cache ID) - * @description Deletes a GitHub Actions cache for a repository, using a cache ID. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-actions-cache-by-id"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/jobs/{job_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-job-for-workflow-run"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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 - * 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/download-job-logs-for-workflow-run"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Re-run a job from a workflow run - * @description Re-run a job and its dependent jobs in a workflow run. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/re-run-job-for-workflow-run"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/oidc/customization/sub": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the customization template for an OIDC subject claim for a repository - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; - /** - * Set the customization template for an OIDC subject claim for a repository - * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/organization-secrets": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository organization secrets - * @description Lists all organization secrets shared with a repository without revealing their encrypted - * values. - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/list-repo-organization-secrets"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/organization-variables": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository organization variables - * @description Lists all organization variables shared with a repository. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/list-repo-organization-variables"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/permissions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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 and reusable workflows allowed to run in the repository. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-github-actions-permissions-repository"]; - /** - * Set GitHub Actions permissions for a repository - * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["actions/set-github-actions-permissions-repository"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/permissions/access": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the level of access for workflows outside of the repository - * @description 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 private repositories. - * For more information, see "[Allowing access to components in a private 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-a-private-repository)." - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-workflow-access-to-repository"]; - /** - * Set the level of access for workflows outside of the repository - * @description 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 private repositories. - * For more information, see "[Allowing access to components in a private 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-a-private-repository)". - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["actions/set-workflow-access-to-repository"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/permissions/selected-actions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get allowed actions and reusable workflows for a repository - * @description 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)." - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-allowed-actions-repository"]; - /** - * Set allowed actions and reusable workflows for a repository - * @description 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)." - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["actions/set-allowed-actions-repository"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/permissions/workflow": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get default workflow permissions for a repository - * @description 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)." - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; - /** - * Set default workflow permissions for a repository - * @description 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)." - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runners": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List self-hosted runners for a repository - * @description Lists all self-hosted runners configured in a repository. - * - * Authenticated users must have admin access to the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/list-self-hosted-runners-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runners/downloads": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List runner applications for a repository - * @description Lists binaries for the runner application that you can download and run. - * - * Authenticated users must have admin access to the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/list-runner-applications-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create configuration for a just-in-time runner for a repository - * @description Generates a configuration that can be passed to the runner application at startup. - * - * The authenticated user must have admin access to the repository. - * - * OAuth tokens and personal access tokens (classic) need the`repo` scope to use this endpoint. - */ - post: operations["actions/generate-runner-jitconfig-for-repo"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runners/registration-token": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 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. - * - * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: - * - * ``` - * ./config.sh --url https://github.com/octo-org --token TOKEN - * ``` - * - * Authenticated users must have admin access to the repository to use this endpoint. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/create-registration-token-for-repo"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runners/remove-token": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a remove token for a repository - * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an repository. The token expires after one hour. - * - * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: - * - * ``` - * ./config.sh remove --token TOKEN - * ``` - * - * Authenticated users must have admin access to the repository to use this endpoint. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/create-remove-token-for-repo"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runners/{runner_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a self-hosted runner for a repository - * @description Gets a specific self-hosted runner configured in a repository. - * - * Authenticated users must have admin access to the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-self-hosted-runner-for-repo"]; - put?: never; - post?: never; - /** - * 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. - * - * Authenticated users must have admin access to the repository to use this endpoint. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-self-hosted-runner-from-repo"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List labels for a self-hosted runner for a repository - * @description Lists all labels for a self-hosted runner configured in a repository. - * - * Authenticated users must have admin access to the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; - /** - * Set custom labels for a self-hosted runner for a repository - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in a repository. - * - * Authenticated users must have admin access to the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need 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 for a repository - * @description Adds custom labels to a self-hosted runner configured in a repository. - * - * Authenticated users must have admin access to the organization to use this endpoint. - * - * OAuth tokens and personal access tokens (classic) need 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 for a repository - * @description Remove all custom labels from a self-hosted runner configured in a - * repository. Returns the remaining read-only labels from the runner. - * - * Authenticated users must have admin access to the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Remove a custom label from a self-hosted runner for a repository - * @description 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. - * - * Authenticated users must have admin access to the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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/guides/getting-started-with-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - * - * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. - */ - get: operations["actions/list-workflow-runs-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a workflow run - * @description Gets a specific workflow run. - * - * Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["actions/get-workflow-run"]; - put?: never; - post?: never; - /** - * Delete a workflow run - * @description Deletes a specific workflow run. - * - * Anyone with write access to the repository can use this endpoint. - * - * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-workflow-run"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the review history for a workflow run - * @description Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["actions/get-reviews-for-run"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Approve a workflow run for a fork pull request - * @description 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)." - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/approve-workflow-run"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List workflow run artifacts - * @description Lists artifacts for a workflow run. - * - * Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["actions/list-workflow-run-artifacts"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a workflow run attempt - * @description Gets a specific workflow run attempt. - * - * Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["actions/get-workflow-run-attempt"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List jobs for a workflow run attempt - * @description Lists jobs for a specific workflow run attempt. You can use parameters to narrow the list of results. For more information - * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["actions/list-jobs-for-workflow-run-attempt"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Download workflow run attempt logs - * @description 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/download-workflow-run-attempt-logs"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Cancel a workflow run - * @description Cancels a workflow run using its `id`. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/cancel-workflow-run"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Review custom deployment protection rules for a workflow run - * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * > [!NOTE] - * > GitHub Apps can only review their own custom deployment protection rules. To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - post: operations["actions/review-custom-gates-for-run"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Force cancel a workflow run - * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. - * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/force-cancel-workflow-run"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List jobs for a workflow run - * @description Lists jobs for a workflow run. You can use parameters to narrow the list of results. For more information - * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["actions/list-jobs-for-workflow-run"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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 - * `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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/download-workflow-run-logs"]; - put?: never; - post?: never; - /** - * Delete workflow run logs - * @description Deletes all logs for a workflow run. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-workflow-run-logs"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get pending deployments for a workflow run - * @description 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-pending-deployments-for-run"]; - put?: never; - /** - * Review pending deployments for a workflow run - * @description 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. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/review-pending-deployments-for-run"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Re-run a workflow - * @description Re-runs your workflow run using its `id`. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/re-run-workflow"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Re-run failed jobs from a workflow run - * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/re-run-workflow-failed-jobs"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get workflow run usage - * @description > [!WARNING] - * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. - * - * 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. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["actions/get-workflow-run-usage"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/secrets": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted - * values. - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/list-repo-secrets"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/secrets/public-key": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-repo-public-key"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. - * - * The authenticated user must have collaborator access to the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-repo-secret"]; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["actions/create-or-update-repo-secret"]; - post?: never; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-repo-secret"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/variables": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository variables - * @description Lists all repository variables. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/list-repo-variables"]; - put?: never; - /** - * Create a repository variable - * @description Creates a repository variable that you can reference in a GitHub Actions workflow. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/create-repo-variable"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/variables/{name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a repository variable - * @description Gets a specific variable in a repository. - * - * The authenticated user must have collaborator access to the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-repo-variable"]; - put?: never; - post?: never; - /** - * Delete a repository variable - * @description Deletes a repository variable using the variable name. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-repo-variable"]; - options?: never; - head?: never; - /** - * Update a repository variable - * @description Updates a repository variable that you can reference in a GitHub Actions workflow. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - patch: operations["actions/update-repo-variable"]; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/workflows": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository workflows - * @description Lists the workflows in a repository. - * - * Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["actions/list-repo-workflows"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["actions/get-workflow"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * 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`. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["actions/disable-workflow"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 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`. - * - * 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)." - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/create-workflow-dispatch"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * 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`. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["actions/enable-workflow"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List workflow runs for a workflow - * @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/guides/getting-started-with-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - * - * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. - */ - get: operations["actions/list-workflow-runs"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get workflow usage - * @description > [!WARNING] - * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. - * - * 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. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["actions/get-workflow-usage"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/activity": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository activities - * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. - * - * For more information about viewing repository activity, - * see "[Viewing activity and data for your repository](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository)." - */ - get: operations["repos/list-activities"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/assignees": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List assignees - * @description 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"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/assignees/{assignee}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check if a user can be assigned - * @description 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. - */ - get: operations["issues/check-user-can-be-assigned"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/attestations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create an attestation - * @description Store an artifact attestation and associate it with a repository. - * - * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. - * - * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). - */ - post: operations["repos/create-attestation"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/attestations/{subject_digest}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List attestations - * @description List a collection of artifact attestations with a given subject digest that are associated with a repository. - * - * The authenticated user making the request must have read access to the repository. In addition, when using a fine-grained access token the `attestations:read` permission is required. - * - * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). - */ - get: operations["repos/list-attestations"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/autolinks": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get all autolinks of a repository - * @description Gets all autolinks that are configured for a repository. - * - * Information about autolinks are only available to repository administrators. - */ - get: operations["repos/list-autolinks"]; - put?: never; - /** - * Create an autolink reference for a repository - * @description Users with admin access to the repository can create an autolink. - */ - post: operations["repos/create-autolink"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/autolinks/{autolink_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an autolink reference of a repository - * @description 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"]; - put?: never; - post?: never; - /** - * Delete an autolink reference from a repository - * @description 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"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/automated-security-fixes": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check if Dependabot security updates are enabled for a repository - * @description Shows whether Dependabot security updates are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - get: operations["repos/check-automated-security-fixes"]; - /** - * Enable Dependabot security updates - * @description Enables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - put: operations["repos/enable-automated-security-fixes"]; - post?: never; - /** - * Disable Dependabot security updates - * @description Disables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - delete: operations["repos/disable-automated-security-fixes"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/branches": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** List branches */ - get: operations["repos/list-branches"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/branches/{branch}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Get a branch */ - get: operations["repos/get-branch"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-branch-protection"]; - /** - * 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://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. - */ - put: operations["repos/update-branch-protection"]; - post?: never; - /** - * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/delete-branch-protection"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-admin-branch-protection"]; - put?: never; - /** - * 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://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"]; - /** - * 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://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"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-pull-request-review-protection"]; - put?: never; - post?: never; - /** - * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/delete-pull-request-review-protection"]; - options?: never; - head?: never; - /** - * 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://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. - */ - patch: operations["repos/update-pull-request-review-protection"]; - trace?: never; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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://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. - */ - get: operations["repos/get-commit-signature-protection"]; - put?: never; - /** - * 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://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"]; - /** - * 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://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"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-status-checks-protection"]; - put?: never; - post?: never; - /** - * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/remove-status-check-protection"]; - options?: never; - head?: never; - /** - * 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://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"]; - trace?: never; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-all-status-check-contexts"]; - /** - * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - put: operations["repos/set-status-check-contexts"]; - /** - * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - post: operations["repos/add-status-check-contexts"]; - /** - * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/remove-status-check-contexts"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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://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. - */ - get: operations["repos/get-access-restrictions"]; - put?: never; - post?: never; - /** - * 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://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. - */ - delete: operations["repos/delete-access-restrictions"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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://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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. - */ - get: operations["repos/get-apps-with-access-to-protected-branch"]; - /** - * 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://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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. - */ - put: operations["repos/set-app-access-restrictions"]; - /** - * 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://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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. - */ - post: operations["repos/add-app-access-restrictions"]; - /** - * 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://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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. - */ - delete: operations["repos/remove-app-access-restrictions"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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://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"]; - /** - * 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://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. - */ - put: operations["repos/set-team-access-restrictions"]; - /** - * 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://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. - */ - post: operations["repos/add-team-access-restrictions"]; - /** - * 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://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. - */ - delete: operations["repos/remove-team-access-restrictions"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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://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"]; - /** - * 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://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. | - */ - put: operations["repos/set-user-access-restrictions"]; - /** - * 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://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. | - */ - post: operations["repos/add-user-access-restrictions"]; - /** - * 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://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. - * - * | 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. | - */ - delete: operations["repos/remove-user-access-restrictions"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/branches/{branch}/rename": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Rename a branch - * @description 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 authenticated user must have push access to the branch. If the branch is the default branch, the authenticated user must also have admin or owner permissions. - * - * In order to rename the default branch, fine-grained access tokens also need the `administration:write` repository permission. - */ - post: operations["repos/rename-branch"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/check-runs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a check run - * @description Creates a new check run for a specific commit in a repository. - * - * To create a check run, you must use a GitHub App. OAuth apps and authenticated users are not able to create a check suite. - * - * 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. - * - * > [!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. - */ - post: operations["checks/create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/check-runs/{check_run_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a check run - * @description Gets a single check run using its `id`. - * - * > [!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. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. - */ - get: operations["checks/get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Update a check run - * @description Updates a check run for a specific commit in a repository. - * - * > [!NOTE] - * > The endpoints to manage checks only look 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. - * - * OAuth apps and personal access tokens (classic) cannot use this endpoint. - */ - patch: operations["checks/update"]; - trace?: never; - }; - "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List check run annotations - * @description Lists annotations for a check run using the annotation `id`. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. - */ - get: operations["checks/list-annotations"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Rerequest a check run - * @description 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`, the `status` of the check suite it belongs to is reset to `queued` and the `conclusion` is cleared. The check run itself is not updated. GitHub apps recieving the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) with the `rerequested` action should then decide if the check run should be reset or updated and call the [update `check_run` endpoint](https://docs.github.com/rest/checks/runs#update-a-check-run) to update the check_run if desired. - * - * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". - */ - post: operations["checks/rerequest-run"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/check-suites": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a check suite - * @description Creates a check suite manually. By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/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/checks/suites#update-repository-preferences-for-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`. - * - * OAuth apps and personal access tokens (classic) cannot use this endpoint. - */ - post: operations["checks/create-suite"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/check-suites/preferences": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * 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/checks/suites#create-a-check-suite). - * You must have admin permissions in the repository to set preferences for check suites. - */ - patch: operations["checks/set-suites-preferences"]; - trace?: never; - }; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a check suite - * @description Gets a single check suite using its `id`. - * - * > [!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`. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. - */ - get: operations["checks/get-suite"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List check runs in a check suite - * @description Lists check runs for a check suite using its `id`. - * - * > [!NOTE] - * > The endpoints to manage checks only look 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. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. - */ - get: operations["checks/list-for-suite"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 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. - */ - post: operations["checks/rerequest-suite"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/alerts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List code scanning alerts for a repository - * @description Lists code scanning alerts. - * - * 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). - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/list-alerts-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a code scanning alert - * @description Gets a single code scanning alert. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/get-alert"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Update a code scanning alert - * @description Updates the status of a single code scanning alert. - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - patch: operations["code-scanning/update-alert"]; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the status of an autofix for a code scanning alert - * @description Gets the status and description of an autofix for a code scanning alert. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/get-autofix"]; - put?: never; - /** - * Create an autofix for a code scanning alert - * @description Creates an autofix for a code scanning alert. - * - * If a new autofix is to be created as a result of this request or is currently being generated, then this endpoint will return a 202 Accepted response. - * - * If an autofix already exists for a given alert, then this endpoint will return a 200 OK response. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - post: operations["code-scanning/create-autofix"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Commit an autofix for a code scanning alert - * @description Commits an autofix for a code scanning alert. - * - * If an autofix is committed as a result of this request, then this endpoint will return a 201 Created response. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - post: operations["code-scanning/commit-autofix"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List instances of a code scanning alert - * @description Lists all instances of the specified code scanning alert. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/list-alert-instances"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/analyses": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List code scanning analyses for a repository - * @description 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. - * - * > [!WARNING] - * > **Closing down notice:** The `tool_name` field is closing down 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. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/list-recent-analyses"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a code scanning analysis for a repository - * @description Gets a specified code scanning analysis for a repository. - * - * 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. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/sarif+json`**: Instead of returning a summary of the analysis, this endpoint returns a subset of the analysis data that was uploaded. The data 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). It also returns additional data such as the `github/alertNumber` and `github/alertUrl` properties. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/get-analysis"]; - put?: never; - post?: never; - /** - * Delete a code scanning analysis from a repository - * @description Deletes a specified code scanning analysis from a repository. - * - * 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` - * * `category` - * - * 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. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - delete: operations["code-scanning/delete-analysis"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/codeql/databases": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List CodeQL databases for a repository - * @description Lists the CodeQL databases that are available in a repository. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/list-codeql-databases"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a CodeQL database for a repository - * @description Gets a CodeQL database for a language in a repository. - * - * By default this endpoint returns JSON metadata about the CodeQL database. To - * download the CodeQL database binary content, set the `Accept` header of the request - * to [`application/zip`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types), and make sure - * your HTTP client is configured to follow redirects or use the `Location` header - * to make a second request to get the redirect URL. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/get-codeql-database"]; - put?: never; - post?: never; - /** - * Delete a CodeQL database - * @description Deletes a CodeQL database for a language in a repository. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - delete: operations["code-scanning/delete-codeql-database"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a CodeQL variant analysis - * @description Creates a new CodeQL variant analysis, which will run a CodeQL query against one or more repositories. - * - * Get started by learning more about [running CodeQL queries at scale with Multi-Repository Variant Analysis](https://docs.github.com/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis). - * - * Use the `owner` and `repo` parameters in the URL to specify the controller repository that - * will be used for running GitHub Actions workflows and storing the results of the CodeQL variant analysis. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["code-scanning/create-variant-analysis"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the summary of a CodeQL variant analysis - * @description Gets the summary of a CodeQL variant analysis. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/get-variant-analysis"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the analysis status of a repository in a CodeQL variant analysis - * @description Gets the analysis status of a repository in a CodeQL variant analysis. - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/get-variant-analysis-repo-task"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/default-setup": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a code scanning default setup configuration - * @description Gets a code scanning default setup configuration. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/get-default-setup"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Update a code scanning default setup configuration - * @description Updates a code scanning default setup configuration. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - patch: operations["code-scanning/update-default-setup"]; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/sarifs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Upload an analysis as SARIF data - * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." - * - * 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 number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. - * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." - * - * - * | **SARIF data** | **Maximum values** | **Additional limits** | - * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| - * | Runs per file | 20 | | - * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | - * | Rules per run | 25,000 | | - * | Tool extensions per run | 100 | | - * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | - * | Location per result | 1,000 | Only 100 locations will be included. | - * | Tags per rule | 20 | Only 10 tags will be included. | - * - * - * The `202 Accepted` response includes an `id` value. - * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. - * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - * - * This endpoint is limited to 1,000 requests per hour for each user or app installation calling it. - */ - post: operations["code-scanning/upload-sarif"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get information about a SARIF upload - * @description 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/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. - */ - get: operations["code-scanning/get-sarif"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/code-security-configuration": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the code security configuration associated with a repository - * @description Get the code security configuration that manages a repository's code security settings. - * - * The authenticated user must be an administrator or security manager for the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["code-security/get-configuration-for-repository"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/codeowners/errors": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List CODEOWNERS errors - * @description List any syntax errors that are detected in the CODEOWNERS - * file. - * - * 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)." - */ - get: operations["repos/codeowners-errors"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/codespaces": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List codespaces in a repository for the authenticated user - * @description Lists the codespaces associated to a specified repository and the authenticated user. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - get: operations["codespaces/list-in-repository-for-authenticated-user"]; - put?: never; - /** - * Create a codespace in a repository - * @description Creates a codespace owned by the authenticated user in the specified repository. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - post: operations["codespaces/create-with-repo-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/codespaces/devcontainers": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List devcontainer configurations in a repository for the authenticated user - * @description 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. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/codespaces/machines": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List available machine types for a repository - * @description List the machine types available for a given repository based on its configuration. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - get: operations["codespaces/repo-machines-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/codespaces/new": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get default attributes for a codespace - * @description Gets the default attributes for codespaces created by the user with the repository. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/codespaces/permissions_check": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check if permissions defined by a devcontainer have been accepted by the authenticated user - * @description Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - get: operations["codespaces/check-permissions-for-devcontainer"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/codespaces/secrets": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository secrets - * @description Lists all development environment secrets available in a repository without revealing their encrypted - * values. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["codespaces/list-repo-secrets"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/codespaces/secrets/public-key": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * If the repository is private, OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["codespaces/get-repo-public-key"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a repository secret - * @description Gets a single repository development environment secret without revealing its encrypted value. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["codespaces/get-repo-secret"]; - /** - * Create or update a repository secret - * @description Creates or updates a repository development environment secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. - */ - put: operations["codespaces/create-or-update-repo-secret"]; - post?: never; - /** - * Delete a repository secret - * @description Deletes a development environment secret in a repository using the secret name. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. - */ - delete: operations["codespaces/delete-repo-secret"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/collaborators": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * The `permissions` hash returned in the response contains the base role permissions of the collaborator. The `role_name` is the highest role assigned to the collaborator after considering all sources of grants, including: repo, teams, organization, and enterprise. - * There is presently not a way to differentiate between an organization level grant and a repository level grant from this endpoint response. - * - * Team members will include the members of child teams. - * - * The authenticated user must have write, maintain, or admin privileges on the repository to use this endpoint. For organization-owned repositories, the authenticated user needs to be a member of the organization. - * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. - */ - get: operations["repos/list-collaborators"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/collaborators/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * Team members will include the members of child teams. - * - * The authenticated user must have push access to the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. - */ - get: operations["repos/check-collaborator"]; - /** - * Add a repository collaborator - * @description Add a user to a repository with a specified level of access. If the repository is owned by an organization, this API does not add the user to the organization - a user that has repository access without being an organization member is called an "outside collaborator" (if they are not an Enterprise Managed User) or a "repository collaborator" if they are an Enterprise Managed User. These users are exempt from some organization policies - see "[Adding outside collaborators to repositories](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization)" to learn more about these collaborator types. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - * - * Adding an outside collaborator may be restricted by enterprise and organization administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)" and "[Setting permissions for adding outside collaborators](https://docs.github.com/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators)" for organization settings. - * - * 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 role 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." - * - * 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 [API](https://docs.github.com/rest/collaborators/invitations). - * - * For Enterprise Managed Users, this endpoint does not send invitations - these users are automatically added to organizations and repositories. Enterprise Managed Users can only be added to organizations and repositories within their enterprise. - * - * **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"]; - post?: never; - /** - * Remove a repository collaborator - * @description Removes a collaborator from a repository. - * - * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. - * - * This endpoint also: - * - Cancels any outstanding invitations sent by the collaborator - * - Unassigns the user from any issues - * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. - * - Unstars the repository - * - Updates access permissions to packages - * - * Removing a user as a collaborator has the following effects on forks: - * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. - * - If the user had their own fork of the repository, the fork will be deleted. - * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. - * - * > [!NOTE] - * > A user can still have access to the repository through organization permissions like base repository permissions. - * - * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. - * - * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". - */ - delete: operations["repos/remove-collaborator"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/collaborators/{username}/permission": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get repository permissions for a user - * @description Checks the repository permission and role of a collaborator. - * - * The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the - * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. - * The `role_name` attribute provides the name of the assigned role, including custom roles. The - * `permission` can also be used to determine which base level of access the collaborator has to the repository. - * - * The calculated permissions are the highest role assigned to the collaborator after considering all sources of grants, including: repo, teams, organization, and enterprise. - * There is presently not a way to differentiate between an organization level grant and a repository level grant from this endpoint response. - */ - get: operations["repos/get-collaborator-permission-level"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/comments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List commit comments for a repository - * @description Lists the commit comments for a specified repository. Comments are ordered by ascending ID. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["repos/list-commit-comments-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/comments/{comment_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a commit comment - * @description Gets a specified commit comment. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["repos/get-commit-comment"]; - put?: never; - post?: never; - /** Delete a commit comment */ - delete: operations["repos/delete-commit-comment"]; - options?: never; - head?: never; - /** - * Update a commit comment - * @description Updates the contents of a specified commit comment. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - patch: operations["repos/update-commit-comment"]; - trace?: never; - }; - "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List reactions for a commit comment - * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - get: operations["reactions/list-for-commit-comment"]; - put?: never; - /** - * Create reaction for a commit comment - * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). 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"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * 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`. - * - * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - delete: operations["reactions/delete-for-commit-comment"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/commits": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List commits - * @description **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. | - * | `verified_at` | `string` | The date the signature was verified by GitHub. | - * - * 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 their 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/list-commits"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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://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. - */ - get: operations["repos/list-branches-for-head-commit"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List commit comments - * @description Lists the comments for a specified commit. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["repos/list-comments-for-commit"]; - put?: never; - /** - * Create a commit comment - * @description Create a comment for a commit using its `:commit_sha`. - * - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - post: operations["repos/create-commit-comment"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List pull requests associated with a commit - * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, it will return merged and open pull requests associated with the commit. - * - * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. - */ - get: operations["repos/list-pull-requests-associated-with-commit"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/commits/{ref}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a commit - * @description 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 and the default JSON media type is requested, 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. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." Pagination query parameters are not supported for these media types. - * - * - **`application/vnd.github.diff`**: Returns the diff of the commit. Larger diffs may time out and return a 5xx status code. - * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. Larger diffs may time out and return a 5xx status code. - * - **`application/vnd.github.sha`**: Returns the commit's SHA-1 hash. 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. | - * | `verified_at` | `string` | The date the signature was verified by GitHub. | - * - * 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 their 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/get-commit"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/commits/{ref}/check-runs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List check runs for a Git reference - * @description Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. - * - * > [!NOTE] - * > The endpoints to manage checks only look 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. - * - * If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. - */ - get: operations["checks/list-for-ref"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/commits/{ref}/check-suites": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List check suites for a Git reference - * @description Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. - * - * > [!NOTE] - * > The endpoints to manage checks only look 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`. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. - */ - get: operations["checks/list-suites-for-ref"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/commits/{ref}/status": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * - * Additionally, a combined `state` is returned. The `state` is one of: - * - * * **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` - */ - get: operations["repos/get-combined-status-for-ref"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/commits/{ref}/statuses": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. - */ - get: operations["repos/list-commit-statuses-for-ref"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/community/profile": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get community profile metrics - * @description Returns all community profile metrics for a repository. The repository cannot be a fork. - * - * The returned metrics include an overall health score, the repository description, the presence of documentation, the - * detected code of conduct, the 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 - * the recommended community health files are present. For more information, see - * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." - * - * `content_reports_enabled` is only returned for organization-owned repositories. - */ - get: operations["repos/get-community-profile-metrics"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/compare/{basehead}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Compare two commits - * @description Compares two commits against one another. You can compare refs (branches or tags) and commit SHAs in the same repository, or you can compare refs and commit SHAs that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." - * - * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.diff`**: Returns the diff of the commit. - * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. - * - * The API response includes details about the files that were changed between the two commits. This includes the status of the change (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. - * - * When calling this endpoint without any paging parameter (`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. - * - * **Working with large comparisons** - * - * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: - * - * - The list of changed files is only shown on the first page of results, and it includes up to 300 changed files for the entire comparison. - * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. - * - * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: - * - * | 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. | - * | `verified_at` | `string` | The date the signature was verified by GitHub. | - * - * 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 their 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"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/contents/{path}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get repository content - * @description Gets the contents of a file or directory in a repository. Specify the file path or directory with the `path` parameter. If you omit the `path` parameter, you will receive the contents of the repository's root directory. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw file contents for files and symlinks. - * - **`application/vnd.github.html+json`**: Returns the file contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). - * - **`application/vnd.github.object+json`**: Returns the contents in a consistent object format regardless of the content type. For example, instead of an array of objects for a directory, the response will be an object with an `entries` attribute containing the array of objects. - * - * 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 [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 and the symlink's target is a normal file in the repository, then the API responds with the content of the file. Otherwise, the API responds with an object describing the symlink itself. - * - * If the content is a submodule, the `submodule_git_url` field 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. - * - * **Notes**: - * - * - To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). - * - 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/git/trees#get-a-tree). - * - Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. - * - 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 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. - */ - get: operations["repos/get-content"]; - /** - * Create or update file contents - * @description Creates a new file or replaces an existing file in a repository. - * - * > [!NOTE] - * > If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The `workflow` scope is also required in order to modify files in the `.github/workflows` directory. - */ - put: operations["repos/create-or-update-file-contents"]; - post?: never; - /** - * Delete a file - * @description 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. - * - * > [!NOTE] - * > If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - delete: operations["repos/delete-file"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/contributors": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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 caches contributor data to improve performance. - * - * 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. - */ - get: operations["repos/list-contributors"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/dependabot/alerts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Dependabot alerts for a repository - * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. - */ - get: operations["dependabot/list-alerts-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a Dependabot alert - * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. - */ - get: operations["dependabot/get-alert"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Update a Dependabot alert - * @description The authenticated user must have access to security alerts for the repository to use this endpoint. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." - * - * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. - */ - patch: operations["dependabot/update-alert"]; - trace?: never; - }; - "/repos/{owner}/{repo}/dependabot/secrets": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted - * values. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["dependabot/list-repo-secrets"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/dependabot/secrets/public-key": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the repository is private. - */ - get: operations["dependabot/get-repo-public-key"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["dependabot/get-repo-secret"]; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["dependabot/create-or-update-repo-secret"]; - post?: never; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["dependabot/delete-repo-secret"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a diff of the dependencies between commits - * @description 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"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/dependency-graph/sbom": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Export a software bill of materials (SBOM) for a repository. - * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. - */ - get: operations["dependency-graph/export-sbom"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/dependency-graph/snapshots": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a snapshot of dependencies for a repository - * @description Create a new snapshot of a repository's dependencies. - * - * The authenticated user must have access to the repository. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["dependency-graph/create-repository-snapshot"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/deployments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List deployments - * @description Simple filtering of deployments is available via query parameters: - */ - get: operations["repos/list-deployments"]; - put?: never; - /** - * Create a deployment - * @description 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/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. - * - * 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. - * - * 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`. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. - */ - post: operations["repos/create-deployment"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/deployments/{deployment_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Get a deployment */ - get: operations["repos/get-deployment"]; - put?: never; - post?: never; - /** - * Delete a deployment - * @description 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. - * - * 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/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. - */ - delete: operations["repos/delete-deployment"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List deployment statuses - * @description Users with pull access can view deployment statuses for a deployment: - */ - get: operations["repos/list-deployment-statuses"]; - put?: never; - /** - * Create a deployment status - * @description Users with `push` access can create deployment statuses for a given deployment. - * - * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. - */ - post: operations["repos/create-deployment-status"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a deployment status - * @description Users with pull access can view a deployment status for a deployment: - */ - get: operations["repos/get-deployment-status"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/dispatches": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 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)." - * - * 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 input example shows how you can use the `client_payload` as a test to debug your workflow. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["repos/create-dispatch-event"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/environments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List environments - * @description Lists the environments for a repository. - * - * Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["repos/get-all-environments"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/environments/{environment_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an environment - * @description > [!NOTE] - * > To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." - * - * Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["repos/get-environment"]; - /** - * Create or update an environment - * @description 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] - * > To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." - * - * > [!NOTE] - * > To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["repos/create-or-update-environment"]; - post?: never; - /** - * Delete an environment - * @description OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["repos/delete-an-environment"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List deployment branch policies - * @description Lists the deployment branch policies for an environment. - * - * Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["repos/list-deployment-branch-policies"]; - put?: never; - /** - * Create a deployment branch policy - * @description Creates a deployment branch or tag policy for an environment. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["repos/create-deployment-branch-policy"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a deployment branch policy - * @description Gets a deployment branch or tag policy for an environment. - * - * Anyone with read access to the repository can use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["repos/get-deployment-branch-policy"]; - /** - * Update a deployment branch policy - * @description Updates a deployment branch or tag policy for an environment. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["repos/update-deployment-branch-policy"]; - post?: never; - /** - * Delete a deployment branch policy - * @description Deletes a deployment branch or tag policy for an environment. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["repos/delete-deployment-branch-policy"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get all deployment protection rules for an environment - * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["repos/get-all-deployment-protection-rules"]; - put?: never; - /** - * Create a custom deployment protection rule on an environment - * @description Enable a custom deployment protection rule for an environment. - * - * The authenticated user must have admin or owner permissions to the repository to use this endpoint. - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app), as well as the [guide to creating custom deployment protection rules](https://docs.github.com/actions/managing-workflow-runs-and-deployments/managing-deployments/creating-custom-deployment-protection-rules). - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["repos/create-deployment-protection-rule"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List custom deployment rule integrations available for an environment - * @description Gets all custom deployment protection rule integrations that are available for an environment. - * - * The authenticated user must have admin or owner permissions to the repository to use this endpoint. - * - * For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["repos/list-custom-deployment-rule-integrations"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a custom deployment protection rule - * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. - */ - get: operations["repos/get-custom-deployment-protection-rule"]; - put?: never; - post?: never; - /** - * Disable a custom protection rule for an environment - * @description Disables a custom deployment protection rule for an environment. - * - * The authenticated user must have admin or owner permissions to the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["repos/disable-deployment-protection-rule"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/secrets": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List environment secrets - * @description Lists all secrets available in an environment without revealing their - * encrypted values. - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/list-environment-secrets"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an environment public key - * @description 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-environment-public-key"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an environment secret - * @description Gets a single environment secret without revealing its encrypted value. - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-environment-secret"]; - /** - * Create or update an environment secret - * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["actions/create-or-update-environment-secret"]; - post?: never; - /** - * Delete an environment secret - * @description Deletes a secret in an environment using the secret name. - * - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-environment-secret"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/variables": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List environment variables - * @description Lists all environment variables. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/list-environment-variables"]; - put?: never; - /** - * Create an environment variable - * @description Create an environment variable that you can reference in a GitHub Actions workflow. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["actions/create-environment-variable"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an environment variable - * @description Gets a specific variable in an environment. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["actions/get-environment-variable"]; - put?: never; - post?: never; - /** - * Delete an environment variable - * @description Deletes an environment variable using the variable name. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["actions/delete-environment-variable"]; - options?: never; - head?: never; - /** - * Update an environment variable - * @description Updates an environment variable that you can reference in a GitHub Actions workflow. - * - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - patch: operations["actions/update-environment-variable"]; - trace?: never; - }; - "/repos/{owner}/{repo}/events": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository events - * @description > [!NOTE] - * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - get: operations["activity/list-repo-events"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/forks": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** List forks */ - get: operations["repos/list-forks"]; - put?: never; - /** - * Create a fork - * @description 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?tags=dotcom-rest-api). - * - * > [!NOTE] - * > Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. - */ - post: operations["repos/create-fork"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/git/blobs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** Create a blob */ - post: operations["git/create-blob"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/git/blobs/{file_sha}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a blob - * @description The `content` in the response will always be Base64 encoded. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw blob data. - * - **`application/vnd.github+json`**: Returns a JSON representation of the blob with `content` as a base64 encoded string. This is the default if no media type is specified. - * - * **Note** This endpoint supports blobs up to 100 megabytes in size. - */ - get: operations["git/get-blob"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/git/commits": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a commit - * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-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 the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * | `verified_at` | `string` | The date the signature was verified by GitHub. | - * - * 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 their 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. | - */ - post: operations["git/create-commit"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/git/commits/{commit_sha}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a commit object - * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." - * - * **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. | - * | `verified_at` | `string` | The date the signature was verified by GitHub. | - * - * 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 their 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["git/get-commit"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/git/matching-refs/{ref}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * 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/pulls/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`. - */ - get: operations["git/list-matching-refs"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/git/ref/{ref}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * > [!NOTE] - * > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/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)". - */ - get: operations["git/get-ref"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/git/refs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 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. - */ - post: operations["git/create-ref"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/git/refs/{ref}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Delete a reference - * @description Deletes the provided reference. - */ - delete: operations["git/delete-ref"]; - options?: never; - head?: never; - /** - * Update a reference - * @description Updates the provided reference to point to a new SHA. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. - */ - patch: operations["git/update-ref"]; - trace?: never; - }; - "/repos/{owner}/{repo}/git/tags": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 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/git/refs#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/git/refs#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. | - * | `verified_at` | `string` | The date the signature was verified by GitHub. | - * - * 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 their 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. | - */ - post: operations["git/create-tag"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/git/tags/{tag_sha}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a tag - * @description **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. | - * | `verified_at` | `string` | The date the signature was verified by GitHub. | - * - * 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 their 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["git/get-tag"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/git/trees": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 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. - * - * 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/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." - * - * Returns an error if you try to delete a file that does not exist. - */ - post: operations["git/create-tree"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/git/trees/{tree_sha}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a tree - * @description Returns a single tree using the SHA1 value or ref name 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. - * - * > [!NOTE] - * > The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. - */ - get: operations["git/get-tree"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/hooks": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository webhooks - * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. - */ - get: operations["repos/list-webhooks"]; - put?: never; - /** - * Create a repository webhook - * @description 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. - */ - post: operations["repos/create-webhook"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." - */ - get: operations["repos/get-webhook"]; - put?: never; - post?: never; - /** - * Delete a repository webhook - * @description Delete a webhook for an organization. - * - * The authenticated user must be a repository owner, or have admin access in the repository, to delete the webhook. - */ - delete: operations["repos/delete-webhook"]; - options?: never; - head?: never; - /** - * 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/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." - */ - patch: operations["repos/update-webhook"]; - trace?: never; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/config": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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/webhooks/repos#get-a-repository-webhook)." - * - * OAuth app tokens and personal access tokens (classic) need the `read:repo_hook` or `repo` scope to use this endpoint. - */ - get: operations["repos/get-webhook-config-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * 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/webhooks/repos#update-a-repository-webhook)." - * - * OAuth app tokens and personal access tokens (classic) need the `write:repo_hook` or `repo` scope to use this endpoint. - */ - patch: operations["repos/update-webhook-config-for-repo"]; - trace?: never; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List deliveries for a repository webhook - * @description Returns a list of webhook deliveries for a webhook configured in a repository. - */ - get: operations["repos/list-webhook-deliveries"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a delivery for a repository webhook - * @description Returns a delivery for a webhook configured in a repository. - */ - get: operations["repos/get-webhook-delivery"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Redeliver a delivery for a repository webhook - * @description Redeliver a webhook delivery for a webhook configured in a repository. - */ - post: operations["repos/redeliver-webhook-delivery"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Ping a repository webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - post: operations["repos/ping-webhook"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 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. - * - * > [!NOTE] - * > Previously `/repos/:owner/:repo/hooks/:hook_id/test` - */ - post: operations["repos/test-push-webhook"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/import": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an import status - * @deprecated - * @description View the progress of an import. - * - * > [!WARNING] - * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). - * - * **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/migrations/source-imports#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/migrations/source-imports#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/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#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/migrations/source-imports#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. - */ - get: operations["migrations/get-import-status"]; - /** - * Start an import - * @deprecated - * @description Start a source import to a GitHub repository using GitHub Importer. - * Importing into a GitHub repository with GitHub Actions enabled is not supported and will - * return a status `422 Unprocessable Entity` response. - * - * > [!WARNING] - * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). - */ - put: operations["migrations/start-import"]; - post?: never; - /** - * Cancel an import - * @deprecated - * @description Stop an import for a repository. - * - * > [!WARNING] - * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). - */ - delete: operations["migrations/cancel-import"]; - options?: never; - head?: never; - /** - * Update an import - * @deprecated - * @description 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. - * - * > [!WARNING] - * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). - */ - patch: operations["migrations/update-import"]; - trace?: never; - }; - "/repos/{owner}/{repo}/import/authors": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get commit authors - * @deprecated - * @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 `. - * - * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. - * - * > [!WARNING] - * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). - */ - get: operations["migrations/get-commit-authors"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/import/authors/{author_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Map a commit author - * @deprecated - * @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. - * - * > [!WARNING] - * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). - */ - patch: operations["migrations/map-commit-author"]; - trace?: never; - }; - "/repos/{owner}/{repo}/import/large_files": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get large files - * @deprecated - * @description List files larger than 100MB found during the import - * - * > [!WARNING] - * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). - */ - get: operations["migrations/get-large-files"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/import/lfs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Update Git LFS preference - * @deprecated - * @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.com). - * - * You can learn more about our LFS feature and working with large files [on our help - * site](https://docs.github.com/repositories/working-with-files/managing-large-files). - * - * > [!WARNING] - * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). - */ - patch: operations["migrations/set-lfs-preference"]; - trace?: never; - }; - "/repos/{owner}/{repo}/installation": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * 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-repo-installation"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/interaction-limits": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - */ - get: operations["interactions/get-restrictions-for-repo"]; - /** - * 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. - */ - put: operations["interactions/set-restrictions-for-repo"]; - post?: never; - /** - * 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. - */ - delete: operations["interactions/remove-restrictions-for-repo"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/invitations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository invitations - * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. - */ - get: operations["repos/list-invitations"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/invitations/{invitation_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** Delete a repository invitation */ - delete: operations["repos/delete-invitation"]; - options?: never; - head?: never; - /** Update a repository invitation */ - patch: operations["repos/update-invitation"]; - trace?: never; - }; - "/repos/{owner}/{repo}/issues": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository issues - * @description List issues in a repository. Only open issues will be listed. - * - * > [!NOTE] - * > GitHub's REST API 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/pulls/pulls#list-pull-requests)" endpoint. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["issues/list-for-repo"]; - put?: never; - /** - * Create an issue - * @description 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/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - post: operations["issues/create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/comments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List issue comments for a repository - * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. - * - * By default, issue comments are ordered by ascending ID. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["issues/list-comments-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/comments/{comment_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an issue comment - * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["issues/get-comment"]; - put?: never; - post?: never; - /** - * Delete an issue comment - * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - delete: operations["issues/delete-comment"]; - options?: never; - head?: never; - /** - * Update an issue comment - * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - patch: operations["issues/update-comment"]; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List reactions for an issue comment - * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - get: operations["reactions/list-for-issue-comment"]; - put?: never; - /** - * Create reaction for an issue comment - * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). 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"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * 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`. - * - * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - delete: operations["reactions/delete-for-issue-comment"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/events": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List issue events for a repository - * @description Lists events for a repository. - */ - get: operations["issues/list-events-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/events/{event_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an issue event - * @description Gets a single event by the event id. - */ - get: operations["issues/get-event"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an issue - * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api#follow-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] - * > GitHub's REST API 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/pulls/pulls#list-pull-requests)" endpoint. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["issues/get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Update an issue - * @description Issue owners and users with push access or Triage role can edit an issue. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - patch: operations["issues/update"]; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Add assignees to an issue - * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. - */ - post: operations["issues/add-assignees"]; - /** - * Remove assignees from an issue - * @description Removes one or more assignees from an issue. - */ - delete: operations["issues/remove-assignees"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check if a user can be assigned to a issue - * @description Checks if a user has permission to be assigned to a specific issue. - * - * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - get: operations["issues/check-user-can-be-assigned-to-issue"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/comments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List issue comments - * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * Issue comments are ordered by ascending ID. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["issues/list-comments"]; - put?: never; - /** - * Create an issue comment - * @description You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * 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. - * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - post: operations["issues/create-comment"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/events": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List issue events - * @description Lists all events for an issue. - */ - get: operations["issues/list-events"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/labels": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List labels for an issue - * @description Lists all labels for an issue. - */ - get: operations["issues/list-labels-on-issue"]; - /** - * Set labels for an issue - * @description Removes any previous labels and sets the new labels for an issue. - */ - put: operations["issues/set-labels"]; - /** - * Add labels to an issue - * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. - */ - post: operations["issues/add-labels"]; - /** - * Remove all labels from an issue - * @description Removes all labels from an issue. - */ - delete: operations["issues/remove-all-labels"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * 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. - */ - delete: operations["issues/remove-label"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/lock": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Lock an issue - * @description 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." - */ - put: operations["issues/lock"]; - post?: never; - /** - * Unlock an issue - * @description Users with push access can unlock an issue's conversation. - */ - delete: operations["issues/unlock"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List reactions for an issue - * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - get: operations["reactions/list-for-issue"]; - put?: never; - /** - * Create reaction for an issue - * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. - */ - post: operations["reactions/create-for-issue"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * 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`. - * - * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - delete: operations["reactions/delete-for-issue"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/sub_issue": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Remove sub-issue - * @description You can use the REST API to remove a sub-issue from an issue. - * Removing content too quickly using this endpoint may result in secondary rate limiting. - * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass a specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - delete: operations["issues/remove-sub-issue"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/sub_issues": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List sub-issues - * @description You can use the REST API to list the sub-issues on an issue. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["issues/list-sub-issues"]; - put?: never; - /** - * Add sub-issue - * @description You can use the REST API to add sub-issues to issues. - * - * Creating content too quickly using this endpoint may result in secondary rate limiting. - * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - post: operations["issues/add-sub-issue"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Reprioritize sub-issue - * @description You can use the REST API to reprioritize a sub-issue to a different position in the parent list. - */ - patch: operations["issues/reprioritize-sub-issue"]; - trace?: never; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List timeline events for an issue - * @description List all timeline events for an issue. - */ - get: operations["issues/list-events-for-timeline"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/keys": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** List deploy keys */ - get: operations["repos/list-deploy-keys"]; - put?: never; - /** - * Create a deploy key - * @description You can create a read-only deploy key. - */ - post: operations["repos/create-deploy-key"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/keys/{key_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Get a deploy key */ - get: operations["repos/get-deploy-key"]; - put?: never; - post?: never; - /** - * 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. - */ - delete: operations["repos/delete-deploy-key"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/labels": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List labels for a repository - * @description Lists all labels for a repository. - */ - get: operations["issues/list-labels-for-repo"]; - put?: never; - /** - * Create a label - * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). - */ - post: operations["issues/create-label"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/labels/{name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a label - * @description Gets a label using the given name. - */ - get: operations["issues/get-label"]; - put?: never; - post?: never; - /** - * Delete a label - * @description Deletes a label using the given label name. - */ - delete: operations["issues/delete-label"]; - options?: never; - head?: never; - /** - * Update a label - * @description Updates a label using the given label name. - */ - patch: operations["issues/update-label"]; - trace?: never; - }; - "/repos/{owner}/{repo}/languages": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - */ - get: operations["repos/list-languages"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/license": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the license for a repository - * @description This method returns the contents of the repository's license file, if one is detected. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw contents of the license. - * - **`application/vnd.github.html+json`**: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). - */ - get: operations["licenses/get-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/merge-upstream": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Sync a fork branch with the upstream repository - * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. - */ - post: operations["repos/merge-upstream"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/merges": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** Merge a branch */ - post: operations["repos/merge"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/milestones": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List milestones - * @description Lists milestones for a repository. - */ - get: operations["issues/list-milestones"]; - put?: never; - /** - * Create a milestone - * @description Creates a milestone. - */ - post: operations["issues/create-milestone"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/milestones/{milestone_number}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a milestone - * @description Gets a milestone using the given milestone number. - */ - get: operations["issues/get-milestone"]; - put?: never; - post?: never; - /** - * Delete a milestone - * @description Deletes a milestone using the given milestone number. - */ - delete: operations["issues/delete-milestone"]; - options?: never; - head?: never; - /** Update a milestone */ - patch: operations["issues/update-milestone"]; - trace?: never; - }; - "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List labels for issues in a milestone - * @description Lists labels for issues in a milestone. - */ - get: operations["issues/list-labels-for-milestone"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/notifications": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository notifications for the authenticated user - * @description Lists all notifications for the current user in the specified repository. - */ - get: operations["activity/list-repo-notifications-for-authenticated-user"]; - /** - * Mark repository notifications as read - * @description Marks all notifications in a repository as "read" for the current user. 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/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - put: operations["activity/mark-repo-notifications-as-read"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pages": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a GitHub Pages site - * @description Gets information about a GitHub Pages site. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["repos/get-pages"]; - /** - * 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). - * - * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - put: operations["repos/update-information-about-pages-site"]; - /** - * 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)." - * - * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["repos/create-pages-site"]; - /** - * Delete a GitHub Pages site - * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - delete: operations["repos/delete-pages-site"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pages/builds": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List GitHub Pages builds - * @description Lists builts of a GitHub Pages site. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["repos/list-pages-builds"]; - put?: never; - /** - * 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. - * - * 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. - */ - post: operations["repos/request-pages-build"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pages/builds/latest": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get latest Pages build - * @description Gets information about the single most recent build of a GitHub Pages site. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["repos/get-latest-pages-build"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pages/builds/{build_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get GitHub Pages build - * @description Gets information about a GitHub Pages build. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["repos/get-pages-build"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pages/deployments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a GitHub Pages deployment - * @description Create a GitHub Pages deployment for a repository. - * - * The authenticated user must have write permission to the repository. - */ - post: operations["repos/create-pages-deployment"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the status of a GitHub Pages deployment - * @description Gets the current status of a GitHub Pages deployment. - * - * The authenticated user must have read permission for the GitHub Pages site. - */ - get: operations["repos/get-pages-deployment"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Cancel a GitHub Pages deployment - * @description Cancels a GitHub Pages deployment. - * - * The authenticated user must have write permissions for the GitHub Pages site. - */ - post: operations["repos/cancel-pages-deployment"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pages/health": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a DNS health check for GitHub Pages - * @description 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. - * - * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["repos/get-pages-health-check"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/private-vulnerability-reporting": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check if private vulnerability reporting is enabled for a repository - * @description Returns a boolean indicating whether or not private vulnerability reporting is enabled for the repository. For more information, see "[Evaluating the security settings of a repository](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository)". - */ - get: operations["repos/check-private-vulnerability-reporting"]; - /** - * Enable private vulnerability reporting for a repository - * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." - */ - put: operations["repos/enable-private-vulnerability-reporting"]; - post?: never; - /** - * Disable private vulnerability reporting for a repository - * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". - */ - delete: operations["repos/disable-private-vulnerability-reporting"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/projects": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository projects - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["projects/list-for-repo"]; - put?: never; - /** - * Create a repository project - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - post: operations["projects/create-for-repo"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/properties/values": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get all custom property values for a repository - * @description Gets all custom property values that are set for a repository. - * Users with read access to the repository can use this endpoint. - */ - get: operations["repos/get-custom-properties-values"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Create or update custom property values for a repository - * @description Create new or update existing custom property values for a repository. - * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. - * - * Repository admins and other users with the repository-level "edit custom property values" fine-grained permission can use this endpoint. - */ - patch: operations["repos/create-or-update-custom-properties-values"]; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List pull requests - * @description Lists pull requests in a specified repository. - * - * 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. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["pulls/list"]; - put?: never; - /** - * 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://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. - * - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - post: operations["pulls/create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/comments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["pulls/list-review-comments-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a review comment for a pull request - * @description Provides details for a specified review comment. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["pulls/get-review-comment"]; - put?: never; - post?: never; - /** - * Delete a review comment for a pull request - * @description Deletes a review comment. - */ - delete: operations["pulls/delete-review-comment"]; - options?: never; - head?: never; - /** - * Update a review comment for a pull request - * @description Edits the content of a specified review comment. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - patch: operations["pulls/update-review-comment"]; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List reactions for a pull request review comment - * @description List the reactions to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - get: operations["reactions/list-for-pull-request-review-comment"]; - put?: never; - /** - * Create reaction for a pull request review comment - * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). 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"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * 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.` - * - * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - delete: operations["reactions/delete-for-pull-request-comment"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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://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/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/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/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - * - **`application/vnd.github.diff`**: For more information, see "[git-diff](https://git-scm.com/docs/git-diff)" in the Git documentation. If a diff is corrupt, contact us through the [GitHub Support portal](https://support.github.com/). Include the repository name and pull request ID in your message. - */ - get: operations["pulls/get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * 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://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. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - patch: operations["pulls/update"]; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a codespace from a pull request - * @description Creates a codespace owned by the authenticated user for the specified pull request. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - post: operations["codespaces/create-with-pr-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List review comments on a pull request - * @description Lists all review comments for a specified pull request. By default, review comments - * are in ascending order by ID. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["pulls/list-review-comments"]; - put?: never; - /** - * Create a review comment for a pull request - * @description Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." - * - * If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request. - * - * The `position` parameter is closing down. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. - * - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - post: operations["pulls/create-review-comment"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 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. - * - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" - * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - post: operations["pulls/create-reply-for-review-comment"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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/commits/commits#list-commits) - * endpoint. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["pulls/list-commits"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/files": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List pull requests files - * @description Lists the files in a specified pull request. - * - * > [!NOTE] - * > Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["pulls/list-files"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check if a pull request has been merged - * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. - */ - get: operations["pulls/check-if-merged"]; - /** - * Merge a pull request - * @description Merges a pull request into the base branch. - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - */ - put: operations["pulls/merge"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get all requested reviewers for a pull request - * @description Gets 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"]; - put?: never; - /** - * Request reviewers for a pull request - * @description Requests reviews for a pull request from a given set of users and/or teams. - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - */ - post: operations["pulls/request-reviewers"]; - /** - * Remove requested reviewers from a pull request - * @description Removes review requests from a pull request for a given set of users and/or teams. - */ - delete: operations["pulls/remove-requested-reviewers"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List reviews for a pull request - * @description Lists all reviews for a specified pull request. The list of reviews returns in chronological order. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["pulls/list-reviews"]; - put?: never; - /** - * Create a review for a pull request - * @description Creates a review on a specified pull request. - * - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * - * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." - * - * > [!NOTE] - * > To comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a pull request](https://docs.github.com/rest/pulls/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. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - post: operations["pulls/create-review"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a review for a pull request - * @description Retrieves a pull request review by its ID. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["pulls/get-review"]; - /** - * Update a review for a pull request - * @description Updates the contents of a specified review summary comment. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - put: operations["pulls/update-review"]; - post?: never; - /** - * Delete a pending review for a pull request - * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - delete: operations["pulls/delete-pending-review"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List comments for a pull request review - * @description Lists comments for a specific pull request review. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["pulls/list-comments-for-review"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Dismiss a review for a pull request - * @description Dismisses a specified review on a pull request. - * - * > [!NOTE] - * > To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - put: operations["pulls/dismiss-review"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Submit a review for a pull request - * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - post: operations["pulls/submit-review"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * 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. - * Note: If making a request on behalf of a GitHub App you must also have permissions to write the contents of the head repository. - */ - put: operations["pulls/update-branch"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/readme": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a repository README - * @description Gets the preferred README for a repository. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. - * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). - */ - get: operations["repos/get-readme"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/readme/{dir}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a repository README for a directory - * @description Gets the README from a repository directory. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. - * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). - */ - get: operations["repos/get-readme-in-directory"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/releases": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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/repos/repos#list-repository-tags). - * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. - */ - get: operations["repos/list-releases"]; - put?: never; - /** - * Create a release - * @description Users with push access to the repository can create a release. - * - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - */ - post: operations["repos/create-release"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/releases/assets/{asset_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a release asset - * @description To download the asset's binary content: - * - * - If within a browser, fetch the location specified in the `browser_download_url` key provided in the response. - * - Alternatively, set the `Accept` header of the request to - * [`application/octet-stream`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#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. - */ - get: operations["repos/get-release-asset"]; - put?: never; - post?: never; - /** Delete a release asset */ - delete: operations["repos/delete-release-asset"]; - options?: never; - head?: never; - /** - * Update a release asset - * @description Users with push access to the repository can edit a release asset. - */ - patch: operations["repos/update-release-asset"]; - trace?: never; - }; - "/repos/{owner}/{repo}/releases/generate-notes": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Generate release notes content for a release - * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). 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"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/releases/latest": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the latest release - * @description 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. - */ - get: operations["repos/get-latest-release"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/releases/tags/{tag}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a release by tag name - * @description Get a published release with the specified tag. - */ - get: operations["repos/get-release-by-tag"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/releases/{release_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a release - * @description Gets a public release with the specified release ID. - * - * > [!NOTE] - * > This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." - */ - get: operations["repos/get-release"]; - put?: never; - post?: never; - /** - * Delete a release - * @description Users with push access to the repository can delete a release. - */ - delete: operations["repos/delete-release"]; - options?: never; - head?: never; - /** - * Update a release - * @description Users with push access to the repository can edit a release. - */ - patch: operations["repos/update-release"]; - trace?: never; - }; - "/repos/{owner}/{repo}/releases/{release_id}/assets": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** List release assets */ - get: operations["repos/list-release-assets"]; - put?: never; - /** - * Upload a release asset - * @description This endpoint makes use of a [Hypermedia relation](https://docs.github.com/rest/using-the-rest-api/getting-started-with-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/releases/releases#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 release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" - * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). - * * 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"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/releases/{release_id}/reactions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List reactions for a release - * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - get: operations["reactions/list-for-release"]; - put?: never; - /** - * Create reaction for a release - * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. - */ - post: operations["reactions/create-for-release"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Delete a release reaction - * @description > [!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/releases/releases#get-a-release). - */ - delete: operations["reactions/delete-for-release"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/rules/branches/{branch}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get rules for a branch - * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply - * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level - * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" - * enforcement statuses are not returned. - */ - get: operations["repos/get-branch-rules"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/rulesets": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get all repository rulesets - * @description Get all the rulesets for a repository. - */ - get: operations["repos/get-repo-rulesets"]; - put?: never; - /** - * Create a repository ruleset - * @description Create a ruleset for a repository. - */ - post: operations["repos/create-repo-ruleset"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/rulesets/rule-suites": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository rule suites - * @description Lists suites of rule evaluations at the repository level. - * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." - */ - get: operations["repos/get-repo-rule-suites"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a repository rule suite - * @description Gets information about a suite of rule evaluations from within a repository. - * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." - */ - get: operations["repos/get-repo-rule-suite"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/rulesets/{ruleset_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a repository ruleset - * @description Get a ruleset for a repository. - * - * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user - * making the API request has write access to the ruleset. - */ - get: operations["repos/get-repo-ruleset"]; - /** - * Update a repository ruleset - * @description Update a ruleset for a repository. - */ - put: operations["repos/update-repo-ruleset"]; - post?: never; - /** - * Delete a repository ruleset - * @description Delete a ruleset for a repository. - */ - delete: operations["repos/delete-repo-ruleset"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/rulesets/{ruleset_id}/history": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get repository ruleset history - * @description Get the history of a repository ruleset. - */ - get: operations["repos/get-repo-ruleset-history"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get repository ruleset version - * @description Get a version of a repository ruleset. - */ - get: operations["repos/get-repo-ruleset-version"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List secret scanning alerts for a repository - * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - * - * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. - */ - get: operations["secret-scanning/list-alerts-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a secret scanning alert - * @description Gets a single secret scanning alert detected in an eligible repository. - * - * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. - */ - get: operations["secret-scanning/get-alert"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Update a secret scanning alert - * @description Updates the status of a secret scanning alert in an eligible repository. - * - * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. - */ - patch: operations["secret-scanning/update-alert"]; - trace?: never; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List locations for a secret scanning alert - * @description Lists all locations for a given secret scanning alert for an eligible repository. - * - * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. - */ - get: operations["secret-scanning/list-locations-for-alert"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a push protection bypass - * @description Creates a bypass for a previously push protected secret. - * - * The authenticated user must be the original author of the committed secret. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - post: operations["secret-scanning/create-push-protection-bypass"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/secret-scanning/scan-history": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get secret scanning scan history for a repository - * @description Lists the latest default incremental and backfill scans by type for a repository. Scans from Copilot Secret Scanning are not included. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. - */ - get: operations["secret-scanning/get-scan-history"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/security-advisories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository security advisories - * @description Lists security advisories in a repository. - * - * The authenticated user can access unpublished security advisories from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on any security advisory. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. - */ - get: operations["security-advisories/list-repository-advisories"]; - put?: never; - /** - * Create a repository security advisory - * @description Creates a new repository security advisory. - * - * In order to create a draft repository security advisory, the authenticated user must be a security manager or administrator of that repository. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. - */ - post: operations["security-advisories/create-repository-advisory"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/security-advisories/reports": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Privately report a security vulnerability - * @description Report a security vulnerability to the maintainers of the repository. - * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. - */ - post: operations["security-advisories/create-private-vulnerability-report"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a repository security advisory - * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * - * Anyone can access any published security advisory on a public repository. - * - * The authenticated user can access an unpublished security advisory from a repository if they are a security manager or administrator of that repository, or if they are a - * collaborator on the security advisory. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. - */ - get: operations["security-advisories/get-repository-advisory"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Update a repository security advisory - * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * - * In order to update any security advisory, the authenticated user must be a security manager or administrator of that repository, - * or a collaborator on the repository security advisory. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. - */ - patch: operations["security-advisories/update-repository-advisory"]; - trace?: never; - }; - "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Request a CVE for a repository security advisory - * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." - * - * You may request a CVE for public repositories, but cannot do so for private repositories. - * - * In order to request a CVE for a repository security advisory, the authenticated user must be a security manager or administrator of that repository. - * - * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. - */ - post: operations["security-advisories/create-repository-advisory-cve-request"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a temporary private fork - * @description Create a temporary private fork to collaborate on fixing a security vulnerability in your repository. - * - * > [!NOTE] - * > Forking a repository happens asynchronously. You may have to wait up to 5 minutes before you can access the fork. - */ - post: operations["security-advisories/create-fork"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/stargazers": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List stargazers - * @description Lists the people that have starred the repository. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. - */ - get: operations["activity/list-stargazers-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/stats/code_frequency": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the weekly commit activity - * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. - * - * > [!NOTE] - * > This endpoint can only be used for repositories with fewer than 10,000 commits. If the repository contains 10,000 or more commits, a 422 status code will be returned. - */ - get: operations["repos/get-code-frequency-stats"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/stats/commit_activity": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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`. - */ - get: operations["repos/get-commit-activity-stats"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/stats/contributors": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get all contributor commit activity - * @description - * 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](https://en.wikipedia.org/wiki/Unix_time). - * * `a` - Number of additions - * * `d` - Number of deletions - * * `c` - Number of commits - * - * > [!NOTE] - * > This endpoint will return `0` values for all addition and deletion counts in repositories with 10,000 or more commits. - */ - get: operations["repos/get-contributors-stats"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/stats/participation": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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`. - * - * The array order is oldest week (index 0) to most recent week. - * - * The most recent week is seven days ago at UTC midnight to today at UTC midnight. - */ - get: operations["repos/get-participation-stats"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/stats/punch_card": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the hourly commit count for each day - * @description 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. - */ - get: operations["repos/get-punch-card-stats"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/statuses/{sha}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a commit status - * @description Users with push access in a repository can create commit statuses for a given SHA. - * - * 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. - */ - post: operations["repos/create-commit-status"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/subscribers": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List watchers - * @description Lists the people watching the specified repository. - */ - get: operations["activity/list-watchers-for-repo"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/subscription": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a repository subscription - * @description Gets information about whether the authenticated user is subscribed to the repository. - */ - get: operations["activity/get-repo-subscription"]; - /** - * 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/activity/watching#delete-a-repository-subscription) completely. - */ - put: operations["activity/set-repo-subscription"]; - post?: never; - /** - * 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/activity/watching#set-a-repository-subscription). - */ - delete: operations["activity/delete-repo-subscription"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/tags": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** List repository tags */ - get: operations["repos/list-tags"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/tags/protection": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Closing down - List tag protection states for a repository - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#get-all-repository-rulesets)" endpoint instead. - * - * This returns the tag protection states of a repository. - * - * This information is only available to repository administrators. - */ - get: operations["repos/list-tag-protection"]; - put?: never; - /** - * Closing down - Create a tag protection state for a repository - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#create-a-repository-ruleset)" endpoint instead. - * - * This creates a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - post: operations["repos/create-tag-protection"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Closing down - Delete a tag protection state for a repository - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#delete-a-repository-ruleset)" endpoint instead. - * - * This deletes a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - delete: operations["repos/delete-tag-protection"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/tarball/{ref}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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 - * `main`) 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. - */ - get: operations["repos/download-tarball-archive"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/teams": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repository teams - * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. - * - * For a public repository, a team is listed only if that team added the public repository explicitly. - * - * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to use this endpoint with a public repository, and `repo` scope to use this endpoint with a private repository. - */ - get: operations["repos/list-teams"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/topics": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Get all repository topics */ - get: operations["repos/get-all-topics"]; - /** Replace all repository topics */ - put: operations["repos/replace-all-topics"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/traffic/clones": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - */ - get: operations["repos/get-clones"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/traffic/popular/paths": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get top referral paths - * @description Get the top 10 popular contents over the last 14 days. - */ - get: operations["repos/get-top-paths"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/traffic/popular/referrers": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get top referral sources - * @description Get the top 10 referrers over the last 14 days. - */ - get: operations["repos/get-top-referrers"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/traffic/views": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - */ - get: operations["repos/get-views"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/transfer": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 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://docs.github.com/articles/about-repository-transfers/). - */ - post: operations["repos/transfer"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/vulnerability-alerts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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 read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - get: operations["repos/check-vulnerability-alerts"]; - /** - * 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://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - put: operations["repos/enable-vulnerability-alerts"]; - post?: never; - /** - * 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://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - delete: operations["repos/disable-vulnerability-alerts"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{owner}/{repo}/zipball/{ref}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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 - * `main`) 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. If the repository is empty, you will receive a 404 when you follow the redirect. - */ - get: operations["repos/download-zipball-archive"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repos/{template_owner}/{template_repo}/generate": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 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. If the repository is not public, 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/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. - * - * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. - */ - post: operations["repos/create-using-template"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/repositories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List public repositories - * @description 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/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. - */ - get: operations["repos/list-public"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/search/code": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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/guides/using-pagination-in-the-rest-api). - * - * 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/search/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: - * - * * 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. - * - * This endpoint requires you to authenticate and limits you to 10 requests per minute. - */ - get: operations["search/code"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/search/commits": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Search commits - * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). - * - * 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/search/search#text-match-metadata). - * - * 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: - * - * `q=repo:octocat/Spoon-Knife+css` - */ - get: operations["search/commits"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/search/issues": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Search issues and pull requests - * @deprecated - * @description > [!WARNING] - * > **Notice:** Search for issues and pull requests will be overridden by advanced search on September 4, 2025. - * > You can read more about this change on [the GitHub blog](https://github.blog/changelog/2025-03-06-github-issues-projects-api-support-for-issues-advanced-search-and-more/). - */ - get: operations["search/issues-and-pull-requests"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/search/labels": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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/guides/using-pagination-in-the-rest-api). - * - * 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/search/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. - */ - get: operations["search/labels"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/search/repositories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Search repositories - * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). - * - * 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/search/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. - */ - get: operations["search/repos"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/search/topics": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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/guides/using-pagination-in-the-rest-api). 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/search/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: - * - * `q=ruby+is:featured` - * - * 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. - */ - get: operations["search/topics"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/search/users": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Search users - * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). - * - * When searching for users, you can get text match metadata for the issue **login**, public **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/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/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` - * - * 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. - * - * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." - */ - get: operations["search/users"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a team (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#get-a-team-by-name) endpoint. - */ - get: operations["teams/get-legacy"]; - put?: never; - post?: never; - /** - * Delete a team (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/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. - */ - delete: operations["teams/delete-legacy"]; - options?: never; - head?: never; - /** - * Update a team (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#update-a-team) endpoint. - * - * To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * > [!NOTE] - * > With nested teams, the `privacy` for parent teams cannot be `secret`. - */ - patch: operations["teams/update-legacy"]; - trace?: never; - }; - "/teams/{team_id}/discussions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List discussions (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#list-discussions) endpoint. - * - * List all discussions on a team's page. - * - * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. - */ - get: operations["teams/list-discussions-legacy"]; - put?: never; - /** - * Create a discussion (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#create-a-discussion) endpoint. - * - * Creates a new discussion post on a team's page. - * - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - post: operations["teams/create-discussion-legacy"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}/discussions/{discussion_number}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a discussion (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#get-a-discussion) endpoint. - * - * Get a specific discussion on a team's page. - * - * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. - */ - get: operations["teams/get-discussion-legacy"]; - put?: never; - post?: never; - /** - * Delete a discussion (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#delete-a-discussion) endpoint. - * - * Delete a discussion from a team's page. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - delete: operations["teams/delete-discussion-legacy"]; - options?: never; - head?: never; - /** - * Update a discussion (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#update-a-discussion) endpoint. - * - * Edits the title and body text of a discussion post. Only the parameters you provide are updated. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - patch: operations["teams/update-discussion-legacy"]; - trace?: never; - }; - "/teams/{team_id}/discussions/{discussion_number}/comments": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List discussion comments (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#list-discussion-comments) endpoint. - * - * List all comments on a team discussion. - * - * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. - */ - get: operations["teams/list-discussion-comments-legacy"]; - put?: never; - /** - * Create a discussion comment (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#create-a-discussion-comment) endpoint. - * - * Creates a new comment on a team discussion. - * - * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - post: operations["teams/create-discussion-comment-legacy"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a discussion comment (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#get-a-discussion-comment) endpoint. - * - * Get a specific comment on a team discussion. - * - * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. - */ - get: operations["teams/get-discussion-comment-legacy"]; - put?: never; - post?: never; - /** - * Delete a discussion comment (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#delete-a-discussion-comment) endpoint. - * - * Deletes a comment on a team discussion. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - delete: operations["teams/delete-discussion-comment-legacy"]; - options?: never; - head?: never; - /** - * Update a discussion comment (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#update-a-discussion-comment) endpoint. - * - * Edits the body text of a discussion comment. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - patch: operations["teams/update-discussion-comment-legacy"]; - trace?: never; - }; - "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List reactions for a team discussion comment (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. - * - * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). - * - * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. - */ - get: operations["reactions/list-for-team-discussion-comment-legacy"]; - put?: never; - /** - * Create reaction for a team discussion comment (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. - * - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). - * - * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - post: operations["reactions/create-for-team-discussion-comment-legacy"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}/discussions/{discussion_number}/reactions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List reactions for a team discussion (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. - * - * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). - * - * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. - */ - get: operations["reactions/list-for-team-discussion-legacy"]; - put?: never; - /** - * Create reaction for a team discussion (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. - * - * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). - * - * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - * - * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. - */ - post: operations["reactions/create-for-team-discussion-legacy"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}/invitations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List pending team invitations (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#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`. - */ - get: operations["teams/list-pending-invitations-legacy"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}/members": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List team members (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#list-team-members) endpoint. - * - * Team members will include the members of child teams. - */ - get: operations["teams/list-members-legacy"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}/members/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get team member (Legacy) - * @deprecated - * @description The "Get team member" endpoint (described below) is closing down. - * - * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#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. - */ - get: operations["teams/get-member-legacy"]; - /** - * Add team member (Legacy) - * @deprecated - * @description The "Add team member" endpoint (described below) is closing down. - * - * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." - */ - put: operations["teams/add-member-legacy"]; - post?: never; - /** - * Remove team member (Legacy) - * @deprecated - * @description The "Remove team member" endpoint (described below) is closing down. - * - * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#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. - * - * 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/)." - */ - delete: operations["teams/remove-member-legacy"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}/memberships/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get team membership for a user (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#get-team-membership-for-a-user) endpoint. - * - * 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/teams/teams#create-a-team). - */ - get: operations["teams/get-membership-for-user-legacy"]; - /** - * Add or update team membership for a user (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#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://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. - */ - put: operations["teams/add-or-update-membership-for-user-legacy"]; - post?: never; - /** - * Remove team membership for a user (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#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://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/)." - */ - delete: operations["teams/remove-membership-for-user-legacy"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}/projects": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List team projects (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["teams/list-projects-legacy"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}/projects/{project_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check team permissions for a project (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["teams/check-permissions-for-project-legacy"]; - /** - * Add or update team project permissions (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - put: operations["teams/add-or-update-project-permissions-legacy"]; - post?: never; - /** - * Remove a project from a team (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - delete: operations["teams/remove-project-legacy"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}/repos": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List team repositories (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#list-team-repositories) endpoint. - */ - get: operations["teams/list-repos-legacy"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}/repos/{owner}/{repo}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check team permissions for a repository (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#check-team-permissions-for-a-repository) endpoint. - * - * > [!NOTE] - * > 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/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `Accept` header: - */ - get: operations["teams/check-permissions-for-repo-legacy"]; - /** - * Add or update team repository permissions (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#add-or-update-team-repository-permissions)" endpoint. - * - * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." - */ - put: operations["teams/add-or-update-repo-permissions-legacy"]; - post?: never; - /** - * Remove a repository from a team (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/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. - */ - delete: operations["teams/remove-repo-legacy"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/teams/{team_id}/teams": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List child teams (Legacy) - * @deprecated - * @description > [!WARNING] - * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#list-child-teams) endpoint. - */ - get: operations["teams/list-child-legacy"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the authenticated user - * @description OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private profile information. - */ - get: operations["users/get-authenticated"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * 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. - */ - patch: operations["users/update-authenticated"]; - trace?: never; - }; - "/user/blocks": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List users blocked by the authenticated user - * @description List the users you've blocked on your personal account. - */ - get: operations["users/list-blocked-by-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/blocks/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check if a user is blocked by the authenticated user - * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. - */ - get: operations["users/check-blocked"]; - /** - * Block a user - * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. - */ - put: operations["users/block"]; - post?: never; - /** - * Unblock a user - * @description Unblocks the given user and returns a 204. - */ - delete: operations["users/unblock"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/codespaces": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List codespaces for the authenticated user - * @description Lists the authenticated user's codespaces. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - get: operations["codespaces/list-for-authenticated-user"]; - put?: never; - /** - * Create a codespace for the authenticated user - * @description Creates a new codespace, owned by the authenticated user. - * - * This endpoint requires either a `repository_id` OR a `pull_request` but not both. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - post: operations["codespaces/create-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/codespaces/secrets": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List secrets for the authenticated user - * @description Lists all development environment secrets available for a user's codespaces without revealing their - * encrypted values. - * - * The authenticated user must have Codespaces access to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. - */ - get: operations["codespaces/list-secrets-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/codespaces/secrets/public-key": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get public key for the authenticated user - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. - * - * The authenticated user must have Codespaces access to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. - */ - get: operations["codespaces/get-public-key-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/codespaces/secrets/{secret_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a secret for the authenticated user - * @description Gets a development environment secret available to a user's codespaces without revealing its encrypted value. - * - * The authenticated user must have Codespaces access to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. - */ - get: operations["codespaces/get-secret-for-authenticated-user"]; - /** - * Create or update a secret for the authenticated user - * @description Creates or updates a development environment secret for a user's codespace with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * The authenticated user must have Codespaces access to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. - */ - put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; - post?: never; - /** - * Delete a secret for the authenticated user - * @description Deletes a development environment 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. - * - * The authenticated user must have Codespaces access to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. - */ - delete: operations["codespaces/delete-secret-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/codespaces/secrets/{secret_name}/repositories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List selected repositories for a user secret - * @description List the repositories that have been granted the ability to use a user's development environment secret. - * - * The authenticated user must have Codespaces access to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. - */ - get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; - /** - * Set selected repositories for a user secret - * @description Select the repositories that will use a user's development environment secret. - * - * The authenticated user must have Codespaces access to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. - */ - put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Add a selected repository to a user secret - * @description Adds a repository to the selected repositories for a user's development environment secret. - * - * The authenticated user must have Codespaces access to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. - */ - put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; - post?: never; - /** - * Remove a selected repository from a user secret - * @description Removes a repository from the selected repositories for a user's development environment secret. - * - * The authenticated user must have Codespaces access to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. - */ - delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/codespaces/{codespace_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a codespace for the authenticated user - * @description Gets information about a user's codespace. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - get: operations["codespaces/get-for-authenticated-user"]; - put?: never; - post?: never; - /** - * Delete a codespace for the authenticated user - * @description Deletes a user's codespace. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - delete: operations["codespaces/delete-for-authenticated-user"]; - options?: never; - head?: never; - /** - * Update a codespace for the authenticated user - * @description 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. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - patch: operations["codespaces/update-for-authenticated-user"]; - trace?: never; - }; - "/user/codespaces/{codespace_name}/exports": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Export a codespace for the authenticated user - * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. - * - * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - post: operations["codespaces/export-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/codespaces/{codespace_name}/exports/{export_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get details about a codespace export - * @description Gets information about an export of a codespace. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - get: operations["codespaces/get-export-details-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/codespaces/{codespace_name}/machines": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List machine types for a codespace - * @description List the machine types a codespace can transition to use. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - get: operations["codespaces/codespace-machines-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/codespaces/{codespace_name}/publish": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a repository from an unpublished codespace - * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. - * - * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. - * - * This will fail for a codespace that is already published, meaning it has an associated repository. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - post: operations["codespaces/publish-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/codespaces/{codespace_name}/start": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Start a codespace for the authenticated user - * @description Starts a user's codespace. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - post: operations["codespaces/start-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/codespaces/{codespace_name}/stop": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Stop a codespace for the authenticated user - * @description Stops a user's codespace. - * - * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. - */ - post: operations["codespaces/stop-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/docker/conflicts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get list of conflicting packages during Docker migration for authenticated-user - * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. - */ - get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/email/visibility": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Set primary email visibility for the authenticated user - * @description Sets the visibility for your primary email addresses. - */ - patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; - trace?: never; - }; - "/user/emails": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List email addresses for the authenticated user - * @description Lists all of your email addresses, and specifies which one is visible - * to the public. - * - * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. - */ - get: operations["users/list-emails-for-authenticated-user"]; - put?: never; - /** - * Add an email address for the authenticated user - * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. - */ - post: operations["users/add-email-for-authenticated-user"]; - /** - * Delete an email address for the authenticated user - * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. - */ - delete: operations["users/delete-email-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/followers": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List followers of the authenticated user - * @description Lists the people following the authenticated user. - */ - get: operations["users/list-followers-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/following": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List the people the authenticated user follows - * @description Lists the people who the authenticated user follows. - */ - get: operations["users/list-followed-by-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/following/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Check if a person is followed by the authenticated user */ - get: operations["users/check-person-is-followed-by-authenticated"]; - /** - * 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/guides/getting-started-with-the-rest-api#http-method)." - * - * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. - */ - put: operations["users/follow"]; - post?: never; - /** - * Unfollow a user - * @description OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. - */ - delete: operations["users/unfollow"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/gpg_keys": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List GPG keys for the authenticated user - * @description Lists the current user's GPG keys. - * - * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. - */ - get: operations["users/list-gpg-keys-for-authenticated-user"]; - put?: never; - /** - * Create a GPG key for the authenticated user - * @description Adds a GPG key to the authenticated user's GitHub account. - * - * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. - */ - post: operations["users/create-gpg-key-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/gpg_keys/{gpg_key_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a GPG key for the authenticated user - * @description View extended details for a single GPG key. - * - * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. - */ - get: operations["users/get-gpg-key-for-authenticated-user"]; - put?: never; - post?: never; - /** - * Delete a GPG key for the authenticated user - * @description Removes a GPG key from the authenticated user's GitHub account. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. - */ - delete: operations["users/delete-gpg-key-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/installations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * 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"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/installations/{installation_id}/repositories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * 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. - * - * 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"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/installations/{installation_id}/repositories/{repository_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * 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. - * - * This endpoint only works for PATs (classic) with the `repo` scope. - */ - put: operations["apps/add-repo-to-installation-for-authenticated-user"]; - post?: never; - /** - * 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. The installation must have the `repository_selection` of `selected`. - * - * This endpoint only works for PATs (classic) with the `repo` scope. - */ - delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/interaction-limits": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - */ - get: operations["interactions/get-restrictions-for-authenticated-user"]; - /** - * 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. - */ - put: operations["interactions/set-restrictions-for-authenticated-user"]; - post?: never; - /** - * Remove interaction restrictions from your public repositories - * @description Removes any interaction restrictions from your public repositories. - */ - delete: operations["interactions/remove-restrictions-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/issues": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List user account issues assigned to the authenticated user - * @description List issues across owned and member repositories assigned to the authenticated user. - * - * > [!NOTE] - * > GitHub's REST API 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/pulls/pulls#list-pull-requests)" endpoint. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - */ - get: operations["issues/list-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/keys": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List public SSH keys for the authenticated user - * @description Lists the public SSH keys for the authenticated user's GitHub account. - * - * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. - */ - get: operations["users/list-public-ssh-keys-for-authenticated-user"]; - put?: never; - /** - * Create a public SSH key for the authenticated user - * @description Adds a public SSH key to the authenticated user's GitHub account. - * - * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. - */ - post: operations["users/create-public-ssh-key-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/keys/{key_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a public SSH key for the authenticated user - * @description View extended details for a single public SSH key. - * - * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. - */ - get: operations["users/get-public-ssh-key-for-authenticated-user"]; - put?: never; - post?: never; - /** - * Delete a public SSH key for the authenticated user - * @description Removes a public SSH key from the authenticated user's GitHub account. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. - */ - delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/marketplace_purchases": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List subscriptions for the authenticated user - * @description Lists the active subscriptions for the authenticated user. - */ - get: operations["apps/list-subscriptions-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/marketplace_purchases/stubbed": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List subscriptions for the authenticated user (stubbed) - * @description Lists the active subscriptions for the authenticated user. - */ - get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/memberships/orgs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List organization memberships for the authenticated user - * @description Lists all of the authenticated user's organization memberships. - */ - get: operations["orgs/list-memberships-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/memberships/orgs/{org}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an organization membership for the authenticated user - * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. - */ - get: operations["orgs/get-membership-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Update an organization membership for the authenticated user - * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. - */ - patch: operations["orgs/update-membership-for-authenticated-user"]; - trace?: never; - }; - "/user/migrations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List user migrations - * @description Lists all migrations a user has started. - */ - get: operations["migrations/list-for-authenticated-user"]; - put?: never; - /** - * Start a user migration - * @description Initiates the generation of a user migration archive. - */ - post: operations["migrations/start-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/migrations/{migration_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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: - * - * * `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/migrations/users#download-a-user-migration-archive). - */ - get: operations["migrations/get-status-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/migrations/{migration_id}/archive": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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: - * - * * 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"]; - put?: never; - post?: never; - /** - * 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/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#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"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/migrations/{migration_id}/repos/{repo_name}/lock": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Unlock a user repository - * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#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/repos/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"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/migrations/{migration_id}/repositories": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repositories for a user migration - * @description Lists all the repositories for this user migration. - */ - get: operations["migrations/list-repos-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/orgs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List organizations for the authenticated user - * @description List organizations for the authenticated user. - * - * For OAuth app tokens and personal access tokens (classic), this endpoint 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 for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will receive a `403 Forbidden` response. - * - * > [!NOTE] - * > Requests using a fine-grained access token will receive a `200 Success` response with an empty list. - */ - get: operations["orgs/list-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/packages": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List packages for the authenticated user's namespace - * @description Lists packages owned by the authenticated user within the user's namespace. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/list-packages-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/packages/{package_type}/{package_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a package for the authenticated user - * @description Gets a specific package for a package owned by the authenticated user. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-for-authenticated-user"]; - put?: never; - post?: never; - /** - * Delete a package for the authenticated user - * @description 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. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - delete: operations["packages/delete-package-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/packages/{package_type}/{package_name}/restore": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Restore a package for the authenticated user - * @description 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. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - post: operations["packages/restore-package-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/packages/{package_type}/{package_name}/versions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List package versions for a package owned by the authenticated user - * @description Lists package versions for a package owned by the authenticated user. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a package version for the authenticated user - * @description Gets a specific package version for a package owned by the authenticated user. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-version-for-authenticated-user"]; - put?: never; - post?: never; - /** - * Delete a package version for the authenticated user - * @description 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. - * - * The authenticated user must have admin permissions in the organization to use this endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - delete: operations["packages/delete-package-version-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Restore a package version for the authenticated user - * @description 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. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - post: operations["packages/restore-package-version-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/projects": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create a user project - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - post: operations["projects/create-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/public_emails": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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/users/emails#set-primary-email-visibility-for-the-authenticated-user) - * endpoint. - * - * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. - */ - get: operations["users/list-public-emails-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/repos": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repositories for the authenticated user - * @description 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"]; - put?: never; - /** - * Create a repository for the authenticated user - * @description Creates a new repository for the authenticated user. - * - * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. - */ - post: operations["repos/create-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/repository_invitations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - */ - get: operations["repos/list-invitations-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/repository_invitations/{invitation_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** Decline a repository invitation */ - delete: operations["repos/decline-invitation-for-authenticated-user"]; - options?: never; - head?: never; - /** Accept a repository invitation */ - patch: operations["repos/accept-invitation-for-authenticated-user"]; - trace?: never; - }; - "/user/social_accounts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List social accounts for the authenticated user - * @description Lists all of your social accounts. - */ - get: operations["users/list-social-accounts-for-authenticated-user"]; - put?: never; - /** - * Add social accounts for the authenticated user - * @description Add one or more social accounts to the authenticated user's profile. - * - * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. - */ - post: operations["users/add-social-account-for-authenticated-user"]; - /** - * Delete social accounts for the authenticated user - * @description Deletes one or more social accounts from the authenticated user's profile. - * - * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. - */ - delete: operations["users/delete-social-account-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/ssh_signing_keys": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List SSH signing keys for the authenticated user - * @description Lists the SSH signing keys for the authenticated user's GitHub account. - * - * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. - */ - get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; - put?: never; - /** - * Create a SSH signing key for the authenticated user - * @description Creates an SSH signing key for the authenticated user's GitHub account. - * - * OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint. - */ - post: operations["users/create-ssh-signing-key-for-authenticated-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/ssh_signing_keys/{ssh_signing_key_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get an SSH signing key for the authenticated user - * @description Gets extended details for an SSH signing key. - * - * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. - */ - get: operations["users/get-ssh-signing-key-for-authenticated-user"]; - put?: never; - post?: never; - /** - * Delete an SSH signing key for the authenticated user - * @description Deletes an SSH signing key from the authenticated user's GitHub account. - * - * OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint. - */ - delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/starred": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repositories starred by the authenticated user - * @description Lists repositories the authenticated user has starred. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. - */ - get: operations["activity/list-repos-starred-by-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/starred/{owner}/{repo}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check if a repository is starred by the authenticated user - * @description Whether the authenticated user has starred the repository. - */ - get: operations["activity/check-repo-is-starred-by-authenticated-user"]; - /** - * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." - */ - put: operations["activity/star-repo-for-authenticated-user"]; - post?: never; - /** - * Unstar a repository for the authenticated user - * @description Unstar a repository that the authenticated user has previously starred. - */ - delete: operations["activity/unstar-repo-for-authenticated-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/subscriptions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repositories watched by the authenticated user - * @description Lists repositories the authenticated user is watching. - */ - get: operations["activity/list-watched-repos-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/teams": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List teams for the authenticated user - * @description List all of the teams across all of the organizations to which the authenticated - * user belongs. - * - * OAuth app tokens and personal access tokens (classic) need the `user`, `repo`, or `read:org` scope to use this endpoint. - * - * When using a fine-grained personal access token, the resource owner of the token must be a single organization, and the response will only include the teams from that organization. - */ - get: operations["teams/list-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/user/{account_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a user using their ID - * @description Provides publicly available information about someone with a GitHub account. This method takes their durable user `ID` instead of their `login`, which can change over time. - * - * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. - * - * 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/guides/getting-started-with-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/users/emails). - */ - get: operations["users/get-by-id"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List users - * @description 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/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. - */ - get: operations["users/list"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a user - * @description Provides publicly available information about someone with a GitHub account. - * - * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. - * - * 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/guides/getting-started-with-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/users/emails). - */ - get: operations["users/get-by-username"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/attestations/bulk-list": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * List attestations by bulk subject digests - * @description List a collection of artifact attestations associated with any entry in a list of subject digests owned by a user. - * - * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. - * - * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). - */ - post: operations["users/list-attestations-bulk"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/attestations/delete-request": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Delete attestations in bulk - * @description Delete artifact attestations in bulk by either subject digests or unique ID. - */ - post: operations["users/delete-attestations-bulk"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/attestations/digest/{subject_digest}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Delete attestations by subject digest - * @description Delete an artifact attestation by subject digest. - */ - delete: operations["users/delete-attestations-by-subject-digest"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/attestations/{attestation_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Delete attestations by ID - * @description Delete an artifact attestation by unique ID that is associated with a repository owned by a user. - */ - delete: operations["users/delete-attestations-by-id"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/attestations/{subject_digest}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List attestations - * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by a user. - * - * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. - * - * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). - */ - get: operations["users/list-attestations"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/docker/conflicts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get list of conflicting packages during Docker migration for user - * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. - */ - get: operations["packages/list-docker-migration-conflicting-packages-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/events": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. _Optional_: use the fine-grained token with following permission set to view private events: "Events" user permissions (read). - * - * > [!NOTE] - * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - get: operations["activity/list-events-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/events/orgs/{org}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 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. - * - * > [!NOTE] - * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - get: operations["activity/list-org-events-for-authenticated-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/events/public": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List public events for a user - * @description > [!NOTE] - * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - get: operations["activity/list-public-events-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/followers": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List followers of a user - * @description Lists the people following the specified user. - */ - get: operations["users/list-followers-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/following": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List the people a user follows - * @description Lists the people who the specified user follows. - */ - get: operations["users/list-following-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/following/{target_user}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Check if a user follows another user */ - get: operations["users/check-following-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/gists": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List gists for a user - * @description Lists public gists for the specified user: - */ - get: operations["gists/list-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/gpg_keys": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List GPG keys for a user - * @description Lists the GPG keys for a user. This information is accessible by anyone. - */ - get: operations["users/list-gpg-keys-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/hovercard": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get contextual information for a user - * @description Provides hovercard information. 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, you would use a `subject_type` value of `repository` and a `subject_id` value of `1300192` (the ID of the `Spoon-Knife` repository). - * - * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. - */ - get: operations["users/get-context-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/installation": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a user installation for the authenticated app - * @description 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"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/keys": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List public keys for a user - * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. - */ - get: operations["users/list-public-keys-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/orgs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List organizations for a user - * @description 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/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. - */ - get: operations["orgs/list-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/packages": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List packages for a user - * @description Lists all packages in a user's namespace for which the requesting user has access. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/list-packages-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/packages/{package_type}/{package_name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a package for a user - * @description Gets a specific package metadata for a public package owned by a user. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-for-user"]; - put?: never; - post?: never; - /** - * Delete a package for a user - * @description 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. - * - * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - delete: operations["packages/delete-package-for-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/packages/{package_type}/{package_name}/restore": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Restore a package for a user - * @description 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. - * - * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - post: operations["packages/restore-package-for-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/packages/{package_type}/{package_name}/versions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List package versions for a package owned by a user - * @description Lists package versions for a public package owned by a specified user. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get a package version for a user - * @description Gets a specific package version for a public package owned by a specified user. - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-version-for-user"]; - put?: never; - post?: never; - /** - * Delete package version for a user - * @description 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. - * - * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - delete: operations["packages/delete-package-version-for-user"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Restore package version for a user - * @description 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. - * - * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - * - * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - post: operations["packages/restore-package-version-for-user"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/projects": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List user projects - * @deprecated - * @description > [!WARNING] - * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. - * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. - */ - get: operations["projects/list-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/received_events": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List events received by the authenticated user - * @description These are events that you've received by watching repositories and following users. If you are authenticated as the - * given user, you will see private events. Otherwise, you'll only see public events. - * - * > [!NOTE] - * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - get: operations["activity/list-received-events-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/received_events/public": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List public events received by a user - * @description > [!NOTE] - * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - get: operations["activity/list-received-public-events-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/repos": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repositories for a user - * @description Lists public repositories for the specified user. - */ - get: operations["repos/list-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/settings/billing/actions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get GitHub Actions billing for a user - * @description 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)". - * - * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. - */ - get: operations["billing/get-github-actions-billing-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/settings/billing/packages": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get GitHub Packages billing for a user - * @description 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)." - * - * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. - */ - get: operations["billing/get-github-packages-billing-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/settings/billing/shared-storage": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get shared storage billing for a user - * @description 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)." - * - * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. - */ - get: operations["billing/get-shared-storage-billing-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/settings/billing/usage": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get billing usage report for a user - * @description Gets a report of the total usage for a user. - * - * **Note:** This endpoint is only available to users with access to the enhanced billing platform. - */ - get: operations["billing/get-github-billing-usage-report-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/social_accounts": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List social accounts for a user - * @description Lists social media accounts for a user. This endpoint is accessible by anyone. - */ - get: operations["users/list-social-accounts-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/ssh_signing_keys": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List SSH signing keys for a user - * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. - */ - get: operations["users/list-ssh-signing-keys-for-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/starred": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repositories starred by a user - * @description Lists repositories a user has starred. - * - * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - * - * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. - */ - get: operations["activity/list-repos-starred-by-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/users/{username}/subscriptions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List repositories watched by a user - * @description Lists repositories a user is watching. - */ - get: operations["activity/list-repos-watched-by-user"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/versions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get all API versions - * @description Get all supported GitHub API versions. - */ - get: operations["meta/get-all-versions"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/zen": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get the Zen of GitHub - * @description Get a random sentence from the Zen of GitHub - */ - get: operations["meta/get-zen"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; -}; -export type webhooks = Record; -export type 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 - * @deprecated - */ - 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; - }; - /** - * @description The package's language or package management ecosystem. - * @enum {string} - */ - "security-advisory-ecosystems": "rubygems" | "npm" | "pip" | "maven" | "nuget" | "composer" | "go" | "rust" | "erlang" | "actions" | "pub" | "other" | "swift"; - /** @description A vulnerability describing the product and its affected versions within a GitHub Security Advisory. */ - vulnerability: { - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name: string | null; - } | null; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range: string | null; - /** @description The package version that resolves the vulnerability. */ - first_patched_version: string | null; - /** @description The functions in the package that are affected by the vulnerability. */ - readonly vulnerable_functions: string[] | null; - }; - "cvss-severities": { - cvss_v3?: { - /** @description The CVSS 3 vector string. */ - vector_string: string | null; - /** @description The CVSS 3 score. */ - readonly score: number | null; - } | null; - cvss_v4?: { - /** @description The CVSS 4 vector string. */ - vector_string: string | null; - /** @description The CVSS 4 score. */ - readonly score: number | null; - } | null; - } | null; - /** @description The EPSS scores as calculated by the [Exploit Prediction Scoring System](https://www.first.org/epss). */ - "security-advisory-epss": { - percentage?: number; - percentile?: number; - } | null; - /** - * Simple User - * @description A GitHub user. - */ - "simple-user": { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** - * Format: int64 - * @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; - /** @example public */ - user_view_type?: string; - }; - /** - * @description The type of credit the user is receiving. - * @enum {string} - */ - "security-advisory-credit-types": "analyst" | "finder" | "reporter" | "coordinator" | "remediation_developer" | "remediation_reviewer" | "remediation_verifier" | "tool" | "sponsor" | "other"; - /** @description A GitHub Security Advisory. */ - "global-advisory": { - /** @description The GitHub Security Advisory ID. */ - readonly ghsa_id: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - readonly cve_id: string | null; - /** @description The API URL for the advisory. */ - readonly url: string; - /** - * Format: uri - * @description The URL for the advisory. - */ - readonly html_url: string; - /** - * Format: uri - * @description The API URL for the repository advisory. - */ - readonly repository_advisory_url: string | null; - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory entails. */ - description: string | null; - /** - * @description The type of advisory. - * @enum {string} - */ - readonly type: "reviewed" | "unreviewed" | "malware"; - /** - * @description The severity of the advisory. - * @enum {string} - */ - severity: "critical" | "high" | "medium" | "low" | "unknown"; - /** - * Format: uri - * @description The URL of the advisory's source code. - */ - source_code_location: string | null; - readonly identifiers: { - /** - * @description The type of identifier. - * @enum {string} - */ - type: "CVE" | "GHSA"; - /** @description The identifier value. */ - value: string; - }[] | null; - references: string[] | null; - /** - * Format: date-time - * @description The date and time of when the advisory was published, in ISO 8601 format. - */ - readonly published_at: string; - /** - * Format: date-time - * @description The date and time of when the advisory was last updated, in ISO 8601 format. - */ - readonly updated_at: string; - /** - * Format: date-time - * @description The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format. - */ - readonly github_reviewed_at: string | null; - /** - * Format: date-time - * @description The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format. - * This field is only populated when the advisory is imported from the National Vulnerability Database. - */ - readonly nvd_published_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. - */ - readonly withdrawn_at: string | null; - /** @description The products and respective version ranges affected by the advisory. */ - vulnerabilities: components["schemas"]["vulnerability"][] | null; - cvss: { - /** @description The CVSS vector. */ - vector_string: string | null; - /** @description The CVSS score. */ - readonly score: number | null; - } | null; - cvss_severities?: components["schemas"]["cvss-severities"]; - epss?: components["schemas"]["security-advisory-epss"]; - cwes: { - /** @description The Common Weakness Enumeration (CWE) identifier. */ - cwe_id: string; - /** @description The name of the CWE. */ - readonly name: string; - }[] | null; - /** @description The users who contributed to the advisory. */ - readonly credits: { - user: components["schemas"]["simple-user"]; - type: components["schemas"]["security-advisory-credit-types"]; - }[] | null; - }; - /** - * 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[]; - }; - /** - * Enterprise - * @description An enterprise on GitHub. - */ - 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; - }; - /** - * 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; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; - owner: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; - /** - * @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. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation. - * @example [ - * "label", - * "deployment" - * ] - */ - events: string[]; - /** - * @description The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself. - * @example 5 - */ - installations_count?: number; - } | null; - /** - * 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": { - /** - * Format: int64 - * @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; - /** - * Format: int64 - * @description The id of the GitHub App installation associated with this event. - * @example 123 - */ - installation_id: number | null; - /** - * Format: int64 - * @description The id of the repository associated with this event. - * @example 123 - */ - repository_id: number | null; - /** - * Format: date-time - * @description Time when the webhook delivery was throttled. - * @example 2021-05-12T20:33:44Z - */ - throttled_at?: string | 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; - /** - * Format: date-time - * @description Time when the webhook delivery was throttled. - * @example 2021-05-12T20:33:44Z - */ - throttled_at?: string | 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; - }; - }; - /** - * Integration Installation Request - * @description Request to install an integration on a target - */ - "integration-installation-request": { - /** - * @description Unique identifier of the request installation. - * @example 42 - */ - id: number; - /** @example MDExOkludGVncmF0aW9uMQ== */ - node_id?: string; - account: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; - requester: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @example 2022-07-08T16:18:44-04:00 - */ - created_at: string; - }; - /** - * App Permissions - * @description The permissions granted to the user 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 to create, edit, delete, and list Codespaces. - * @enum {string} - */ - codespaces?: "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 to manage Dependabot secrets. - * @enum {string} - */ - dependabot_secrets?: "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 view and edit custom properties for a repository, when allowed by the property. - * @enum {string} - */ - repository_custom_properties?: "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 for custom repository roles management. - * @enum {string} - */ - organization_custom_roles?: "read" | "write"; - /** - * @description The level of permission to grant the access token for custom organization roles management. - * @enum {string} - */ - organization_custom_org_roles?: "read" | "write"; - /** - * @description The level of permission to grant the access token for custom property management. - * @enum {string} - */ - organization_custom_properties?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token for managing access to GitHub Copilot for members of an organization with a Copilot Business subscription. This property is in public preview and is subject to change. - * @enum {string} - */ - organization_copilot_seat_management?: "write"; - /** - * @description The level of permission to grant the access token to view and manage announcement banners for an organization. - * @enum {string} - */ - organization_announcement_banners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view events triggered by an activity in an organization. - * @enum {string} - */ - organization_events?: "read"; - /** - * @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 and managing fine-grained personal access token requests to an organization. - * @enum {string} - */ - organization_personal_access_tokens?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. - * @enum {string} - */ - organization_personal_access_token_requests?: "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 public preview (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"; - /** - * @description The level of permission to grant the access token to manage the email addresses belonging to a user. - * @enum {string} - */ - email_addresses?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the followers belonging to a user. - * @enum {string} - */ - followers?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage git SSH keys. - * @enum {string} - */ - git_ssh_keys?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage GPG keys belonging to a user. - * @enum {string} - */ - gpg_keys?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage interaction limits on a repository. - * @enum {string} - */ - interaction_limits?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the profile settings belonging to a user. - * @enum {string} - */ - profile?: "write"; - /** - * @description The level of permission to grant the access token to list and manage repositories a user is starring. - * @enum {string} - */ - starring?: "read" | "write"; - }; - /** - * Simple User - * @description A GitHub user. - */ - "nullable-simple-user": { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** - * Format: int64 - * @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; - /** @example public */ - user_view_type?: string; - } | null; - /** - * Installation - * @description Installation - */ - installation: { - /** - * @description The ID of the installation. - * @example 1 - */ - id: number; - account: (components["schemas"]["simple-user"] | components["schemas"]["enterprise"]) | 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/app/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; - /** @example Iv1.ab1112223334445c */ - client_id?: string; - /** @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 repository on GitHub. - */ - repository: { - /** - * Format: int64 - * @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; - }; - 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; - /** - * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. - * @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; - /** - * @deprecated - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions: 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; - 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; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @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; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required: boolean; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - /** @description The status of the code search index for this repository */ - code_search_index_status?: { - lexical_search_ok?: boolean; - lexical_commit_sha?: 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[]; - }; - /** 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: { - /** Format: int64 */ - 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; - }; - /** - * Simple Classroom Repository - * @description A GitHub repository view for Classroom - */ - "simple-classroom-repository": { - /** - * @description A unique identifier of the repository. - * @example 1296269 - */ - id: number; - /** - * @description The full, globally unique name of the repository. - * @example octocat/Hello-World - */ - full_name: string; - /** - * Format: uri - * @description The URL to view the repository on GitHub.com. - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** - * @description The GraphQL identifier of the repository. - * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 - */ - node_id: string; - /** @description Whether the repository is private. */ - private: boolean; - /** - * @description The default branch for the repository. - * @example main - */ - default_branch: string; - }; - /** - * Organization Simple for Classroom - * @description A GitHub organization. - */ - "simple-classroom-organization": { - /** @example 1 */ - id: number; - /** @example github */ - login: string; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/github - */ - html_url: string; - /** @example Github - Code thigns happen here */ - name: string | null; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - }; - /** - * Classroom - * @description A GitHub Classroom classroom - */ - classroom: { - /** - * @description Unique identifier of the classroom. - * @example 42 - */ - id: number; - /** - * @description The name of the classroom. - * @example Programming Elixir - */ - name: string; - /** - * @description Whether classroom is archived. - * @example false - */ - archived: boolean; - organization: components["schemas"]["simple-classroom-organization"]; - /** - * @description The URL of the classroom on GitHub Classroom. - * @example https://classroom.github.com/classrooms/1-programming-elixir - */ - url: string; - }; - /** - * Classroom Assignment - * @description A GitHub Classroom assignment - */ - "classroom-assignment": { - /** - * @description Unique identifier of the repository. - * @example 42 - */ - id: number; - /** - * @description Whether an accepted assignment creates a public repository. - * @example true - */ - public_repo: boolean; - /** - * @description Assignment title. - * @example Intro to Binaries - */ - title: string; - /** - * @description Whether it's a group assignment or individual assignment. - * @example individual - * @enum {string} - */ - type: "individual" | "group"; - /** - * @description The link that a student can use to accept the assignment. - * @example https://classroom.github.com/a/Lx7jiUgx - */ - invite_link: string; - /** - * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. - * @example true - */ - invitations_enabled: boolean; - /** - * @description Sluggified name of the assignment. - * @example intro-to-binaries - */ - slug: string; - /** - * @description Whether students are admins on created repository when a student accepts the assignment. - * @example true - */ - students_are_repo_admins: boolean; - /** - * @description Whether feedback pull request will be created when a student accepts the assignment. - * @example true - */ - feedback_pull_requests_enabled: boolean; - /** - * @description The maximum allowable teams for the assignment. - * @example 0 - */ - max_teams: number | null; - /** - * @description The maximum allowable members per team. - * @example 0 - */ - max_members: number | null; - /** - * @description The selected editor for the assignment. - * @example codespaces - */ - editor: string; - /** - * @description The number of students that have accepted the assignment. - * @example 25 - */ - accepted: number; - /** - * @description The number of students that have submitted the assignment. - * @example 10 - */ - submitted: number; - /** - * @description The number of students that have passed the assignment. - * @example 10 - */ - passing: number; - /** - * @description The programming language used in the assignment. - * @example elixir - */ - language: string; - /** - * Format: date-time - * @description The time at which the assignment is due. - * @example 2011-01-26T19:06:43Z - */ - deadline: string | null; - starter_code_repository: components["schemas"]["simple-classroom-repository"]; - classroom: components["schemas"]["classroom"]; - }; - /** - * Simple Classroom User - * @description A GitHub user simplified for Classroom. - */ - "simple-classroom-user": { - /** @example 1 */ - id: number; - /** @example octocat */ - login: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - }; - /** - * Simple Classroom - * @description A GitHub Classroom classroom - */ - "simple-classroom": { - /** - * @description Unique identifier of the classroom. - * @example 42 - */ - id: number; - /** - * @description The name of the classroom. - * @example Programming Elixir - */ - name: string; - /** - * @description Returns whether classroom is archived or not. - * @example false - */ - archived: boolean; - /** - * @description The url of the classroom on GitHub Classroom. - * @example https://classroom.github.com/classrooms/1-programming-elixir - */ - url: string; - }; - /** - * Simple Classroom Assignment - * @description A GitHub Classroom assignment - */ - "simple-classroom-assignment": { - /** - * @description Unique identifier of the repository. - * @example 42 - */ - id: number; - /** - * @description Whether an accepted assignment creates a public repository. - * @example true - */ - public_repo: boolean; - /** - * @description Assignment title. - * @example Intro to Binaries - */ - title: string; - /** - * @description Whether it's a Group Assignment or Individual Assignment. - * @example individual - * @enum {string} - */ - type: "individual" | "group"; - /** - * @description The link that a student can use to accept the assignment. - * @example https://classroom.github.com/a/Lx7jiUgx - */ - invite_link: string; - /** - * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. - * @example true - */ - invitations_enabled: boolean; - /** - * @description Sluggified name of the assignment. - * @example intro-to-binaries - */ - slug: string; - /** - * @description Whether students are admins on created repository on accepted assignment. - * @example true - */ - students_are_repo_admins: boolean; - /** - * @description Whether feedback pull request will be created on assignment acceptance. - * @example true - */ - feedback_pull_requests_enabled: boolean; - /** - * @description The maximum allowable teams for the assignment. - * @example 0 - */ - max_teams?: number | null; - /** - * @description The maximum allowable members per team. - * @example 0 - */ - max_members?: number | null; - /** - * @description The selected editor for the assignment. - * @example codespaces - */ - editor: string; - /** - * @description The number of students that have accepted the assignment. - * @example 25 - */ - accepted: number; - /** - * @description The number of students that have submitted the assignment. - * @example 10 - */ - submitted: number; - /** - * @description The number of students that have passed the assignment. - * @example 10 - */ - passing: number; - /** - * @description The programming language used in the assignment. - * @example elixir - */ - language: string; - /** - * Format: date-time - * @description The time at which the assignment is due. - * @example 2011-01-26T19:06:43Z - */ - deadline: string | null; - classroom: components["schemas"]["simple-classroom"]; - }; - /** - * Classroom Accepted Assignment - * @description A GitHub Classroom accepted assignment - */ - "classroom-accepted-assignment": { - /** - * @description Unique identifier of the repository. - * @example 42 - */ - id: number; - /** - * @description Whether an accepted assignment has been submitted. - * @example true - */ - submitted: boolean; - /** - * @description Whether a submission passed. - * @example true - */ - passing: boolean; - /** - * @description Count of student commits. - * @example 5 - */ - commit_count: number; - /** - * @description Most recent grade. - * @example 10/10 - */ - grade: string; - students: components["schemas"]["simple-classroom-user"][]; - repository: components["schemas"]["simple-classroom-repository"]; - assignment: components["schemas"]["simple-classroom-assignment"]; - }; - /** - * Classroom Assignment Grade - * @description Grade for a student or groups GitHub Classroom assignment - */ - "classroom-assignment-grade": { - /** @description Name of the assignment */ - assignment_name: string; - /** @description URL of the assignment */ - assignment_url: string; - /** @description URL of the starter code for the assignment */ - starter_code_url: string; - /** @description GitHub username of the student */ - github_username: string; - /** @description Roster identifier of the student */ - roster_identifier: string; - /** @description Name of the student's assignment repository */ - student_repository_name: string; - /** @description URL of the student's assignment repository */ - student_repository_url: string; - /** @description Timestamp of the student's assignment submission */ - submission_timestamp: string; - /** @description Number of points awarded to the student */ - points_awarded: number; - /** @description Number of points available for the assignment */ - points_available: number; - /** @description If a group assignment, name of the group the student is in */ - group_name?: string; - }; - /** - * 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](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/). - * */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - /** @description A code security configuration */ - "code-security-configuration": { - /** @description The ID of the code security configuration */ - id?: number; - /** @description The name of the code security configuration. Must be unique within the organization. */ - name?: string; - /** - * @description The type of the code security configuration. - * @enum {string} - */ - target_type?: "global" | "organization" | "enterprise"; - /** @description A description of the code security configuration */ - description?: string; - /** - * @description The enablement status of GitHub Advanced Security - * @enum {string} - */ - advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; - /** - * @description The enablement status of Dependency Graph - * @enum {string} - */ - dependency_graph?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Automatic dependency submission - * @enum {string} - */ - dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; - /** @description Feature options for Automatic dependency submission */ - dependency_graph_autosubmit_action_options?: { - /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ - labeled_runners?: boolean; - }; - /** - * @description The enablement status of Dependabot alerts - * @enum {string} - */ - dependabot_alerts?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Dependabot security updates - * @enum {string} - */ - dependabot_security_updates?: "enabled" | "disabled" | "not_set"; - /** @description Feature options for code scanning */ - code_scanning_options?: Record | null; - /** - * @description The enablement status of code scanning default setup - * @enum {string} - */ - code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; - /** @description Feature options for code scanning default setup */ - code_scanning_default_setup_options?: { - /** - * @description Whether to use labeled runners or standard GitHub runners. - * @enum {string|null} - */ - runner_type?: "standard" | "labeled" | "not_set" | null; - /** @description The label of the runner to use for code scanning when runner_type is 'labeled'. */ - runner_label?: string | null; - } | null; - /** - * @description The enablement status of code scanning delegated alert dismissal - * @enum {string} - */ - code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning - * @enum {string} - */ - secret_scanning?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning push protection - * @enum {string} - */ - secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning delegated bypass - * @enum {string} - */ - secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; - /** @description Feature options for secret scanning delegated bypass */ - secret_scanning_delegated_bypass_options?: { - /** @description The bypass reviewers for secret scanning delegated bypass */ - reviewers?: { - /** @description The ID of the team or role selected as a bypass reviewer */ - reviewer_id: number; - /** - * @description The type of the bypass reviewer - * @enum {string} - */ - reviewer_type: "TEAM" | "ROLE"; - }[]; - }; - /** - * @description The enablement status of secret scanning validity checks - * @enum {string} - */ - secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning non-provider patterns - * @enum {string} - */ - secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Copilot secret scanning - * @enum {string} - */ - secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning delegated alert dismissal - * @enum {string} - */ - secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of private vulnerability reporting - * @enum {string} - */ - private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; - /** - * @description The enforcement status for a security configuration - * @enum {string} - */ - enforcement?: "enforced" | "unenforced"; - /** - * Format: uri - * @description The URL of the configuration - */ - url?: string; - /** - * Format: uri - * @description The URL of the configuration - */ - html_url?: string; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - }; - /** @description Feature options for code scanning default setup */ - "code-scanning-default-setup-options": { - /** - * @description Whether to use labeled runners or standard GitHub runners. - * @enum {string} - */ - runner_type?: "standard" | "labeled" | "not_set"; - /** @description The label of the runner to use for code scanning default setup when runner_type is 'labeled'. */ - runner_label?: string | null; - } | null; - /** @description A list of default code security configurations */ - "code-security-default-configurations": { - /** - * @description The visibility of newly created repositories for which the code security configuration will be applied to by default - * @enum {unknown} - */ - default_for_new_repos?: "public" | "private_and_internal" | "all"; - configuration?: components["schemas"]["code-security-configuration"]; - }[]; - /** - * Simple Repository - * @description A GitHub repository. - */ - "simple-repository": { - /** - * Format: int64 - * @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; - }; - /** @description Repositories associated with a code security configuration and attachment status */ - "code-security-configuration-repositories": { - /** - * @description The attachment status of the code security configuration on the repository. - * @enum {string} - */ - status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; - repository?: components["schemas"]["simple-repository"]; - }; - /** @description The security alert number. */ - "alert-number": number; - /** @description Details for the vulnerable package. */ - "dependabot-alert-package": { - /** @description The package's language or package management ecosystem. */ - readonly ecosystem: string; - /** @description The unique package name within its ecosystem. */ - readonly name: string; - }; - /** @description Details pertaining to one vulnerable version range for the advisory. */ - "dependabot-alert-security-vulnerability": { - package: components["schemas"]["dependabot-alert-package"]; - /** - * @description The severity of the vulnerability. - * @enum {string} - */ - readonly severity: "low" | "medium" | "high" | "critical"; - /** @description Conditions that identify vulnerable versions of this vulnerability's package. */ - readonly vulnerable_version_range: string; - /** @description Details pertaining to the package version that patches this vulnerability. */ - readonly first_patched_version: { - /** @description The package version that patches this vulnerability. */ - readonly identifier: string; - } | null; - }; - /** @description Details for the GitHub Security Advisory. */ - "dependabot-alert-security-advisory": { - /** @description The unique GitHub Security Advisory ID assigned to the advisory. */ - readonly ghsa_id: string; - /** @description The unique CVE ID assigned to the advisory. */ - readonly cve_id: string | null; - /** @description A short, plain text summary of the advisory. */ - readonly summary: string; - /** @description A long-form Markdown-supported description of the advisory. */ - readonly description: string; - /** @description Vulnerable version range information for the advisory. */ - readonly vulnerabilities: components["schemas"]["dependabot-alert-security-vulnerability"][]; - /** - * @description The severity of the advisory. - * @enum {string} - */ - readonly severity: "low" | "medium" | "high" | "critical"; - /** @description Details for the advisory pertaining to the Common Vulnerability Scoring System. */ - readonly cvss: { - /** @description The overall CVSS score of the advisory. */ - readonly score: number; - /** @description The full CVSS vector string for the advisory. */ - readonly vector_string: string | null; - }; - cvss_severities?: components["schemas"]["cvss-severities"]; - epss?: components["schemas"]["security-advisory-epss"]; - /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ - readonly cwes: { - /** @description The unique CWE ID. */ - readonly cwe_id: string; - /** @description The short, plain text name of the CWE. */ - readonly name: string; - }[]; - /** @description Values that identify this advisory among security information sources. */ - readonly identifiers: { - /** - * @description The type of advisory identifier. - * @enum {string} - */ - readonly type: "CVE" | "GHSA"; - /** @description The value of the advisory identifer. */ - readonly value: string; - }[]; - /** @description Links to additional advisory information. */ - readonly references: { - /** - * Format: uri - * @description The URL of the reference. - */ - readonly url: string; - }[]; - /** - * Format: date-time - * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly published_at: string; - /** - * Format: date-time - * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly updated_at: string; - /** - * Format: date-time - * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly withdrawn_at: string | null; - }; - /** - * 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: 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: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - "alert-dismissed-at": string | null; - /** - * 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`. - */ - "alert-fixed-at": string | null; - /** - * Format: date-time - * @description The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - "alert-auto-dismissed-at": string | null; - /** @description A Dependabot alert. */ - "dependabot-alert-with-repository": { - number: components["schemas"]["alert-number"]; - /** - * @description The state of the Dependabot alert. - * @enum {string} - */ - readonly state: "auto_dismissed" | "dismissed" | "fixed" | "open"; - /** @description Details for the vulnerable dependency. */ - readonly dependency: { - package?: components["schemas"]["dependabot-alert-package"]; - /** @description The full path to the dependency manifest file, relative to the root of the repository. */ - readonly manifest_path?: string; - /** - * @description The execution scope of the vulnerable dependency. - * @enum {string|null} - */ - readonly scope?: "development" | "runtime" | null; - /** - * @description The vulnerable dependency's relationship to your project. - * - * > [!NOTE] - * > We are rolling out support for dependency relationship across ecosystems. This value will be "unknown" for all dependencies in unsupported ecosystems. - * - * @enum {string|null} - */ - readonly relationship?: "unknown" | "direct" | "transitive" | null; - }; - security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; - security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at: components["schemas"]["alert-updated-at"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - /** - * @description The reason that the alert was dismissed. - * @enum {string|null} - */ - dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | null; - /** @description An optional comment associated with the alert's dismissal. */ - dismissed_comment: string | null; - fixed_at: components["schemas"]["alert-fixed-at"]; - auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; - 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. 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": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | 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; - }; - /** @description Represents a 'wiki_commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository wiki. */ - "secret-scanning-location-wiki-commit": { - /** - * @description The file path of the wiki page - * @example /example/Home.md - */ - 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 8-bit ASCII. */ - start_column: number; - /** @description The column at which the secret ends within the end line when the file is interpreted as 8-bit ASCII. */ - end_column: number; - /** - * @description SHA-1 hash ID of the associated blob - * @example af5626b4a114abcb82d63db7c8082c3c4756e51b - */ - blob_sha: string; - /** - * @description The GitHub URL to get the associated wiki page - * @example https://github.com/octocat/Hello-World/wiki/Home/302c0b7e200761c9dd9b57e57db540ee0b4293a5 - */ - page_url: string; - /** - * @description SHA-1 hash ID of the associated commit - * @example 302c0b7e200761c9dd9b57e57db540ee0b4293a5 - */ - commit_sha: string; - /** - * @description The GitHub URL to get the associated wiki commit - * @example https://github.com/octocat/Hello-World/wiki/_compare/302c0b7e200761c9dd9b57e57db540ee0b4293a5 - */ - commit_url: string; - }; - /** @description Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. */ - "secret-scanning-location-issue-title": { - /** - * Format: uri - * @description The API URL to get the issue where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 - */ - issue_title_url: string; - }; - /** @description Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. */ - "secret-scanning-location-issue-body": { - /** - * Format: uri - * @description The API URL to get the issue where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 - */ - issue_body_url: string; - }; - /** @description Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. */ - "secret-scanning-location-issue-comment": { - /** - * Format: uri - * @description The API URL to get the issue comment where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 - */ - issue_comment_url: string; - }; - /** @description Represents a 'discussion_title' secret scanning location type. This location type shows that a secret was detected in the title of a discussion. */ - "secret-scanning-location-discussion-title": { - /** - * Format: uri - * @description The URL to the discussion where the secret was detected. - * @example https://github.com/community/community/discussions/39082 - */ - discussion_title_url: string; - }; - /** @description Represents a 'discussion_body' secret scanning location type. This location type shows that a secret was detected in the body of a discussion. */ - "secret-scanning-location-discussion-body": { - /** - * Format: uri - * @description The URL to the discussion where the secret was detected. - * @example https://github.com/community/community/discussions/39082#discussion-4566270 - */ - discussion_body_url: string; - }; - /** @description Represents a 'discussion_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a discussion. */ - "secret-scanning-location-discussion-comment": { - /** - * Format: uri - * @description The API URL to get the discussion comment where the secret was detected. - * @example https://github.com/community/community/discussions/39082#discussioncomment-4158232 - */ - discussion_comment_url: string; - }; - /** @description Represents a 'pull_request_title' secret scanning location type. This location type shows that a secret was detected in the title of a pull request. */ - "secret-scanning-location-pull-request-title": { - /** - * Format: uri - * @description The API URL to get the pull request where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846 - */ - pull_request_title_url: string; - }; - /** @description Represents a 'pull_request_body' secret scanning location type. This location type shows that a secret was detected in the body of a pull request. */ - "secret-scanning-location-pull-request-body": { - /** - * Format: uri - * @description The API URL to get the pull request where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846 - */ - pull_request_body_url: string; - }; - /** @description Represents a 'pull_request_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a pull request. */ - "secret-scanning-location-pull-request-comment": { - /** - * Format: uri - * @description The API URL to get the pull request comment where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 - */ - pull_request_comment_url: string; - }; - /** @description Represents a 'pull_request_review' secret scanning location type. This location type shows that a secret was detected in a review on a pull request. */ - "secret-scanning-location-pull-request-review": { - /** - * Format: uri - * @description The API URL to get the pull request review where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846/reviews/80 - */ - pull_request_review_url: string; - }; - /** @description Represents a 'pull_request_review_comment' secret scanning location type. This location type shows that a secret was detected in a review comment on a pull request. */ - "secret-scanning-location-pull-request-review-comment": { - /** - * Format: uri - * @description The API URL to get the pull request review comment where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/12 - */ - pull_request_review_comment_url: string; - }; - /** @description Details on the location where the token was initially detected. This can be a commit, wiki commit, issue, discussion, pull request. - * */ - "nullable-secret-scanning-first-detected-location": (components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]) | 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 "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ - 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; - push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; - /** @description An optional comment when reviewing a push protection bypass. */ - push_protection_bypass_request_reviewer_comment?: string | null; - /** @description An optional comment when requesting a push protection bypass. */ - push_protection_bypass_request_comment?: string | null; - /** - * Format: uri - * @description The URL to a push protection bypass request. - */ - push_protection_bypass_request_html_url?: string | null; - /** @description The comment that was optionally added when this alert was closed */ - resolution_comment?: string | null; - /** - * @description The token status as of the latest validity check. - * @enum {string} - */ - validity?: "active" | "inactive" | "unknown"; - /** @description Whether the secret was publicly leaked. */ - publicly_leaked?: boolean | null; - /** @description Whether the detected secret was found in multiple repositories in the same organization or enterprise. */ - multi_repo?: boolean | null; - /** @description A boolean value representing whether or not alert is base64 encoded */ - is_base64_encoded?: boolean | null; - first_location_detected?: components["schemas"]["nullable-secret-scanning-first-detected-location"]; - /** @description A boolean value representing whether or not the token in the alert was detected in more than one location. */ - has_more_locations?: boolean; - }; - /** - * 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; - /** - * Issue Type - * @description The type of issue. - */ - "issue-type": { - /** @description The unique identifier of the issue type. */ - id: number; - /** @description The node identifier of the issue type. */ - node_id: string; - /** @description The name of the issue type. */ - name: string; - /** @description The description of the issue type. */ - description: string | null; - /** - * @description The color of the issue type. - * @enum {string|null} - */ - color?: "gray" | "blue" | "green" | "yellow" | "orange" | "red" | "pink" | "purple" | null; - /** - * Format: date-time - * @description The time the issue type created. - */ - created_at?: string; - /** - * Format: date-time - * @description The time the issue type last updated. - */ - updated_at?: string; - /** @description The enabled state of the issue type. */ - is_enabled?: boolean; - } | 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; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; - owner: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; - /** - * @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. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation. - * @example [ - * "label", - * "deployment" - * ] - */ - events: string[]; - /** - * @description The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself. - * @example 5 - */ - installations_count?: number; - } | 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; - }; - /** Sub-issues Summary */ - "sub-issues-summary": { - total: number; - completed: number; - percent_completed: number; - }; - /** - * Issue - * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. - */ - issue: { - /** Format: int64 */ - 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 - * @enum {string|null} - */ - state_reason?: "completed" | "reopened" | "not_planned" | "duplicate" | 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; - type?: components["schemas"]["issue-type"]; - repository?: components["schemas"]["repository"]; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - author_association: components["schemas"]["author-association"]; - reactions?: components["schemas"]["reaction-rollup"]; - sub_issues_summary?: components["schemas"]["sub-issues-summary"]; - }; - /** - * Issue Comment - * @description Comments provide a way for people to collaborate on an issue. - */ - "issue-comment": { - /** - * Format: int64 - * @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; - /** - * @description A feed of discussions for a given repository. - * @example https://github.com/{user}/{repo}/discussions - */ - repository_discussions_url?: string; - /** - * @description A feed of discussions for a given repository and category. - * @example https://github.com/{user}/{repo}/discussions/categories/{category} - */ - repository_discussions_category_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"][]; - repository_discussions?: components["schemas"]["link-with-type"]; - repository_discussions_category?: 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; - /** - * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. - * @default utf-8 - */ - encoding: string; - }; - }; - public: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - description: string | null; - comments: number; - comments_enabled?: boolean; - 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; - /** Format: int64 */ - id: number; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - user_view_type: "public"; - 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; - /** Format: email */ - notification_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; - }; - /** @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; - comments_enabled?: boolean; - 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; - /** - * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. - * @default utf-8 - */ - encoding: string; - } | null; - }; - public?: boolean; - created_at?: string; - updated_at?: string; - description?: string | null; - comments?: number; - comments_enabled?: boolean; - 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 - * @enum {string} - */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - /** @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 ABCDEFGHIJKLMNOPQRSTUVWXYZ" - * ] */ - ssh_keys?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - hooks?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - github_enterprise_importer?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - web?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - api?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - git?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - packages?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - pages?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - importer?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - actions?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - actions_macos?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - codespaces?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - dependabot?: string[]; - /** @example [ - * "192.0.2.1" - * ] */ - copilot?: string[]; - domains?: { - website?: string[]; - codespaces?: string[]; - copilot?: string[]; - packages?: string[]; - actions?: string[]; - actions_inbound?: { - full_domains?: string[]; - wildcard_domains?: string[]; - }; - artifact_attestations?: { - /** @example [ - * "example" - * ] */ - trust_domain?: string; - services?: string[]; - }; - }; - }; - "security-and-analysis": { - /** @description Enable or disable GitHub Advanced Security for the repository. - * - * For standalone Code Scanning or Secret Protection products, this parameter cannot be used. - * */ - advanced_security?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - code_security?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - /** @description Enable or disable Dependabot security updates for the repository. */ - dependabot_security_updates?: { - /** - * @description The enablement status of Dependabot security updates for the repository. - * @enum {string} - */ - status?: "enabled" | "disabled"; - }; - secret_scanning?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning_push_protection?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning_non_provider_patterns?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning_ai_detection?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - } | null; - /** - * Minimal Repository - * @description Minimal Repository - */ - "minimal-repository": { - /** - * Format: int64 - * @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; - /** @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. */ - 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; - has_discussions?: 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; - 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; - /** @example false */ - web_commit_signoff_required?: boolean; - security_and_analysis?: components["schemas"]["security-and-analysis"]; - /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - }; - /** - * 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 Simple - * @description A GitHub organization. - */ - "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; - }; - /** - * Simple Repository - * @description A GitHub repository. - */ - "nullable-simple-repository": { - /** - * Format: int64 - * @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; - } | null; - /** - * Dependabot Repository Access Details - * @description Information about repositories that Dependabot is able to access in an organization - */ - "dependabot-repository-access-details": { - /** - * @description The default repository access level for Dependabot updates. - * @example internal - * @enum {string|null} - */ - default_level?: "public" | "internal" | null; - accessible_repositories?: components["schemas"]["nullable-simple-repository"][]; - }; - "billing-usage-report": { - usageItems?: { - /** @description Date of the usage line item. */ - date: string; - /** @description Product name. */ - product: string; - /** @description SKU name. */ - sku: string; - /** @description Quantity of the usage line item. */ - quantity: number; - /** @description Unit type of the usage line item. */ - unitType: string; - /** @description Price per unit of the usage line item. */ - pricePerUnit: number; - /** @description Gross amount of the usage line item. */ - grossAmount: number; - /** @description Discount amount of the usage line item. */ - discountAmount: number; - /** @description Net amount of the usage line item. */ - netAmount: number; - /** @description Name of the organization. */ - organizationName: string; - /** @description Name of the repository. */ - repositoryName?: 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; - /** @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; - /** - * @description The number of collaborators on private repositories. - * - * This field may be null if the number of private repositories is over 50,000. - * @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; - /** - * @description The default branch for repositories created in this organization. - * @example main - */ - default_repository_branch?: 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 true */ - members_can_delete_repositories?: boolean; - /** @example true */ - members_can_change_repo_visibility?: boolean; - /** @example true */ - members_can_invite_outside_collaborators?: boolean; - /** @example true */ - members_can_delete_issues?: boolean; - /** @example true */ - display_commenter_full_name_setting_enabled?: boolean; - /** @example true */ - readers_can_create_discussions?: boolean; - /** @example true */ - members_can_create_teams?: boolean; - /** @example true */ - members_can_view_dependency_insights?: boolean; - /** @example false */ - members_can_fork_private_repositories?: boolean | null; - /** @example false */ - web_commit_signoff_required?: boolean; - /** - * @deprecated - * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - * - * Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - advanced_security_enabled_for_new_repositories?: boolean; - /** - * @deprecated - * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - * - * Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - dependabot_alerts_enabled_for_new_repositories?: boolean; - /** - * @deprecated - * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - * - * Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - dependabot_security_updates_enabled_for_new_repositories?: boolean; - /** - * @deprecated - * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - * - * Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - dependency_graph_enabled_for_new_repositories?: boolean; - /** - * @deprecated - * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - * - * Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - secret_scanning_enabled_for_new_repositories?: boolean; - /** - * @deprecated - * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - * - * Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - secret_scanning_push_protection_enabled_for_new_repositories?: boolean; - /** - * @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. - * @example false - */ - secret_scanning_push_protection_custom_link_enabled?: boolean; - /** - * @description An optional URL string to display to contributors who are blocked from pushing a secret. - * @example https://github.com/test-org/test-repo/blob/main/README.md - */ - secret_scanning_push_protection_custom_link?: string | null; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - archived_at: string | null; - /** - * @description Controls whether or not deploy keys may be added and used for repositories in the organization. - * @example false - */ - deploy_keys_enabled_for_repositories?: boolean; - }; - "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 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; - }; - /** - * GitHub-hosted runner image details. - * @description Provides details of a hosted runner image - */ - "nullable-actions-hosted-runner-pool-image": { - /** - * @description The ID of the image. Use this ID for the `image` parameter when creating a new larger runner. - * @example ubuntu-20.04 - */ - id: string; - /** - * @description Image size in GB. - * @example 86 - */ - size_gb: number; - /** - * @description Display name for this image. - * @example 20.04 - */ - display_name: string; - /** - * @description The image provider. - * @enum {string} - */ - source: "github" | "partner" | "custom"; - } | null; - /** - * Github-owned VM details. - * @description Provides details of a particular machine spec. - */ - "actions-hosted-runner-machine-spec": { - /** - * @description The ID used for the `size` parameter when creating a new runner. - * @example 8-core - */ - id: string; - /** - * @description The number of cores. - * @example 8 - */ - cpu_cores: number; - /** - * @description The available RAM for the machine spec. - * @example 32 - */ - memory_gb: number; - /** - * @description The available SSD storage for the machine spec. - * @example 300 - */ - storage_gb: number; - }; - /** - * Public IP for a GitHub-hosted larger runners. - * @description Provides details of Public IP for a GitHub-hosted larger runners - */ - "public-ip": { - /** - * @description Whether public IP is enabled. - * @example true - */ - enabled?: boolean; - /** - * @description The prefix for the public IP. - * @example 20.80.208.150 - */ - prefix?: string; - /** - * @description The length of the IP prefix. - * @example 28 - */ - length?: number; - }; - /** - * GitHub-hosted hosted runner - * @description A Github-hosted hosted runner. - */ - "actions-hosted-runner": { - /** - * @description The unique identifier of the hosted runner. - * @example 5 - */ - id: number; - /** - * @description The name of the hosted runner. - * @example my-github-hosted-runner - */ - name: string; - /** - * @description The unique identifier of the group that the hosted runner belongs to. - * @example 2 - */ - runner_group_id?: number; - image_details: components["schemas"]["nullable-actions-hosted-runner-pool-image"]; - machine_size_details: components["schemas"]["actions-hosted-runner-machine-spec"]; - /** - * @description The status of the runner. - * @example Ready - * @enum {string} - */ - status: "Ready" | "Provisioning" | "Shutdown" | "Deleting" | "Stuck"; - /** - * @description The operating system of the image. - * @example linux-x64 - */ - platform: string; - /** - * @description The maximum amount of hosted runners. Runners will not scale automatically above this number. Use this setting to limit your cost. - * @default 10 - * @example 5 - */ - maximum_runners: number; - /** - * @description Whether public IP is enabled for the hosted runners. - * @example true - */ - public_ip_enabled: boolean; - /** @description The public IP ranges when public IP is enabled for the hosted runners. */ - public_ips?: components["schemas"]["public-ip"][]; - /** - * Format: date-time - * @description The time at which the runner was last used, in ISO 8601 format. - * @example 2022-10-09T23:39:01Z - */ - last_active_on?: string | null; - }; - /** - * GitHub-hosted runner image details. - * @description Provides details of a hosted runner image - */ - "actions-hosted-runner-image": { - /** - * @description The ID of the image. Use this ID for the `image` parameter when creating a new larger runner. - * @example ubuntu-20.04 - */ - id: string; - /** - * @description The operating system of the image. - * @example linux-x64 - */ - platform: string; - /** - * @description Image size in GB. - * @example 86 - */ - size_gb: number; - /** - * @description Display name for this image. - * @example 20.04 - */ - display_name: string; - /** - * @description The image provider. - * @enum {string} - */ - source: "github" | "partner" | "custom"; - }; - "actions-hosted-runner-limits": { - /** - * Static public IP Limits for GitHub-hosted Hosted Runners. - * @description Provides details of static public IP limits for GitHub-hosted Hosted Runners - */ - public_ips: { - /** - * @description The maximum number of static public IP addresses that can be used for Hosted Runners. - * @example 50 - */ - maximum: number; - /** - * @description The current number of static public IP addresses in use by Hosted Runners. - * @example 17 - */ - current_usage: number; - }; - }; - /** - * Actions OIDC Subject customization - * @description Actions OIDC Subject customization - */ - "oidc-custom-sub": { - /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ - include_claim_keys: string[]; - }; - /** - * Empty Object - * @description An object without any properties. - */ - "empty-object": Record; - /** - * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. - * @enum {string} - */ - "enabled-repositories": "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-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"]; - }; - "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/*`. - * - * > [!NOTE] - * > The `patterns_allowed` setting only applies to public repositories. */ - 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-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; - hosted_runners_url?: string; - /** @description The identifier of a hosted compute network configuration. */ - network_configuration_id?: 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[]; - }; - /** - * 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 ID of the runner group. - * @example 1 - */ - runner_group_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"][]; - ephemeral?: boolean; - }; - /** - * 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?: Record; - /** @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"; - }; - /** - * 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; - }; - /** - * Actions Variable for an Organization - * @description Organization variable for GitHub Actions. - */ - "organization-actions-variable": { - /** - * @description The name of the variable. - * @example USERNAME - */ - name: string; - /** - * @description The value of the variable. - * @example octocat - */ - value: string; - /** - * Format: date-time - * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - * @example 2019-01-24T22:45:36.000Z - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - * @example 2019-01-24T22:45:36.000Z - */ - updated_at: string; - /** - * @description Visibility of a variable - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @example https://api.github.com/organizations/org/variables/USERNAME/repositories - */ - selected_repositories_url?: string; - }; - /** - * Campaign state - * @description Indicates whether a campaign is open or closed - * @enum {string} - */ - "campaign-state": "open" | "closed"; - /** - * 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; - /** - * @description The notification setting the team has set - * @example notifications_enabled - */ - notification_setting?: 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; - notification_setting?: 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"]; - }; - /** - * Campaign summary - * @description The campaign metadata and alert stats. - */ - "campaign-summary": { - /** @description The number of the newly created campaign */ - number: number; - /** - * Format: date-time - * @description The date and time the campaign was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time the campaign was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** @description The campaign name */ - name?: string; - /** @description The campaign description */ - description: string; - /** @description The campaign managers */ - managers: components["schemas"]["simple-user"][]; - /** @description The campaign team managers */ - team_managers?: components["schemas"]["team"][]; - /** - * Format: date-time - * @description The date and time the campaign was published, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - published_at?: string; - /** - * Format: date-time - * @description The date and time the campaign has ended, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - ends_at: string; - /** - * Format: date-time - * @description The date and time the campaign was closed, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. Will be null if the campaign is still open. - */ - closed_at?: string | null; - state: components["schemas"]["campaign-state"]; - /** - * Format: uri - * @description The contact link of the campaign. - */ - contact_link: string | null; - alert_stats?: { - /** @description The number of open alerts */ - open_count: number; - /** @description The number of closed alerts */ - closed_count: number; - /** @description The number of in-progress alerts */ - in_progress_count: number; - }; - }; - /** @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-query": "open" | "closed" | "dismissed" | "fixed"; - /** - * @description Severity of a code scanning alert. - * @enum {string} - */ - "code-scanning-alert-severity": "critical" | "high" | "medium" | "low" | "warning" | "note" | "error"; - /** - * Format: uri - * @description The REST API URL for fetching the list of instances for an alert. - */ - "alert-instances-url": string; - /** - * @description State of a code scanning alert. - * @enum {string|null} - */ - "code-scanning-alert-state": "open" | "dismissed" | "fixed" | null; - /** - * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. - * @enum {string|null} - */ - "code-scanning-alert-dismissed-reason": "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-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 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 A 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 A link to the documentation for the rule used to detect the alert. */ - help_uri?: 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 Git reference, formatted as `refs/pull//merge`, `refs/pull//head`, - * `refs/heads/` or simply ``. */ - "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"][]; - }; - "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"]["alert-fixed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - dismissed_at: components["schemas"]["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"]; - repository: components["schemas"]["simple-repository"]; - dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; - }; - /** - * 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, 16 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 17179869184 - */ - 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: { - /** - * Format: int64 - * @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 initally assigned location of a new codespace. - * @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 to publish this codespace to a new repository. - */ - publish_url?: string | null; - /** - * 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; - /** - * @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). - * @example 60 - */ - retention_period_minutes?: number | null; - /** - * Format: date-time - * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" - * @example 2011-01-26T20:01:12Z - */ - retention_expires_at?: string | null; - /** - * @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. - * @example you've used 100% of your spending limit for Codespaces - */ - last_known_stop_notice?: string | null; - }; - /** - * Codespaces Secret - * @description Secrets for a GitHub Codespace. - */ - "codespaces-org-secret": { - /** - * @description The name of the secret - * @example SECRET_NAME - */ - name: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * @description The type of repositories in the organization that the secret is visible to - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @description The API URL at which the list of repositories this secret is visible to can be retrieved - * @example https://api.github.com/orgs/ORGANIZATION/codespaces/secrets/SECRET_NAME/repositories - */ - selected_repositories_url?: 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; - }; - /** - * Copilot Seat Breakdown - * @description The breakdown of Copilot Business seats for the organization. - */ - "copilot-organization-seat-breakdown": { - /** @description The total number of seats being billed for the organization as of the current billing cycle. */ - total?: number; - /** @description Seats added during the current billing cycle. */ - added_this_cycle?: number; - /** @description The number of seats that are pending cancellation at the end of the current billing cycle. */ - pending_cancellation?: number; - /** @description The number of users who have been invited to receive a Copilot seat through this organization. */ - pending_invitation?: number; - /** @description The number of seats that have used Copilot during the current billing cycle. */ - active_this_cycle?: number; - /** @description The number of seats that have not used Copilot during the current billing cycle. */ - inactive_this_cycle?: number; - }; - /** - * Copilot Organization Details - * @description Information about the seat breakdown and policies set for an organization with a Copilot Business or Copilot Enterprise subscription. - */ - "copilot-organization-details": { - seat_breakdown: components["schemas"]["copilot-organization-seat-breakdown"]; - /** - * @description The organization policy for allowing or blocking suggestions matching public code (duplication detection filter). - * @enum {string} - */ - public_code_suggestions: "allow" | "block" | "unconfigured"; - /** - * @description The organization policy for allowing or disallowing Copilot Chat in the IDE. - * @enum {string} - */ - ide_chat?: "enabled" | "disabled" | "unconfigured"; - /** - * @description The organization policy for allowing or disallowing Copilot features on GitHub.com. - * @enum {string} - */ - platform_chat?: "enabled" | "disabled" | "unconfigured"; - /** - * @description The organization policy for allowing or disallowing Copilot in the CLI. - * @enum {string} - */ - cli?: "enabled" | "disabled" | "unconfigured"; - /** - * @description The mode of assigning new seats. - * @enum {string} - */ - seat_management_setting: "assign_all" | "assign_selected" | "disabled" | "unconfigured"; - /** - * @description The Copilot plan of the organization, or the parent enterprise, when applicable. - * @enum {string} - */ - plan_type?: "business" | "enterprise"; - } & { - [key: string]: unknown; - }; - /** - * Organization Simple - * @description A GitHub organization. - */ - "nullable-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; - } | null; - /** - * Enterprise Team - * @description Group of enterprise owners and/or members - */ - "enterprise-team": { - /** Format: int64 */ - id: number; - name: string; - description?: string; - slug: string; - /** Format: uri */ - url: string; - /** @example disabled | all */ - sync_to_organizations?: string; - /** @example disabled | all */ - organization_selection_type?: string; - /** @example 62ab9291-fae2-468e-974b-7e45096d5021 */ - group_id?: string | null; - /** @example Justice League */ - group_name?: string | null; - /** - * Format: uri - * @example https://github.com/enterprises/dc/teams/justice-league - */ - html_url: string; - members_url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Copilot Business Seat Detail - * @description Information about a Copilot Business seat assignment for a user, team, or organization. - */ - "copilot-seat-details": { - assignee?: components["schemas"]["nullable-simple-user"]; - organization?: components["schemas"]["nullable-organization-simple"]; - /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ - assigning_team?: (components["schemas"]["team"] | components["schemas"]["enterprise-team"]) | null; - /** - * Format: date - * @description The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle. - */ - pending_cancellation_date?: string | null; - /** - * Format: date-time - * @description Timestamp of user's last GitHub Copilot activity, in ISO 8601 format. - */ - last_activity_at?: string | null; - /** @description Last editor that was used by the user for a GitHub Copilot completion. */ - last_activity_editor?: string | null; - /** - * Format: date-time - * @description Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format. - */ - created_at: string; - /** - * Format: date-time - * @deprecated - * @description **Closing down notice:** This field is no longer relevant and is closing down. Use the `created_at` field to determine when the assignee was last granted access to GitHub Copilot. Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format. - */ - updated_at?: string; - /** - * @description The Copilot plan of the organization, or the parent enterprise, when applicable. - * @enum {string} - */ - plan_type?: "business" | "enterprise" | "unknown"; - }; - /** @description Usage metrics for Copilot editor code completions in the IDE. */ - "copilot-ide-code-completions": ({ - /** @description Number of users who accepted at least one Copilot code suggestion, across all active editors. Includes both full and partial acceptances. */ - total_engaged_users?: number; - /** @description Code completion metrics for active languages. */ - languages?: { - /** @description Name of the language used for Copilot code completion suggestions. */ - name?: string; - /** @description Number of users who accepted at least one Copilot code completion suggestion for the given language. Includes both full and partial acceptances. */ - total_engaged_users?: number; - }[]; - editors?: ({ - /** @description Name of the given editor. */ - name?: string; - /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor. Includes both full and partial acceptances. */ - total_engaged_users?: number; - /** @description List of model metrics for custom models and the default model. */ - models?: { - /** @description Name of the model used for Copilot code completion suggestions. If the default model is used will appear as 'default'. */ - name?: string; - /** @description Indicates whether a model is custom or default. */ - is_custom_model?: boolean; - /** @description The training date for the custom model. */ - custom_model_training_date?: string | null; - /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor, for the given language and model. Includes both full and partial acceptances. */ - total_engaged_users?: number; - /** @description Code completion metrics for active languages, for the given editor. */ - languages?: { - /** @description Name of the language used for Copilot code completion suggestions, for the given editor. */ - name?: string; - /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor, for the given language. Includes both full and partial acceptances. */ - total_engaged_users?: number; - /** @description The number of Copilot code suggestions generated for the given editor, for the given language. */ - total_code_suggestions?: number; - /** @description The number of Copilot code suggestions accepted for the given editor, for the given language. Includes both full and partial acceptances. */ - total_code_acceptances?: number; - /** @description The number of lines of code suggested by Copilot code completions for the given editor, for the given language. */ - total_code_lines_suggested?: number; - /** @description The number of lines of code accepted from Copilot code suggestions for the given editor, for the given language. */ - total_code_lines_accepted?: number; - }[]; - }[]; - } & { - [key: string]: unknown; - })[]; - } & { - [key: string]: unknown; - }) | null; - /** @description Usage metrics for Copilot Chat in the IDE. */ - "copilot-ide-chat": ({ - /** @description Total number of users who prompted Copilot Chat in the IDE. */ - total_engaged_users?: number; - editors?: { - /** @description Name of the given editor. */ - name?: string; - /** @description The number of users who prompted Copilot Chat in the specified editor. */ - total_engaged_users?: number; - /** @description List of model metrics for custom models and the default model. */ - models?: { - /** @description Name of the model used for Copilot Chat. If the default model is used will appear as 'default'. */ - name?: string; - /** @description Indicates whether a model is custom or default. */ - is_custom_model?: boolean; - /** @description The training date for the custom model. */ - custom_model_training_date?: string | null; - /** @description The number of users who prompted Copilot Chat in the given editor and model. */ - total_engaged_users?: number; - /** @description The total number of chats initiated by users in the given editor and model. */ - total_chats?: number; - /** @description The number of times users accepted a code suggestion from Copilot Chat using the 'Insert Code' UI element, for the given editor. */ - total_chat_insertion_events?: number; - /** @description The number of times users copied a code suggestion from Copilot Chat using the keyboard, or the 'Copy' UI element, for the given editor. */ - total_chat_copy_events?: number; - }[]; - }[]; - } & { - [key: string]: unknown; - }) | null; - /** @description Usage metrics for Copilot Chat in GitHub.com */ - "copilot-dotcom-chat": ({ - /** @description Total number of users who prompted Copilot Chat on github.com at least once. */ - total_engaged_users?: number; - /** @description List of model metrics for a custom models and the default model. */ - models?: { - /** @description Name of the model used for Copilot Chat. If the default model is used will appear as 'default'. */ - name?: string; - /** @description Indicates whether a model is custom or default. */ - is_custom_model?: boolean; - /** @description The training date for the custom model (if applicable). */ - custom_model_training_date?: string | null; - /** @description Total number of users who prompted Copilot Chat on github.com at least once for each model. */ - total_engaged_users?: number; - /** @description Total number of chats initiated by users on github.com. */ - total_chats?: number; - }[]; - } & { - [key: string]: unknown; - }) | null; - /** @description Usage metrics for Copilot for pull requests. */ - "copilot-dotcom-pull-requests": ({ - /** @description The number of users who used Copilot for Pull Requests on github.com to generate a pull request summary at least once. */ - total_engaged_users?: number; - /** @description Repositories in which users used Copilot for Pull Requests to generate pull request summaries */ - repositories?: { - /** @description Repository name */ - name?: string; - /** @description The number of users who generated pull request summaries using Copilot for Pull Requests in the given repository. */ - total_engaged_users?: number; - /** @description List of model metrics for custom models and the default model. */ - models?: { - /** @description Name of the model used for Copilot pull request summaries. If the default model is used will appear as 'default'. */ - name?: string; - /** @description Indicates whether a model is custom or default. */ - is_custom_model?: boolean; - /** @description The training date for the custom model. */ - custom_model_training_date?: string | null; - /** @description The number of pull request summaries generated using Copilot for Pull Requests in the given repository. */ - total_pr_summaries_created?: number; - /** @description The number of users who generated pull request summaries using Copilot for Pull Requests in the given repository and model. */ - total_engaged_users?: number; - }[]; - }[]; - } & { - [key: string]: unknown; - }) | null; - /** - * Copilot Usage Metrics - * @description Copilot usage metrics for a given day. - */ - "copilot-usage-metrics-day": { - /** - * Format: date - * @description The date for which the usage metrics are aggregated, in `YYYY-MM-DD` format. - */ - date: string; - /** @description The total number of Copilot users with activity belonging to any Copilot feature, globally, for the given day. Includes passive activity such as receiving a code suggestion, as well as engagement activity such as accepting a code suggestion or prompting chat. Does not include authentication events. Is not limited to the individual features detailed on the endpoint. */ - total_active_users?: number; - /** @description The total number of Copilot users who engaged with any Copilot feature, for the given day. Examples include but are not limited to accepting a code suggestion, prompting Copilot chat, or triggering a PR Summary. Does not include authentication events. Is not limited to the individual features detailed on the endpoint. */ - total_engaged_users?: number; - copilot_ide_code_completions?: components["schemas"]["copilot-ide-code-completions"]; - copilot_ide_chat?: components["schemas"]["copilot-ide-chat"]; - copilot_dotcom_chat?: components["schemas"]["copilot-dotcom-chat"]; - copilot_dotcom_pull_requests?: components["schemas"]["copilot-dotcom-pull-requests"]; - } & { - [key: string]: unknown; - }; - /** - * 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; - }; - /** - * Minimal Repository - * @description Minimal Repository - */ - "nullable-minimal-repository": { - /** - * Format: int64 - * @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; - /** @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. */ - 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; - has_discussions?: 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; - 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; - /** @example false */ - web_commit_signoff_required?: boolean; - security_and_analysis?: components["schemas"]["security-and-analysis"]; - /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - } | 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; - }; - /** - * Organization Invitation - * @description Organization Invitation - */ - "organization-invitation": { - /** Format: int64 */ - 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; - /** @example "member" */ - invitation_source?: 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; - }; - /** - * Route Stats - * @description API Insights usage route stats for an actor - */ - "api-insights-route-stats": { - /** @description The HTTP method */ - http_method?: string; - /** @description The API path's route template */ - api_route?: string; - /** - * Format: int64 - * @description The total number of requests within the queried time period - */ - total_request_count?: number; - /** - * Format: int64 - * @description The total number of requests that were rate limited within the queried time period - */ - rate_limited_request_count?: number; - last_rate_limited_timestamp?: string | null; - last_request_timestamp?: string; - }[]; - /** - * Subject Stats - * @description API Insights usage subject stats for an organization - */ - "api-insights-subject-stats": { - subject_type?: string; - subject_name?: string; - /** Format: int64 */ - subject_id?: number; - total_request_count?: number; - rate_limited_request_count?: number; - last_rate_limited_timestamp?: string | null; - last_request_timestamp?: string; - }[]; - /** - * Summary Stats - * @description API Insights usage summary stats for an organization - */ - "api-insights-summary-stats": { - /** - * Format: int64 - * @description The total number of requests within the queried time period - */ - total_request_count?: number; - /** - * Format: int64 - * @description The total number of requests that were rate limited within the queried time period - */ - rate_limited_request_count?: number; - }; - /** - * Time Stats - * @description API Insights usage time stats for an organization - */ - "api-insights-time-stats": { - timestamp?: string; - /** Format: int64 */ - total_request_count?: number; - /** Format: int64 */ - rate_limited_request_count?: number; - }[]; - /** - * User Stats - * @description API Insights usage stats for a user - */ - "api-insights-user-stats": { - actor_type?: string; - actor_name?: string; - /** Format: int64 */ - actor_id?: number; - /** Format: int64 */ - integration_id?: number | null; - /** Format: int64 */ - oauth_application_id?: number | null; - total_request_count?: number; - rate_limited_request_count?: number; - last_rate_limited_timestamp?: string | null; - last_request_timestamp?: 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"]; - }; - "organization-create-issue-type": { - /** @description Name of the issue type. */ - name: string; - /** @description Whether or not the issue type is enabled at the organization level. */ - is_enabled: boolean; - /** @description Description of the issue type. */ - description?: string | null; - /** - * @description Color for the issue type. - * @enum {string|null} - */ - color?: "gray" | "blue" | "green" | "yellow" | "orange" | "red" | "pink" | "purple" | null; - }; - "organization-update-issue-type": { - /** @description Name of the issue type. */ - name: string; - /** @description Whether or not the issue type is enabled at the organization level. */ - is_enabled: boolean; - /** @description Description of the issue type. */ - description?: string | null; - /** - * @description Color for the issue type. - * @enum {string|null} - */ - color?: "gray" | "blue" | "green" | "yellow" | "orange" | "red" | "pink" | "purple" | null; - }; - /** - * 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"; - /** - * @description Whether the user has direct membership in the organization. - * @example true - */ - direct_membership?: boolean; - /** - * @description The slugs of the enterprise teams providing the user with indirect membership in the organization. - * A limit of 100 enterprise team slugs is returned. - * @example [ - * "ent:team-one", - * "ent:team-two" - * ] - */ - enterprise_teams_providing_indirect_membership?: string[]; - /** - * 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: { - /** - * Format: int64 - * @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; - /** @description The repositories included in the migration. Only returned for export migrations. */ - 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; - /** @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?: string[]; - }; - /** - * Organization Role - * @description Organization roles - */ - "organization-role": { - /** - * Format: int64 - * @description The unique identifier of the role. - */ - id: number; - /** @description The name of the role. */ - name: string; - /** @description A short description about who this role is for or what permissions it grants. */ - description?: string | null; - /** - * @description The system role from which this role inherits permissions. - * @enum {string|null} - */ - base_role?: "read" | "triage" | "write" | "maintain" | "admin" | null; - /** - * @description Source answers the question, "where did this role come from?" - * @enum {string|null} - */ - source?: "Organization" | "Enterprise" | "Predefined" | null; - /** @description A list of permissions included in this role. */ - permissions: string[]; - organization: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @description The date and time the role was created. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time the role was last updated. - */ - updated_at: string; - }; - /** - * A Role Assignment for a Team - * @description The Relationship a Team has with a role. - */ - "team-role-assignment": { - /** - * @description Determines if the team has a direct, indirect, or mixed relationship to a role - * @example direct - * @enum {string} - */ - assignment?: "direct" | "indirect" | "mixed"; - id: number; - node_id: string; - name: string; - slug: string; - description: string | null; - privacy?: string; - notification_setting?: 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"]; - }; - /** - * 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; - /** - * @description The notification setting the team has set - * @example notifications_enabled - */ - notification_setting?: 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; - }; - /** - * A Role Assignment for a User - * @description The Relationship a User has with a role. - */ - "user-role-assignment": { - /** - * @description Determines if the user has a direct, indirect, or mixed relationship to a role - * @example direct - * @enum {string} - */ - assignment?: "direct" | "indirect" | "mixed"; - /** @description Team the user has gotten the role through */ - inherited_from?: components["schemas"]["team-simple"][]; - 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; - /** @example public */ - user_view_type?: 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[]; - }; - }; - }; - /** - * Simple Organization Programmatic Access Grant Request - * @description Minimal representation of an organization programmatic access grant request for enumerations - */ - "organization-programmatic-access-grant-request": { - /** @description Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests. */ - id: number; - /** @description Reason for requesting access. */ - reason: string | null; - owner: components["schemas"]["simple-user"]; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`. */ - repositories_url: string; - /** @description Permissions requested, categorized by type of permission. */ - permissions: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Date and time when the request for access was created. */ - created_at: string; - /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ - token_id: number; - /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ - token_name: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** - * Organization Programmatic Access Grant - * @description Minimal representation of an organization programmatic access grant for enumerations - */ - "organization-programmatic-access-grant": { - /** @description Unique identifier of the fine-grained personal access token grant. The `pat_id` used to get details about an approved fine-grained personal access token. */ - id: number; - owner: components["schemas"]["simple-user"]; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. */ - repositories_url: string; - /** @description Permissions requested, categorized by type of permission. */ - permissions: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ - access_granted_at: string; - /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ - token_id: number; - /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ - token_name: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** - * Organization private registry - * @description Private registry configuration for an organization - */ - "org-private-registry-configuration": { - /** - * @description The name of the private registry configuration. - * @example MAVEN_REPOSITORY_SECRET - */ - name: string; - /** - * @description The registry type. - * @enum {string} - */ - registry_type: "maven_repository" | "nuget_feed" | "goproxy_server" | "npm_registry" | "rubygems_server" | "cargo_registry" | "composer_repository" | "docker_registry" | "git_source" | "helm_registry"; - /** - * @description The username to use when authenticating with the private registry. - * @example monalisa - */ - username?: string | null; - /** - * @description Which type of organization repositories have access to the private registry. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Organization private registry - * @description Private registry configuration for an organization - */ - "org-private-registry-configuration-with-selected-repositories": { - /** - * @description The name of the private registry configuration. - * @example MAVEN_REPOSITORY_SECRET - */ - name: string; - /** - * @description The registry type. - * @enum {string} - */ - registry_type: "maven_repository" | "nuget_feed" | "goproxy_server" | "npm_registry" | "rubygems_server" | "cargo_registry" | "composer_repository" | "docker_registry" | "git_source" | "helm_registry"; - /** - * @description The username to use when authenticating with the private registry. - * @example monalisa - */ - username?: string; - /** - * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository IDs that can access the organization private registry when `visibility` is set to `selected`. */ - selected_repository_ids?: number[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * 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; - }; - /** - * Organization Custom Property - * @description Custom property defined on an organization - */ - "custom-property": { - /** @description The name of the property */ - property_name: string; - /** - * Format: uri - * @description The URL that can be used to fetch, update, or delete info about this property via the API. - */ - url?: string; - /** - * @description The source type of the property - * @example organization - * @enum {string} - */ - source_type?: "organization" | "enterprise"; - /** - * @description The type of the value for the property - * @example single_select - * @enum {string} - */ - value_type: "string" | "single_select" | "multi_select" | "true_false"; - /** @description Whether the property is required. */ - required?: boolean; - /** @description Default value of the property */ - default_value?: (string | string[]) | null; - /** @description Short description of the property */ - description?: string | null; - /** @description An ordered list of the allowed values of the property. - * The property can have up to 200 allowed values. */ - allowed_values?: string[] | null; - /** - * @description Who can edit the values of the property - * @example org_actors - * @enum {string|null} - */ - values_editable_by?: "org_actors" | "org_and_repo_actors" | null; - }; - /** - * Custom Property Set Payload - * @description Custom property set payload - */ - "custom-property-set-payload": { - /** - * @description The type of the value for the property - * @example single_select - * @enum {string} - */ - value_type: "string" | "single_select" | "multi_select" | "true_false"; - /** @description Whether the property is required. */ - required?: boolean; - /** @description Default value of the property */ - default_value?: (string | string[]) | null; - /** @description Short description of the property */ - description?: string | null; - /** @description An ordered list of the allowed values of the property. - * The property can have up to 200 allowed values. */ - allowed_values?: string[] | null; - /** - * @description Who can edit the values of the property - * @example org_actors - * @enum {string|null} - */ - values_editable_by?: "org_actors" | "org_and_repo_actors" | null; - }; - /** - * Custom Property Value - * @description Custom property name and associated value - */ - "custom-property-value": { - /** @description The name of the property */ - property_name: string; - /** @description The value assigned to the property */ - value: (string | string[]) | null; - }; - /** - * Organization Repository Custom Property Values - * @description List of custom property values for a repository - */ - "org-repo-custom-property-values": { - /** @example 1296269 */ - repository_id: number; - /** @example Hello-World */ - repository_name: string; - /** @example octocat/Hello-World */ - repository_full_name: string; - /** @description List of custom property names and associated values */ - properties: components["schemas"]["custom-property-value"][]; - }; - /** - * Repository - * @description A repository on GitHub. - */ - "nullable-repository": { - /** - * Format: int64 - * @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; - }; - 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; - /** - * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. - * @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; - /** - * @deprecated - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions: 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; - 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; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @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; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required: boolean; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - /** @description The status of the code search index for this repository */ - code_search_index_status?: { - lexical_search_ok?: boolean; - lexical_commit_sha?: string; - }; - } | null; - /** - * 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; - }; - /** - * Full Repository - * @description Full Repository - */ - "full-repository": { - /** - * Format: int64 - * @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; - /** - * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. - * @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; - /** @example true */ - has_discussions: 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; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @example PR_TITLE - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @example PR_BODY - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @example PR_TITLE - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @example PR_BODY - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @example true */ - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: 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"]; - /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - }; - /** - * @description The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). - * @enum {string} - */ - "repository-rule-enforcement": "disabled" | "active" | "evaluate"; - /** - * Repository Ruleset Bypass Actor - * @description An actor that can bypass rules in a ruleset - */ - "repository-ruleset-bypass-actor": { - /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. */ - actor_id?: number | null; - /** - * @description The type of actor that can bypass a ruleset. - * @enum {string} - */ - actor_type: "Integration" | "OrganizationAdmin" | "RepositoryRole" | "Team" | "DeployKey"; - /** - * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. - * @default always - * @enum {string} - */ - bypass_mode: "always" | "pull_request"; - }; - /** - * Repository ruleset conditions for ref names - * @description Parameters for a repository ruleset ref name condition - */ - "repository-ruleset-conditions": { - ref_name?: { - /** @description Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. */ - include?: string[]; - /** @description Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. */ - exclude?: string[]; - }; - }; - /** - * Repository ruleset conditions for repository names - * @description Parameters for a repository name condition - */ - "repository-ruleset-conditions-repository-name-target": { - repository_name: { - /** @description Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. */ - include?: string[]; - /** @description Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. */ - exclude?: string[]; - /** @description Whether renaming of target repositories is prevented. */ - protected?: boolean; - }; - }; - /** - * Repository ruleset conditions for repository IDs - * @description Parameters for a repository ID condition - */ - "repository-ruleset-conditions-repository-id-target": { - repository_id: { - /** @description The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. */ - repository_ids?: number[]; - }; - }; - /** - * Repository ruleset property targeting definition - * @description Parameters for a targeting a repository property - */ - "repository-ruleset-conditions-repository-property-spec": { - /** @description The name of the repository property to target */ - name: string; - /** @description The values to match for the repository property */ - property_values: string[]; - /** - * @description The source of the repository property. Defaults to 'custom' if not specified. - * @enum {string} - */ - source?: "custom" | "system"; - }; - /** - * Repository ruleset conditions for repository properties - * @description Parameters for a repository property condition - */ - "repository-ruleset-conditions-repository-property-target": { - repository_property: { - /** @description The repository properties and values to include. All of these properties must match for the condition to pass. */ - include?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; - /** @description The repository properties and values to exclude. The condition will not pass if any of these properties match. */ - exclude?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; - }; - }; - /** - * Organization ruleset conditions - * @description Conditions for an organization ruleset. - * The branch and tag rulesets conditions object should contain both `repository_name` and `ref_name` properties, or both `repository_id` and `ref_name` properties, or both `repository_property` and `ref_name` properties. - * The push rulesets conditions object does not require the `ref_name` property. - * For repository policy rulesets, the conditions object should only contain the `repository_name`, the `repository_id`, or the `repository_property`. - */ - "org-ruleset-conditions": (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-name-target"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-id-target"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-property-target"]); - /** - * creation - * @description Only allow users with bypass permission to create matching refs. - */ - "repository-rule-creation": { - /** @enum {string} */ - type: "creation"; - }; - /** - * update - * @description Only allow users with bypass permission to update matching refs. - */ - "repository-rule-update": { - /** @enum {string} */ - type: "update"; - parameters?: { - /** @description Branch can pull changes from its upstream repository */ - update_allows_fetch_and_merge: boolean; - }; - }; - /** - * deletion - * @description Only allow users with bypass permissions to delete matching refs. - */ - "repository-rule-deletion": { - /** @enum {string} */ - type: "deletion"; - }; - /** - * required_linear_history - * @description Prevent merge commits from being pushed to matching refs. - */ - "repository-rule-required-linear-history": { - /** @enum {string} */ - type: "required_linear_history"; - }; - /** - * merge_queue - * @description Merges must be performed via a merge queue. - */ - "repository-rule-merge-queue": { - /** @enum {string} */ - type: "merge_queue"; - parameters?: { - /** @description Maximum time for a required status check to report a conclusion. After this much time has elapsed, checks that have not reported a conclusion will be assumed to have failed */ - check_response_timeout_minutes: number; - /** - * @description When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. - * @enum {string} - */ - grouping_strategy: "ALLGREEN" | "HEADGREEN"; - /** @description Limit the number of queued pull requests requesting checks and workflow runs at the same time. */ - max_entries_to_build: number; - /** @description The maximum number of PRs that will be merged together in a group. */ - max_entries_to_merge: number; - /** - * @description Method to use when merging changes from queued pull requests. - * @enum {string} - */ - merge_method: "MERGE" | "SQUASH" | "REBASE"; - /** @description The minimum number of PRs that will be merged together in a group. */ - min_entries_to_merge: number; - /** @description The time merge queue should wait after the first PR is added to the queue for the minimum group size to be met. After this time has elapsed, the minimum group size will be ignored and a smaller group will be merged. */ - min_entries_to_merge_wait_minutes: number; - }; - }; - /** - * required_deployments - * @description Choose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule. - */ - "repository-rule-required-deployments": { - /** @enum {string} */ - type: "required_deployments"; - parameters?: { - /** @description The environments that must be successfully deployed to before branches can be merged. */ - required_deployment_environments: string[]; - }; - }; - /** - * required_signatures - * @description Commits pushed to matching refs must have verified signatures. - */ - "repository-rule-required-signatures": { - /** @enum {string} */ - type: "required_signatures"; - }; - /** - * Reviewer - * @description A required reviewing team - */ - "repository-rule-params-reviewer": { - /** @description ID of the reviewer which must review changes to matching files. */ - id: number; - /** - * @description The type of the reviewer - * @enum {string} - */ - type: "Team"; - }; - /** - * RequiredReviewerConfiguration - * @description A reviewing team, and file patterns describing which files they must approve changes to. - */ - "repository-rule-params-required-reviewer-configuration": { - /** @description Array of file patterns. Pull requests which change matching files must be approved by the specified team. File patterns use the same syntax as `.gitignore` files. */ - file_patterns: string[]; - /** @description Minimum number of approvals required from the specified team. If set to zero, the team will be added to the pull request but approval is optional. */ - minimum_approvals: number; - reviewer: components["schemas"]["repository-rule-params-reviewer"]; - }; - /** - * pull_request - * @description Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. - */ - "repository-rule-pull-request": { - /** @enum {string} */ - type: "pull_request"; - parameters?: { - /** @description Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled. */ - allowed_merge_methods?: ("merge" | "squash" | "rebase")[]; - /** @description Automatically request review from Copilot for new pull requests, if the author has access to Copilot code review. */ - automatic_copilot_code_review_enabled?: boolean; - /** @description New, reviewable commits pushed will dismiss previous pull request review approvals. */ - dismiss_stale_reviews_on_push: boolean; - /** @description Require an approving review in pull requests that modify files that have a designated code owner. */ - require_code_owner_review: boolean; - /** @description Whether the most recent reviewable push must be approved by someone other than the person who pushed it. */ - require_last_push_approval: boolean; - /** @description The number of approving reviews that are required before a pull request can be merged. */ - required_approving_review_count: number; - /** @description All conversations on code must be resolved before a pull request can be merged. */ - required_review_thread_resolution: boolean; - }; - }; - /** - * StatusCheckConfiguration - * @description Required status check - */ - "repository-rule-params-status-check-configuration": { - /** @description The status check context name that must be present on the commit. */ - context: string; - /** @description The optional integration ID that this status check must originate from. */ - integration_id?: number; - }; - /** - * required_status_checks - * @description Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. - */ - "repository-rule-required-status-checks": { - /** @enum {string} */ - type: "required_status_checks"; - parameters?: { - /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ - do_not_enforce_on_create?: boolean; - /** @description Status checks that are required. */ - required_status_checks: components["schemas"]["repository-rule-params-status-check-configuration"][]; - /** @description Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. */ - strict_required_status_checks_policy: boolean; - }; - }; - /** - * non_fast_forward - * @description Prevent users with push access from force pushing to refs. - */ - "repository-rule-non-fast-forward": { - /** @enum {string} */ - type: "non_fast_forward"; - }; - /** - * commit_message_pattern - * @description Parameters to be used for the commit_message_pattern rule - */ - "repository-rule-commit-message-pattern": { - /** @enum {string} */ - type: "commit_message_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * commit_author_email_pattern - * @description Parameters to be used for the commit_author_email_pattern rule - */ - "repository-rule-commit-author-email-pattern": { - /** @enum {string} */ - type: "commit_author_email_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * committer_email_pattern - * @description Parameters to be used for the committer_email_pattern rule - */ - "repository-rule-committer-email-pattern": { - /** @enum {string} */ - type: "committer_email_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * branch_name_pattern - * @description Parameters to be used for the branch_name_pattern rule - */ - "repository-rule-branch-name-pattern": { - /** @enum {string} */ - type: "branch_name_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * tag_name_pattern - * @description Parameters to be used for the tag_name_pattern rule - */ - "repository-rule-tag-name-pattern": { - /** @enum {string} */ - type: "tag_name_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * file_path_restriction - * @description Prevent commits that include changes in specified file and folder paths from being pushed to the commit graph. This includes absolute paths that contain file names. - */ - "repository-rule-file-path-restriction": { - /** @enum {string} */ - type: "file_path_restriction"; - parameters?: { - /** @description The file paths that are restricted from being pushed to the commit graph. */ - restricted_file_paths: string[]; - }; - }; - /** - * max_file_path_length - * @description Prevent commits that include file paths that exceed the specified character limit from being pushed to the commit graph. - */ - "repository-rule-max-file-path-length": { - /** @enum {string} */ - type: "max_file_path_length"; - parameters?: { - /** @description The maximum amount of characters allowed in file paths. */ - max_file_path_length: number; - }; - }; - /** - * file_extension_restriction - * @description Prevent commits that include files with specified file extensions from being pushed to the commit graph. - */ - "repository-rule-file-extension-restriction": { - /** @enum {string} */ - type: "file_extension_restriction"; - parameters?: { - /** @description The file extensions that are restricted from being pushed to the commit graph. */ - restricted_file_extensions: string[]; - }; - }; - /** - * max_file_size - * @description Prevent commits with individual files that exceed the specified limit from being pushed to the commit graph. - */ - "repository-rule-max-file-size": { - /** @enum {string} */ - type: "max_file_size"; - parameters?: { - /** @description The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS). */ - max_file_size: number; - }; - }; - /** - * RestrictedCommits - * @description Restricted commit - */ - "repository-rule-params-restricted-commits": { - /** @description Full or abbreviated commit hash to reject */ - oid: string; - /** @description Reason for restriction */ - reason?: string; - }; - /** - * WorkflowFileReference - * @description A workflow that must run for this rule to pass - */ - "repository-rule-params-workflow-file-reference": { - /** @description The path to the workflow file */ - path: string; - /** @description The ref (branch or tag) of the workflow file to use */ - ref?: string; - /** @description The ID of the repository where the workflow is defined */ - repository_id: number; - /** @description The commit SHA of the workflow file to use */ - sha?: string; - }; - /** - * workflows - * @description Require all changes made to a targeted branch to pass the specified workflows before they can be merged. - */ - "repository-rule-workflows": { - /** @enum {string} */ - type: "workflows"; - parameters?: { - /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ - do_not_enforce_on_create?: boolean; - /** @description Workflows that must pass for this rule to pass. */ - workflows: components["schemas"]["repository-rule-params-workflow-file-reference"][]; - }; - }; - /** - * CodeScanningTool - * @description A tool that must provide code scanning results for this rule to pass. - */ - "repository-rule-params-code-scanning-tool": { - /** - * @description The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." - * @enum {string} - */ - alerts_threshold: "none" | "errors" | "errors_and_warnings" | "all"; - /** - * @description The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." - * @enum {string} - */ - security_alerts_threshold: "none" | "critical" | "high_or_higher" | "medium_or_higher" | "all"; - /** @description The name of a code scanning tool */ - tool: string; - }; - /** - * code_scanning - * @description Choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated. - */ - "repository-rule-code-scanning": { - /** @enum {string} */ - type: "code_scanning"; - parameters?: { - /** @description Tools that must provide code scanning results for this rule to pass. */ - code_scanning_tools: components["schemas"]["repository-rule-params-code-scanning-tool"][]; - }; - }; - /** - * Repository Rule - * @description A repository rule. - */ - "repository-rule": components["schemas"]["repository-rule-creation"] | components["schemas"]["repository-rule-update"] | components["schemas"]["repository-rule-deletion"] | components["schemas"]["repository-rule-required-linear-history"] | components["schemas"]["repository-rule-merge-queue"] | components["schemas"]["repository-rule-required-deployments"] | components["schemas"]["repository-rule-required-signatures"] | components["schemas"]["repository-rule-pull-request"] | components["schemas"]["repository-rule-required-status-checks"] | components["schemas"]["repository-rule-non-fast-forward"] | components["schemas"]["repository-rule-commit-message-pattern"] | components["schemas"]["repository-rule-commit-author-email-pattern"] | components["schemas"]["repository-rule-committer-email-pattern"] | components["schemas"]["repository-rule-branch-name-pattern"] | components["schemas"]["repository-rule-tag-name-pattern"] | components["schemas"]["repository-rule-file-path-restriction"] | components["schemas"]["repository-rule-max-file-path-length"] | components["schemas"]["repository-rule-file-extension-restriction"] | components["schemas"]["repository-rule-max-file-size"] | components["schemas"]["repository-rule-workflows"] | components["schemas"]["repository-rule-code-scanning"]; - /** - * Repository ruleset - * @description A set of rules to apply when specified conditions are met. - */ - "repository-ruleset": { - /** @description The ID of the ruleset */ - id: number; - /** @description The name of the ruleset */ - name: string; - /** - * @description The target of the ruleset - * @enum {string} - */ - target?: "branch" | "tag" | "push" | "repository"; - /** - * @description The type of the source of the ruleset - * @enum {string} - */ - source_type?: "Repository" | "Organization" | "Enterprise"; - /** @description The name of the source */ - source: string; - enforcement: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - /** - * @description The bypass type of the user making the API request for this ruleset. This field is only returned when - * querying the repository-level endpoint. - * @enum {string} - */ - current_user_can_bypass?: "always" | "pull_requests_only" | "never"; - node_id?: string; - _links?: { - self?: { - /** @description The URL of the ruleset */ - href?: string; - }; - html?: { - /** @description The html URL of the ruleset */ - href?: string; - } | null; - }; - conditions?: (components["schemas"]["repository-ruleset-conditions"] | components["schemas"]["org-ruleset-conditions"]) | null; - rules?: components["schemas"]["repository-rule"][]; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - }; - /** - * Rule Suites - * @description Response - */ - "rule-suites": { - /** @description The unique identifier of the rule insight. */ - id?: number; - /** @description The number that identifies the user. */ - actor_id?: number; - /** @description The handle for the GitHub user account. */ - actor_name?: string; - /** @description The first commit sha before the push evaluation. */ - before_sha?: string; - /** @description The last commit sha in the push evaluation. */ - after_sha?: string; - /** @description The ref name that the evaluation ran on. */ - ref?: string; - /** @description The ID of the repository associated with the rule evaluation. */ - repository_id?: number; - /** @description The name of the repository without the `.git` extension. */ - repository_name?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at?: string; - /** - * @description The result of the rule evaluations for rules with the `active` enforcement status. - * @enum {string} - */ - result?: "pass" | "fail" | "bypass"; - /** - * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. - * @enum {string} - */ - evaluation_result?: "pass" | "fail" | "bypass"; - }[]; - /** - * Rule Suite - * @description Response - */ - "rule-suite": { - /** @description The unique identifier of the rule insight. */ - id?: number; - /** @description The number that identifies the user. */ - actor_id?: number | null; - /** @description The handle for the GitHub user account. */ - actor_name?: string | null; - /** @description The first commit sha before the push evaluation. */ - before_sha?: string; - /** @description The last commit sha in the push evaluation. */ - after_sha?: string; - /** @description The ref name that the evaluation ran on. */ - ref?: string; - /** @description The ID of the repository associated with the rule evaluation. */ - repository_id?: number; - /** @description The name of the repository without the `.git` extension. */ - repository_name?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at?: string; - /** - * @description The result of the rule evaluations for rules with the `active` enforcement status. - * @enum {string} - */ - result?: "pass" | "fail" | "bypass"; - /** - * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. Null if no rules with `evaluate` enforcement status were run. - * @enum {string|null} - */ - evaluation_result?: "pass" | "fail" | "bypass" | null; - /** @description Details on the evaluated rules. */ - rule_evaluations?: { - rule_source?: { - /** @description The type of rule source. */ - type?: string; - /** @description The ID of the rule source. */ - id?: number | null; - /** @description The name of the rule source. */ - name?: string | null; - }; - /** - * @description The enforcement level of this rule source. - * @enum {string} - */ - enforcement?: "active" | "evaluate" | "deleted ruleset"; - /** - * @description The result of the evaluation of the individual rule. - * @enum {string} - */ - result?: "pass" | "fail"; - /** @description The type of rule. */ - rule_type?: string; - /** @description The detailed failure message for the rule. Null if the rule passed. */ - details?: string | null; - }[]; - }; - /** - * Ruleset version - * @description The historical version of a ruleset - */ - "ruleset-version": { - /** @description The ID of the previous version of the ruleset */ - version_id: number; - /** @description The actor who updated the ruleset */ - actor: { - id?: number; - type?: string; - }; - /** Format: date-time */ - updated_at: string; - }; - "ruleset-version-with-state": components["schemas"]["ruleset-version"] & { - /** @description The state of the ruleset version */ - state: Record; - }; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - "repository-advisory-vulnerability": { - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name: string | null; - } | null; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions: string[] | null; - }; - /** @description A credit given to a user for a repository security advisory. */ - "repository-advisory-credit": { - user: components["schemas"]["simple-user"]; - type: components["schemas"]["security-advisory-credit-types"]; - /** - * @description The state of the user's acceptance of the credit. - * @enum {string} - */ - state: "accepted" | "declined" | "pending"; - }; - /** @description A repository security advisory. */ - "repository-advisory": { - /** @description The GitHub Security Advisory ID. */ - readonly ghsa_id: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id: string | null; - /** - * Format: uri - * @description The API URL for the advisory. - */ - readonly url: string; - /** - * Format: uri - * @description The URL for the advisory. - */ - readonly html_url: string; - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory entails. */ - description: string | null; - /** - * @description The severity of the advisory. - * @enum {string|null} - */ - severity: "critical" | "high" | "medium" | "low" | null; - /** @description The author of the advisory. */ - readonly author: components["schemas"]["simple-user"] | null; - /** @description The publisher of the advisory. */ - readonly publisher: components["schemas"]["simple-user"] | null; - readonly identifiers: { - /** - * @description The type of identifier. - * @enum {string} - */ - type: "CVE" | "GHSA"; - /** @description The identifier value. */ - value: string; - }[]; - /** - * @description The state of the advisory. - * @enum {string} - */ - state: "published" | "closed" | "withdrawn" | "draft" | "triage"; - /** - * Format: date-time - * @description The date and time of when the advisory was created, in ISO 8601 format. - */ - readonly created_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was last updated, in ISO 8601 format. - */ - readonly updated_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was published, in ISO 8601 format. - */ - readonly published_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was closed, in ISO 8601 format. - */ - readonly closed_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. - */ - readonly withdrawn_at: string | null; - readonly submission: { - /** @description Whether a private vulnerability report was accepted by the repository's administrators. */ - readonly accepted: boolean; - } | null; - vulnerabilities: components["schemas"]["repository-advisory-vulnerability"][] | null; - cvss: { - /** @description The CVSS vector. */ - vector_string: string | null; - /** @description The CVSS score. */ - readonly score: number | null; - } | null; - cvss_severities?: components["schemas"]["cvss-severities"]; - readonly cwes: { - /** @description The Common Weakness Enumeration (CWE) identifier. */ - cwe_id: string; - /** @description The name of the CWE. */ - readonly name: string; - }[] | null; - /** @description A list of only the CWE IDs. */ - cwe_ids: string[] | null; - credits: { - /** @description The username of the user credited. */ - login?: string; - type?: components["schemas"]["security-advisory-credit-types"]; - }[] | null; - readonly credits_detailed: components["schemas"]["repository-advisory-credit"][] | null; - /** @description A list of users that collaborate on the advisory. */ - collaborating_users: components["schemas"]["simple-user"][] | null; - /** @description A list of teams that collaborate on the advisory. */ - collaborating_teams: components["schemas"]["team"][] | null; - /** @description A temporary private fork of the advisory's repository for collaborating on a fix. */ - readonly private_fork: components["schemas"]["simple-repository"] | 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 macOS 12 core runner machines. */ - macos_12_core?: number; - /** @description Total minutes used on all runner machines. */ - total?: number; - }; - }; - "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; - }; - /** - * Hosted compute network configuration - * @description A hosted compute network configuration. - */ - "network-configuration": { - /** - * @description The unique identifier of the network configuration. - * @example 123ABC456DEF789 - */ - id: string; - /** - * @description The name of the network configuration. - * @example my-network-configuration - */ - name: string; - /** - * @description The hosted compute service the network configuration supports. - * @enum {string} - */ - compute_service?: "none" | "actions" | "codespaces"; - /** - * @description The unique identifier of each network settings in the configuration. - * @example 123ABC456DEF789 - */ - network_settings_ids?: string[]; - /** - * Format: date-time - * @description The time at which the network configuration was created, in ISO 8601 format. - * @example 2024-04-26T11:31:07Z - */ - created_on: string | null; - }; - /** - * Hosted compute network settings resource - * @description A hosted compute network settings resource. - */ - "network-settings": { - /** - * @description The unique identifier of the network settings resource. - * @example 220F78DACB92BBFBC5E6F22DE1CCF52309D - */ - id: string; - /** - * @description The identifier of the network configuration that is using this settings resource. - * @example 934E208B3EE0BD60CF5F752C426BFB53562 - */ - network_configuration_id?: string; - /** - * @description The name of the network settings resource. - * @example my-network-settings - */ - name: string; - /** - * @description The subnet this network settings resource is configured for. - * @example /subscriptions/14839728-3ad9-43ab-bd2b-fa6ad0f75e2a/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/my-subnet - */ - subnet_id: string; - /** - * @description The location of the subnet this network settings resource is configured for. - * @example eastus - */ - region: string; - }; - /** - * Team Organization - * @description Team Organization - */ - "team-organization": { - /** @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; - /** @example false */ - web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - archived_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 The notification setting the team has set - * @example notifications_enabled - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** - * @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"]["team-organization"]; - /** - * @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 owners. - * @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; - 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; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - * @example false - */ - web_commit_signoff_required: 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; - /** - * Format: int64 - * @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"]; - code_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"]; - dependency_sbom?: components["schemas"]["rate-limit"]; - code_scanning_autofix?: components["schemas"]["rate-limit"]; - }; - rate: components["schemas"]["rate-limit"]; - }; - /** - * 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; - /** - * @description The SHA256 digest of the artifact. This field will only be populated on artifacts uploaded with upload-artifact v4 or newer. For older versions, this field will be null. - * @example sha256:cfc3236bdad15b5898bca8408945c9e19e1917da8704adc20eaa618444290a8c - */ - digest?: 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" | "waiting" | "requested" | "pending"; - /** - * @description The outcome of the job. - * @example success - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; - /** - * Format: date-time - * @description The time that the job created, in ISO 8601 format. - * @example 2019-08-08T08:00:00-07:00 - */ - created_at: string; - /** - * 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; - /** - * @description The name of the workflow. - * @example Build - */ - workflow_name: string | null; - /** - * @description The name of the current branch. - * @example main - */ - head_branch: string | null; - }; - /** - * Actions OIDC subject customization for a repository - * @description Actions OIDC subject customization for a repository - */ - "oidc-custom-sub-repo": { - /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ - use_default: boolean; - /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ - include_claim_keys?: string[]; - }; - /** - * 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; - }; - /** Actions Variable */ - "actions-variable": { - /** - * @description The name of the variable. - * @example USERNAME - */ - name: string; - /** - * @description The value of the variable. - * @example octocat - */ - value: string; - /** - * Format: date-time - * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - * @example 2019-01-24T22:45:36.000Z - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - * @example 2019-01-24T22:45:36.000Z - */ - updated_at: string; - }; - /** @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 the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repositories only. `organization` level access allows sharing across the organization. - * @enum {string} - */ - access_level: "none" | "user" | "organization"; - }; - /** - * 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": { - /** Format: int64 */ - id: number; - number: number; - url: string; - head: { - ref: string; - sha: string; - repo: { - /** Format: int64 */ - id: number; - url: string; - name: string; - }; - }; - base: { - ref: string; - sha: string; - repo: { - /** Format: int64 */ - id: number; - url: string; - name: string; - }; - }; - }; - /** - * Simple Commit - * @description A commit. - */ - "nullable-simple-commit": { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - id: string; - /** @description SHA for the commit's tree */ - tree_id: string; - /** - * @description Message describing the purpose of the commit - * @example Fix #42 - */ - message: string; - /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 - */ - timestamp: string; - /** @description Information about the Git author */ - author: { - /** - * @description Name of the commit's author - * @example Monalisa Octocat - */ - name: string; - /** - * Format: email - * @description Git email address of the commit's author - * @example monalisa.octocat@example.com - */ - email: string; - } | null; - /** @description Information about the Git committer */ - committer: { - /** - * @description Name of the commit's committer - * @example Monalisa Octocat - */ - name: string; - /** - * Format: email - * @description Git email address of the commit's committer - * @example monalisa.octocat@example.com - */ - 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; - /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the workflow run. The returned pull requests do not necessarily indicate pull requests that triggered the run. */ - 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; - /** - * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. - * @example Simple Workflow - */ - display_title: string; - }; - /** - * 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 or pending (with comments) - * @example approved - * @enum {string} - */ - state: "approved" | "rejected" | "pending"; - user: components["schemas"]["simple-user"]; - /** - * @description The comment submitted with the deployment review - * @example Ship it! - */ - comment: string; - }; - "review-custom-gates-comment-required": { - /** @description The name of the environment to approve or reject. */ - environment_name: string; - /** @description Comment associated with the pending deployment protection rule. **Required when state is not provided.** */ - comment: string; - }; - "review-custom-gates-state-required": { - /** @description The name of the environment to approve or reject. */ - environment_name: string; - /** - * @description Whether to approve or reject deployment to the specified environments. - * @enum {string} - */ - state: "approved" | "rejected"; - /** @description Optional comment to include with the review. */ - 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: { - /** - * Format: int64 - * @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?: components["schemas"]["simple-user"] | components["schemas"]["team"]; - }[]; - }; - /** - * 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; - /** - * Format: int64 - * @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; - }; - /** - * 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; - }; - }; - }; - /** - * Activity - * @description Activity - */ - activity: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The SHA of the commit before the activity. - * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - before: string; - /** - * @description The SHA of the commit after the activity. - * @example 827efc6d56897b048c772eb4087f854f46256132 - */ - after: string; - /** - * @description The full Git reference, formatted as `refs/heads/`. - * @example refs/heads/main - */ - ref: string; - /** - * Format: date-time - * @description The time when the activity occurred. - * @example 2011-01-26T19:06:43Z - */ - timestamp: string; - /** - * @description The type of the activity that was performed. - * @example force_push - * @enum {string} - */ - activity_type: "push" | "force_push" | "branch_deletion" | "branch_creation" | "pr_merge" | "merge_queue_merge"; - actor: components["schemas"]["nullable-simple-user"]; - }; - /** - * 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 only matches numeric characters. - * @example true - */ - is_alphanumeric: boolean; - }; - /** - * Check Dependabot security updates - * @description Check Dependabot security updates - */ - "check-automated-security-fixes": { - /** - * @description Whether Dependabot security updates are enabled for the repository. - * @example true - */ - enabled: boolean; - /** - * @description Whether Dependabot security updates are paused for the repository. - * @example false - */ - paused: 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; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. - * @default false - * @example true - */ - require_last_push_approval: boolean; - }; - /** - * 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; - /** Format: int64 */ - 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; - user_view_type?: string; - }[]; - teams: { - id?: number; - node_id?: string; - url?: string; - html_url?: string; - name?: string; - slug?: string; - description?: string | null; - privacy?: string; - notification_setting?: 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; - /** @example public */ - user_view_type?: string; - }; - name?: string; - client_id?: 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; - }; - /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ - lock_branch?: { - /** @default false */ - enabled: boolean; - }; - /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ - allow_fork_syncing?: { - /** @default false */ - 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; - verified_at: 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"]["simple-user"] | components["schemas"]["empty-object"]) | null; - committer: (components["schemas"]["simple-user"] | components["schemas"]["empty-object"]) | null; - 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; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. - * @default false - */ - require_last_push_approval: boolean; - 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; - }; - /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ - lock_branch?: { - /** @default false */ - enabled: boolean; - }; - /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ - allow_fork_syncing?: { - /** @default false */ - 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": { - /** - * Format: int64 - * @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. Statuses of waiting, requested, and pending are reserved for GitHub Actions check runs. - * @example queued - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; - /** - * @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"]; - /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the check. The returned pull requests do not necessarily indicate pull requests that triggered the check. */ - 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 A commit. - */ - "simple-commit": { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - id: string; - /** @description SHA for the commit's tree */ - tree_id: string; - /** - * @description Message describing the purpose of the commit - * @example Fix #42 - */ - message: string; - /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 - */ - timestamp: string; - /** @description Information about the Git author */ - author: { - /** - * @description Name of the commit's author - * @example Monalisa Octocat - */ - name: string; - /** - * Format: email - * @description Git email address of the commit's author - * @example monalisa.octocat@example.com - */ - email: string; - } | null; - /** @description Information about the Git committer */ - committer: { - /** - * @description Name of the commit's committer - * @example Monalisa Octocat - */ - name: string; - /** - * Format: email - * @description Git email address of the commit's committer - * @example monalisa.octocat@example.com - */ - email: string; - } | null; - }; - /** - * CheckSuite - * @description A suite of checks performed on the code of a given code change - */ - "check-suite": { - /** - * Format: int64 - * @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; - /** - * @description The phase of the lifecycle that the check suite is currently in. Statuses of waiting, requested, and pending are reserved for GitHub Actions check suites. - * @example completed - * @enum {string|null} - */ - status: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending" | null; - /** - * @example neutral - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "startup_failure" | "stale" | 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-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"]["alert-fixed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - dismissed_at: components["schemas"]["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"]; - dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; - }; - "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 A 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 A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - }; - "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"]["alert-fixed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - dismissed_at: components["schemas"]["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"]; - dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; - }; - /** - * @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 If `true`, attempt to create an alert dismissal request. */ - "code-scanning-alert-create-request": boolean; - /** - * @description The status of an autofix. - * @enum {string} - */ - "code-scanning-autofix-status": "pending" | "error" | "success" | "outdated"; - /** @description The description of an autofix. */ - "code-scanning-autofix-description": string | null; - /** - * Format: date-time - * @description The start time of an autofix in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - "code-scanning-autofix-started-at": string; - "code-scanning-autofix": { - status: components["schemas"]["code-scanning-autofix-status"]; - description: components["schemas"]["code-scanning-autofix-description"]; - started_at: components["schemas"]["code-scanning-autofix-started-at"]; - }; - /** @description Commit an autofix for a code scanning alert */ - "code-scanning-autofix-commits": { - /** @description The Git reference of target branch for the commit. Branch needs to already exist. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ - target_ref?: string; - /** @description Commit message to be used. */ - message?: string; - } | null; - "code-scanning-autofix-commits-response": { - /** @description The Git reference of target branch for the commit. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ - target_ref?: string; - /** @description SHA of commit with autofix. */ - sha?: string; - }; - /** - * @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 - */ - readonly next_analysis_url: string | null; - /** - * Format: uri - * @description Next deletable analysis in chain, with last analysis deletion confirmation - */ - readonly confirm_delete_url: string | null; - }; - /** - * CodeQL Database - * @description A CodeQL database. - */ - "code-scanning-codeql-database": { - /** @description The ID of the CodeQL database. */ - id: number; - /** @description The name of the CodeQL database. */ - name: string; - /** @description The language of the CodeQL database. */ - language: string; - uploader: components["schemas"]["simple-user"]; - /** @description The MIME type of the CodeQL database file. */ - content_type: string; - /** @description The size of the CodeQL database file in bytes. */ - size: number; - /** - * Format: date-time - * @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * Format: uri - * @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property. - */ - url: string; - /** @description The commit SHA of the repository at the time the CodeQL database was created. */ - commit_oid?: string | null; - }; - /** - * @description The language targeted by the CodeQL query - * @enum {string} - */ - "code-scanning-variant-analysis-language": "cpp" | "csharp" | "go" | "java" | "javascript" | "python" | "ruby" | "rust" | "swift"; - /** - * Repository Identifier - * @description Repository Identifier - */ - "code-scanning-variant-analysis-repository": { - /** - * @description A unique identifier of the repository. - * @example 1296269 - */ - id: number; - /** - * @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; - /** @description Whether the repository is private. */ - private: boolean; - /** @example 80 */ - stargazers_count: number; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - }; - /** - * @description The new status of the CodeQL variant analysis repository task. - * @enum {string} - */ - "code-scanning-variant-analysis-status": "pending" | "in_progress" | "succeeded" | "failed" | "canceled" | "timed_out"; - "code-scanning-variant-analysis-skipped-repo-group": { - /** - * @description The total number of repositories that were skipped for this reason. - * @example 2 - */ - repository_count: number; - /** @description A list of repositories that were skipped. This list may not include all repositories that were skipped. This is only available when the repository was found and the user has access to it. */ - repositories: components["schemas"]["code-scanning-variant-analysis-repository"][]; - }; - /** - * Variant Analysis - * @description A run of a CodeQL query against one or more repositories. - */ - "code-scanning-variant-analysis": { - /** @description The ID of the variant analysis. */ - id: number; - controller_repo: components["schemas"]["simple-repository"]; - actor: components["schemas"]["simple-user"]; - query_language: components["schemas"]["code-scanning-variant-analysis-language"]; - /** @description The download url for the query pack. */ - query_pack_url: string; - /** - * Format: date-time - * @description The date and time at which the variant analysis was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at?: string; - /** - * Format: date-time - * @description The date and time at which the variant analysis was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at?: string; - /** - * Format: date-time - * @description The date and time at which the variant analysis was completed, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. Will be null if the variant analysis has not yet completed or this information is not available. - */ - completed_at?: string | null; - /** @enum {string} */ - status: "in_progress" | "succeeded" | "failed" | "cancelled"; - /** @description The GitHub Actions workflow run used to execute this variant analysis. This is only available if the workflow run has started. */ - actions_workflow_run_id?: number; - /** - * @description The reason for a failure of the variant analysis. This is only available if the variant analysis has failed. - * @enum {string} - */ - failure_reason?: "no_repos_queried" | "actions_workflow_run_failed" | "internal_error"; - scanned_repositories?: { - repository: components["schemas"]["code-scanning-variant-analysis-repository"]; - analysis_status: components["schemas"]["code-scanning-variant-analysis-status"]; - /** @description The number of results in the case of a successful analysis. This is only available for successful analyses. */ - result_count?: number; - /** @description The size of the artifact. This is only available for successful analyses. */ - artifact_size_in_bytes?: number; - /** @description The reason of the failure of this repo task. This is only available if the repository task has failed. */ - failure_message?: string; - }[]; - /** @description Information about repositories that were skipped from processing. This information is only available to the user that initiated the variant analysis. */ - skipped_repositories?: { - access_mismatch_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; - not_found_repos: { - /** - * @description The total number of repositories that were skipped for this reason. - * @example 2 - */ - repository_count: number; - /** @description A list of full repository names that were skipped. This list may not include all repositories that were skipped. */ - repository_full_names: string[]; - }; - no_codeql_db_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; - over_limit_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; - }; - }; - "code-scanning-variant-analysis-repo-task": { - repository: components["schemas"]["simple-repository"]; - analysis_status: components["schemas"]["code-scanning-variant-analysis-status"]; - /** @description The size of the artifact. This is only available for successful analyses. */ - artifact_size_in_bytes?: number; - /** @description The number of results in the case of a successful analysis. This is only available for successful analyses. */ - result_count?: number; - /** @description The reason of the failure of this repo task. This is only available if the repository task has failed. */ - failure_message?: string; - /** @description The SHA of the commit the CodeQL database was built against. This is only available for successful analyses. */ - database_commit_sha?: string; - /** @description The source location prefix to use. This is only available for successful analyses. */ - source_location_prefix?: string; - /** @description The URL of the artifact. This is only available for successful analyses. */ - artifact_url?: string; - }; - /** @description Configuration for code scanning default setup. */ - "code-scanning-default-setup": { - /** - * @description Code scanning default setup has been configured or not. - * @enum {string} - */ - state?: "configured" | "not-configured"; - /** @description Languages to be analyzed. */ - languages?: ("actions" | "c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "javascript" | "python" | "ruby" | "typescript" | "swift")[]; - /** - * @description Runner type to be used. - * @enum {string|null} - */ - runner_type?: "standard" | "labeled" | null; - /** - * @description Runner label to be used if the runner type is labeled. - * @example code-scanning - */ - runner_label?: string | null; - /** - * @description CodeQL query suite to be used. - * @enum {string} - */ - query_suite?: "default" | "extended"; - /** - * @description Threat model to be used for code scanning analysis. Use `remote` to analyze only network sources and `remote_and_local` to include local sources like filesystem access, command-line arguments, database reads, environment variable and standard input. - * @enum {string} - */ - threat_model?: "remote" | "remote_and_local"; - /** - * Format: date-time - * @description Timestamp of latest configuration update. - * @example 2023-12-06T14:20:20.000Z - */ - updated_at?: string | null; - /** - * @description The frequency of the periodic analysis. - * @enum {string|null} - */ - schedule?: "weekly" | null; - }; - /** @description Configuration for code scanning default setup. */ - "code-scanning-default-setup-update": { - /** - * @description The desired state of code scanning default setup. - * @enum {string} - */ - state?: "configured" | "not-configured"; - /** - * @description Runner type to be used. - * @enum {string} - */ - runner_type?: "standard" | "labeled"; - /** - * @description Runner label to be used if the runner type is labeled. - * @example code-scanning - */ - runner_label?: string | null; - /** - * @description CodeQL query suite to be used. - * @enum {string} - */ - query_suite?: "default" | "extended"; - /** - * @description Threat model to be used for code scanning analysis. Use `remote` to analyze only network sources and `remote_and_local` to include local sources like filesystem access, command-line arguments, database reads, environment variable and standard input. - * @enum {string} - */ - threat_model?: "remote" | "remote_and_local"; - /** @description CodeQL languages to be analyzed. */ - languages?: ("actions" | "c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "python" | "ruby" | "swift")[]; - }; - /** @description You can use `run_url` to track the status of the run. This includes a property status and conclusion. - * You should not rely on this always being an actions workflow run object. */ - "code-scanning-default-setup-update-response": { - /** @description ID of the corresponding run. */ - run_id?: number; - /** @description URL of the corresponding run. */ - run_url?: string; - }; - /** - * @description The full Git reference, formatted as `refs/heads/`, - * `refs/tags/`, `refs/pull//merge`, or `refs/pull//head`. - * @example refs/heads/main - */ - "code-scanning-ref-full": string; - /** @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. - */ - readonly 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. - */ - readonly analyses_url?: string | null; - /** @description Any errors that ocurred during processing of the delivery. */ - readonly errors?: string[] | null; - }; - /** @description Code security configuration associated with a repository and attachment status */ - "code-security-configuration-for-repository": { - /** - * @description The attachment status of the code security configuration on the repository. - * @enum {string} - */ - status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; - configuration?: components["schemas"]["code-security-configuration"]; - }; - /** - * 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, 16 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 17179869184 - */ - 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 Permissions Check - * @description Permission check result for a given devcontainer config. - */ - "codespaces-permissions-check-for-devcontainer": { - /** - * @description Whether the user has accepted the permissions defined by the devcontainer config - * @example true - */ - accepted: boolean; - }; - /** - * 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; - }; - /** - * Collaborator - * @description Collaborator - */ - collaborator: { - /** @example octocat */ - login: string; - /** - * Format: int64 - * @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; - /** @example public */ - user_view_type?: string; - }; - /** - * Repository Invitation - * @description Repository invitations let you manage who you collaborate with. - */ - "repository-invitation": { - /** - * Format: int64 - * @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; - /** - * Format: int64 - * @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; - /** @example public */ - user_view_type?: 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; - /** - * Format: int64 - * @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 | null; - 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 | null; - target_url: string | null; - 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; - content?: 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; - 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; - }; - }[]; - encoding?: string; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - }; - /** - * Content Directory - * @description A list of directory items - */ - "content-directory": { - /** @enum {string} */ - type: "dir" | "file" | "submodule" | "symlink"; - 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": { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: "file"; - 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": { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: "symlink"; - 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; - }; - }; - /** - * Submodule Content - * @description An object describing a submodule - */ - "content-submodule": { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: "submodule"; - /** 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; - verified_at?: string | null; - }; - }; - }; - /** @description The ID of the push protection bypass placeholder. This value is returned on any push protected routes. */ - "secret-scanning-push-protection-bypass-placeholder-id": string; - /** @description Repository rule violation was detected */ - "repository-rule-violation-error": { - message?: string; - documentation_url?: string; - status?: string; - metadata?: { - secret_scanning?: { - bypass_placeholders?: { - placeholder_id?: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; - token_type?: string; - }[]; - }; - }; - }; - /** - * 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; - user_view_type?: string; - }; - /** @description A Dependabot alert. */ - "dependabot-alert": { - number: components["schemas"]["alert-number"]; - /** - * @description The state of the Dependabot alert. - * @enum {string} - */ - readonly state: "auto_dismissed" | "dismissed" | "fixed" | "open"; - /** @description Details for the vulnerable dependency. */ - readonly dependency: { - package?: components["schemas"]["dependabot-alert-package"]; - /** @description The full path to the dependency manifest file, relative to the root of the repository. */ - readonly manifest_path?: string; - /** - * @description The execution scope of the vulnerable dependency. - * @enum {string|null} - */ - readonly scope?: "development" | "runtime" | null; - /** - * @description The vulnerable dependency's relationship to your project. - * - * > [!NOTE] - * > We are rolling out support for dependency relationship across ecosystems. This value will be "unknown" for all dependencies in unsupported ecosystems. - * - * @enum {string|null} - */ - readonly relationship?: "unknown" | "direct" | "transitive" | null; - }; - security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; - security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at: components["schemas"]["alert-updated-at"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - /** - * @description The reason that the alert was dismissed. - * @enum {string|null} - */ - dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | null; - /** @description An optional comment associated with the alert's dismissal. */ - dismissed_comment: string | null; - fixed_at: components["schemas"]["alert-fixed-at"]; - auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; - }; - /** - * 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; - }[]; - /** - * @description Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment. - * @enum {string} - */ - scope: "unknown" | "runtime" | "development"; - }[]; - /** - * Dependency Graph SPDX SBOM - * @description A schema for the SPDX JSON format returned by the Dependency Graph. - */ - "dependency-graph-spdx-sbom": { - sbom: { - /** - * @description The SPDX identifier for the SPDX document. - * @example SPDXRef-DOCUMENT - */ - SPDXID: string; - /** - * @description The version of the SPDX specification that this document conforms to. - * @example SPDX-2.3 - */ - spdxVersion: string; - /** - * @description An optional comment about the SPDX document. - * @example Exact versions could not be resolved for some packages. For more information: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/ - */ - comment?: string; - creationInfo: { - /** - * @description The date and time the SPDX document was created. - * @example 2021-11-03T00:00:00Z - */ - created: string; - /** @description The tools that were used to generate the SPDX document. */ - creators: string[]; - }; - /** - * @description The name of the SPDX document. - * @example github/github - */ - name: string; - /** - * @description The license under which the SPDX document is licensed. - * @example CC0-1.0 - */ - dataLicense: string; - /** - * @description The namespace for the SPDX document. - * @example https://spdx.org/spdxdocs/protobom/15e41dd2-f961-4f4d-b8dc-f8f57ad70d57 - */ - documentNamespace: string; - packages: { - /** - * @description A unique SPDX identifier for the package. - * @example SPDXRef-Package - */ - SPDXID?: string; - /** - * @description The name of the package. - * @example github/github - */ - name?: string; - /** - * @description The version of the package. If the package does not have an exact version specified, - * a version range is given. - * @example 1.0.0 - */ - versionInfo?: string; - /** - * @description The location where the package can be downloaded, - * or NOASSERTION if this has not been determined. - * @example NOASSERTION - */ - downloadLocation?: string; - /** - * @description Whether the package's file content has been subjected to - * analysis during the creation of the SPDX document. - * @example false - */ - filesAnalyzed?: boolean; - /** - * @description The license of the package as determined while creating the SPDX document. - * @example MIT - */ - licenseConcluded?: string; - /** - * @description The license of the package as declared by its author, or NOASSERTION if this information - * was not available when the SPDX document was created. - * @example NOASSERTION - */ - licenseDeclared?: string; - /** - * @description The distribution source of this package, or NOASSERTION if this was not determined. - * @example NOASSERTION - */ - supplier?: string; - /** - * @description The copyright holders of the package, and any dates present with those notices, if available. - * @example Copyright (c) 1985 GitHub.com - */ - copyrightText?: string; - externalRefs?: { - /** - * @description The category of reference to an external resource this reference refers to. - * @example PACKAGE-MANAGER - */ - referenceCategory: string; - /** - * @description A locator for the particular external resource this reference refers to. - * @example pkg:gem/rails@6.0.1 - */ - referenceLocator: string; - /** - * @description The category of reference to an external resource this reference refers to. - * @example purl - */ - referenceType: string; - }[]; - }[]; - relationships?: { - /** - * @description The type of relationship between the two SPDX elements. - * @example DEPENDS_ON - */ - relationshipType?: string; - /** @description The SPDX identifier of the package that is the source of the relationship. */ - spdxElementId?: string; - /** @description The SPDX identifier of the package that is the target of the relationship. */ - relatedSpdxElement?: string; - }[]; - }; - }; - /** - * metadata - * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. - */ - metadata: { - [key: string]: (string | number | boolean) | null; - }; - 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 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"]; - /** @description A collection of resolved package dependencies. */ - 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. Maximum length: 40 characters. - * @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, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ - 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; - /** - * Format: int64 - * @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 Closing down notice: 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-settings": { - /** @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: { - /** - * Format: int64 - * @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 Built-in deployment protection rules for the environment. */ - protection_rules?: ({ - /** @example 3515 */ - id: number; - /** @example MDQ6R2F0ZTM1MTU= */ - node_id: string; - /** @example wait_timer */ - type: string; - wait_timer?: components["schemas"]["wait-timer"]; - } | { - /** @example 3755 */ - id: number; - /** @example MDQ6R2F0ZTM3NTU= */ - node_id: string; - /** - * @description Whether deployments to this environment can be approved by the user who created the deployment. - * @example false - */ - prevent_self_review?: boolean; - /** @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?: components["schemas"]["simple-user"] | components["schemas"]["team"]; - }[]; - } | { - /** @example 3515 */ - id: number; - /** @example MDQ6R2F0ZTM1MTU= */ - node_id: string; - /** @example branch_policy */ - type: string; - })[]; - deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; - }; - /** - * @description Whether or not a user who created the job is prevented from approving their own job. - * @example false - */ - "prevent-self-review": boolean; - /** - * Deployment branch policy - * @description Details of a deployment branch or tag policy. - */ - "deployment-branch-policy": { - /** - * @description The unique identifier of the branch or tag policy. - * @example 361471 - */ - id?: number; - /** @example MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzE= */ - node_id?: string; - /** - * @description The name pattern that branches or tags must match in order to deploy to the environment. - * @example release/* - */ - name?: string; - /** - * @description Whether this rule targets a branch or tag. - * @example branch - * @enum {string} - */ - type?: "branch" | "tag"; - }; - /** Deployment branch and tag policy name pattern */ - "deployment-branch-policy-name-pattern-with-type": { - /** - * @description The name pattern that branches or tags must match in order to deploy to the environment. - * - * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. - * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). - * @example release/* - */ - name: string; - /** - * @description Whether this rule targets a branch or tag - * @example branch - * @enum {string} - */ - type?: "branch" | "tag"; - }; - /** Deployment branch policy name pattern */ - "deployment-branch-policy-name-pattern": { - /** - * @description The name pattern that branches must match in order to deploy to the environment. - * - * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. - * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). - * @example release/* - */ - name: string; - }; - /** - * Custom deployment protection rule app - * @description A GitHub App that is providing a custom deployment protection rule. - */ - "custom-deployment-rule-app": { - /** - * @description The unique identifier of the deployment protection rule integration. - * @example 3515 - */ - id: number; - /** - * @description The slugified name of the deployment protection rule integration. - * @example my-custom-app - */ - slug: string; - /** - * @description The URL for the endpoint to get details about the app. - * @example https://api.github.com/apps/custom-app-slug - */ - integration_url: string; - /** - * @description The node ID for the deployment protection rule integration. - * @example MDQ6R2F0ZTM1MTU= - */ - node_id: string; - }; - /** - * Deployment protection rule - * @description Deployment protection rule - */ - "deployment-protection-rule": { - /** - * @description The unique identifier for the deployment protection rule. - * @example 3515 - */ - id: number; - /** - * @description The node ID for the deployment protection rule. - * @example MDQ6R2F0ZTM1MTU= - */ - node_id: string; - /** - * @description Whether the deployment protection rule is enabled for the environment. - * @example true - */ - enabled: boolean; - app: components["schemas"]["custom-deployment-rule-app"]; - }; - /** - * 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; - verified_at: 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" - * } - * ] - */ - 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: components["schemas"]["webhook-config"]; - /** - * 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": { - /** Format: int64 */ - 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 - * @enum {string|null} - */ - state_reason?: "completed" | "reopened" | "not_planned" | "duplicate" | 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; - type?: components["schemas"]["issue-type"]; - repository?: components["schemas"]["repository"]; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - author_association: components["schemas"]["author-association"]; - reactions?: components["schemas"]["reaction-rollup"]; - sub_issues_summary?: components["schemas"]["sub-issues-summary"]; - } | 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": { - /** - * Format: int64 - * @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": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["assigned-issue-event"] | components["schemas"]["unassigned-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"]; - /** - * Label - * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). - */ - label: { - /** - * Format: int64 - * @description Unique identifier for the label. - * @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; - /** - * @description Optional description of the label, such as its purpose. - * @example Something isn't working - */ - description: string | null; - /** - * @description 6-character hex code, without the leading #, identifying the color - * @example FFFFFF - */ - color: string; - /** - * @description Whether this label comes by default in a new repository. - * @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; - verified_at: 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; - /** - * Format: int64 - * @description The ID of the pull request review to which the comment belongs. - * @example 42 - */ - pull_request_review_id: number | null; - /** - * Format: int64 - * @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 closing down; 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 closing down; 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"; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - 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": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"] | components["schemas"]["timeline-comment-event"] | components["schemas"]["timeline-cross-referenced-event"] | components["schemas"]["timeline-committed-event"] | components["schemas"]["timeline-reviewed-event"] | components["schemas"]["timeline-line-commented-event"] | components["schemas"]["timeline-commit-commented-event"] | components["schemas"]["timeline-assigned-issue-event"] | components["schemas"]["timeline-unassigned-issue-event"] | components["schemas"]["state-change-issue-event"]; - /** - * 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; - added_by?: string | null; - last_used?: string | null; - enabled?: 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; - }; - /** - * GitHub Pages - * @description The GitHub Pages deployment status. - */ - "page-deployment": { - /** @description The ID of the GitHub Pages deployment. This is the Git SHA of the deployed commit. */ - id: number | string; - /** - * Format: uri - * @description The URI to monitor GitHub Pages deployment status. - * @example https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251 - */ - status_url: string; - /** - * Format: uri - * @description The URI to the deployed GitHub Pages. - * @example hello-world.github.io - */ - page_url: string; - /** - * Format: uri - * @description The URI to the deployed GitHub Pages preview. - * @example monalisa-1231a2312sa32-23sda74.drafts.github.io - */ - preview_url?: string; - }; - /** GitHub Pages deployment status */ - "pages-deployment-status": { - /** - * @description The current status of the deployment. - * @enum {string} - */ - status?: "deployment_in_progress" | "syncing_files" | "finished_file_sync" | "updating_pages" | "purging_cdn" | "deployment_cancelled" | "deployment_failed" | "deployment_content_failed" | "deployment_attempt_error" | "deployment_lost" | "succeed"; - }; - /** - * 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; - }; - /** - * 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; - /** - * Format: int64 - * @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"]["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: components["schemas"]["repository"]; - sha: string; - user: components["schemas"]["simple-user"]; - }; - base: { - label: string; - ref: string; - repo: components["schemas"]["repository"]; - sha: string; - user: components["schemas"]["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; - 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": { - /** - * Format: int64 - * @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. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`. - * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 - */ - commit_id: string | null; - 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; - /** - * Format: int64 - * @example 42 - */ - pull_request_review_id: number | null; - /** - * Format: int64 - * @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; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - }; - /** - * 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; - digest: string | null; - 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; - /** - * @description Whether or not the release is immutable. - * @example false - */ - immutable?: 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; - }; - /** - * repository ruleset data for rule - * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. - */ - "repository-rule-ruleset-info": { - /** - * @description The type of source for the ruleset that includes this rule. - * @enum {string} - */ - ruleset_source_type?: "Repository" | "Organization"; - /** @description The name of the source of the ruleset that includes this rule. */ - ruleset_source?: string; - /** @description The ID of the ruleset that includes this rule. */ - ruleset_id?: number; - }; - /** - * Repository Rule - * @description A repository rule with ruleset details. - */ - "repository-rule-detailed": (components["schemas"]["repository-rule-creation"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-update"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-deletion"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-linear-history"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-merge-queue"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-deployments"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-signatures"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-pull-request"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-status-checks"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-non-fast-forward"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-message-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-author-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-committer-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-branch-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-tag-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-file-path-restriction"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-max-file-path-length"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-file-extension-restriction"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-max-file-size"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-workflows"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-code-scanning"] & components["schemas"]["repository-rule-ruleset-info"]); - "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 An optional comment to resolve an alert. */ - resolution_comment?: string | null; - /** @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 "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ - 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; - push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; - /** @description An optional comment when reviewing a push protection bypass. */ - push_protection_bypass_request_reviewer_comment?: string | null; - /** @description An optional comment when requesting a push protection bypass. */ - push_protection_bypass_request_comment?: string | null; - /** - * Format: uri - * @description The URL to a push protection bypass request. - */ - push_protection_bypass_request_html_url?: string | null; - /** - * @description The token status as of the latest validity check. - * @enum {string} - */ - validity?: "active" | "inactive" | "unknown"; - /** @description Whether the detected secret was publicly leaked. */ - publicly_leaked?: boolean | null; - /** @description Whether the detected secret was found in multiple repositories under the same organization or enterprise. */ - multi_repo?: boolean | null; - /** @description A boolean value representing whether or not alert is base64 encoded */ - is_base64_encoded?: boolean | null; - first_location_detected?: components["schemas"]["nullable-secret-scanning-first-detected-location"]; - /** @description A boolean value representing whether or not the token in the alert was detected in more than one location. */ - has_more_locations?: boolean; - }; - /** @description An optional comment when closing or reopening an alert. Cannot be updated or deleted. */ - "secret-scanning-alert-resolution-comment": string | null; - "secret-scanning-location": { - /** - * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues, pull requests, discussions), this field identifies the type of resource where the secret was found. - * @example commit - * @enum {string} - */ - type?: "commit" | "wiki_commit" | "issue_title" | "issue_body" | "issue_comment" | "discussion_title" | "discussion_body" | "discussion_comment" | "pull_request_title" | "pull_request_body" | "pull_request_comment" | "pull_request_review" | "pull_request_review_comment"; - details?: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]; - }; - /** - * @description The reason for bypassing push protection. - * @enum {string} - */ - "secret-scanning-push-protection-bypass-reason": "false_positive" | "used_in_tests" | "will_fix_later"; - "secret-scanning-push-protection-bypass": { - reason?: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; - /** - * Format: date-time - * @description The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - expire_at?: string | null; - /** @description The token type this bypass is for. */ - token_type?: string; - }; - /** @description Information on a single scan performed by secret scanning on the repository */ - "secret-scanning-scan": { - /** @description The type of scan */ - type?: string; - /** @description The state of the scan. Either "completed", "running", or "pending" */ - status?: string; - /** - * Format: date-time - * @description The time that the scan was completed. Empty if the scan is running - */ - completed_at?: string | null; - /** - * Format: date-time - * @description The time that the scan was started. Empty if the scan is pending - */ - started_at?: string | null; - }; - "secret-scanning-scan-history": { - incremental_scans?: components["schemas"]["secret-scanning-scan"][]; - pattern_update_scans?: components["schemas"]["secret-scanning-scan"][]; - backfill_scans?: components["schemas"]["secret-scanning-scan"][]; - custom_pattern_backfill_scans?: (components["schemas"]["secret-scanning-scan"] & { - /** @description Name of the custom pattern for custom pattern scans */ - pattern_name?: string; - /** @description Level at which the custom pattern is defined, one of "repository", "organization", or "enterprise" */ - pattern_scope?: string; - })[]; - }; - "repository-advisory-create": { - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory impacts. */ - description: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id?: string | null; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities: { - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - }[]; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** @description A list of users receiving credit for their participation in the security advisory. */ - credits?: { - /** @description The username of the user credited. */ - login: string; - type: components["schemas"]["security-advisory-credit-types"]; - }[] | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - /** - * @description Whether to create a temporary private fork of the repository to collaborate on a fix. - * @default false - */ - start_private_fork: boolean; - }; - "private-vulnerability-report-create": { - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory impacts. */ - description: string; - /** @description An array of products affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities?: { - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - }[] | null; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - /** - * @description Whether to create a temporary private fork of the repository to collaborate on a fix. - * @default false - */ - start_private_fork: boolean; - }; - "repository-advisory-update": { - /** @description A short summary of the advisory. */ - summary?: string; - /** @description A detailed description of what the advisory impacts. */ - description?: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id?: string | null; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities?: { - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - }[]; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** @description A list of users receiving credit for their participation in the security advisory. */ - credits?: { - /** @description The username of the user credited. */ - login: string; - type: components["schemas"]["security-advisory-credit-types"]; - }[] | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - /** - * @description The state of the advisory. - * @enum {string} - */ - state?: "published" | "closed" | "draft"; - /** @description A list of usernames who have been granted write access to the advisory. */ - collaborating_users?: string[] | null; - /** @description A list of team slugs which have been granted write access to the advisory. */ - collaborating_teams?: string[] | null; - }; - /** - * 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"][]; - }; - /** 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; - /** Format: int64 */ - 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; - }[]; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - 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; - type?: components["schemas"]["issue-type"]; - 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; - has_discussions?: 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; - /** @example false */ - web_commit_signoff_required?: 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; - /** Format: int64 */ - 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; - user_view_type?: string; - }; - /** - * Private User - * @description Private User - */ - "private-user": { - /** @example octocat */ - login: string; - /** - * Format: int64 - * @example 1 - */ - id: number; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - user_view_type: "private"; - /** @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 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; - /** - * Format: email - * @example octocat@github.com - */ - notification_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; - }; - 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; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * @description The type of repositories in the organization that the secret is visible to - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @description The API URL at which the list of repositories this secret is visible to 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; - }; - /** - * Codespace - * @description A codespace. - */ - "codespace-with-full-repository": { - /** - * Format: int64 - * @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"]["full-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 initally assigned location of a new codespace. - * @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 to publish this codespace to a new repository. - */ - publish_url?: string | null; - /** - * 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; - /** - * @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). - * @example 60 - */ - retention_period_minutes?: number | null; - /** - * Format: date-time - * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" - * @example 2011-01-26T20:01:12Z - */ - retention_expires_at?: 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": { - /** - * Format: int64 - * @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": [], - * "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: { - /** Format: int64 */ - id?: number; - primary_key_id?: number; - key_id?: string; - public_key?: string; - emails?: { - email?: string; - verified?: boolean; - }[]; - 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; - /** Format: int64 */ - 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"]; - }; - /** - * Social account - * @description Social media account - */ - "social-account": { - /** @example linkedin */ - provider: string; - /** @example https://www.linkedin.com/company/github/ */ - url: string; - }; - /** - * SSH Signing Key - * @description A public SSH key used to sign Git commits - */ - "ssh-signing-key": { - key: string; - id: number; - title: string; - /** Format: date-time */ - created_at: string; - }; - /** - * 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; - /** Format: date-time */ - created_at?: string; - }; - "billing-usage-report-user": { - usageItems?: { - /** @description Date of the usage line item. */ - date: string; - /** @description Product name. */ - product: string; - /** @description SKU name. */ - sku: string; - /** @description Quantity of the usage line item. */ - quantity: number; - /** @description Unit type of the usage line item. */ - unitType: string; - /** @description Price per unit of the usage line item. */ - pricePerUnit: number; - /** @description Gross amount of the usage line item. */ - grossAmount: number; - /** @description Discount amount of the usage line item. */ - discountAmount: number; - /** @description Net amount of the usage line item. */ - netAmount: number; - /** @description Name of the repository. */ - repositoryName?: string; - }[]; - }; - /** - * Enterprise - * @description An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured - * on an enterprise account or an organization that's part of an enterprise account. For more information, - * see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." - */ - "enterprise-webhooks": { - /** @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; - }; - /** - * Simple Installation - * @description The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured - * for and sent to a GitHub App. For more information, - * see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." - */ - "simple-installation": { - /** - * @description The ID of the installation. - * @example 1 - */ - id: number; - /** - * @description The global node ID of the installation. - * @example MDQ6VXNlcjU4MzIzMQ== - */ - node_id: string; - }; - /** - * Organization Simple - * @description A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an - * organization, or when the event occurs from activity in a repository owned by an organization. - */ - "organization-simple-webhooks": { - /** @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; - }; - /** - * Repository - * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - * when the event occurs from activity in a repository. - */ - "repository-webhooks": { - /** - * Format: int64 - * @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; - /** - * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. - * @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 The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - /** - * @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 discussions are enabled. - * @default false - * @example true - */ - has_discussions: 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; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - 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; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @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; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; - /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. - */ - webhooks_rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: string[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - /** - * @description The enforcement level of the branch lock setting. `off` means the branch is not locked, `non_admins` means the branch is read-only for non_admins, and `everyone` means the branch is read-only for everyone. - * @enum {string} - */ - lock_branch_enforcement_level: "off" | "non_admins" | "everyone"; - /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow users to pull changes from upstream when the branch is locked. This setting is only applicable for forks. */ - lock_allows_fork_sync?: boolean; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ - require_last_push_approval?: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; - required_status_checks: string[]; - /** @enum {string} */ - required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - /** @description A suite of checks performed on the code of a given code change */ - "simple-check-suite": { - /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ - after?: string | null; - app?: components["schemas"]["integration"]; - /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ - before?: string | null; - /** - * @example neutral - * @enum {string|null} - */ - conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "stale" | "startup_failure" | null; - /** Format: date-time */ - created_at?: string; - /** @example master */ - head_branch?: string | null; - /** - * @description The SHA of the head commit that is being checked. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha?: string; - /** @example 5 */ - id?: number; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id?: string; - pull_requests?: components["schemas"]["pull-request-minimal"][]; - repository?: components["schemas"]["minimal-repository"]; - /** - * @example completed - * @enum {string} - */ - status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; - /** Format: date-time */ - updated_at?: string; - /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ - url?: string; - }; - /** - * CheckRun - * @description A check performed on the code of a given code change - */ - "check-run-with-simple-check-suite": { - app: components["schemas"]["integration"]; - check_suite: components["schemas"]["simple-check-suite"]; - /** - * Format: date-time - * @example 2018-05-04T01:14:52Z - */ - completed_at: string | null; - /** - * @example neutral - * @enum {string|null} - */ - conclusion: "waiting" | "pending" | "startup_failure" | "stale" | "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; - deployment?: components["schemas"]["deployment-simple"]; - /** @example https://example.com */ - details_url: string; - /** @example 42 */ - external_id: string; - /** - * @description The SHA of the commit that is being checked. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha: string; - /** @example https://github.com/github/hello-world/runs/4 */ - html_url: string; - /** - * @description The id of the check. - * @example 21 - */ - id: number; - /** - * @description The name of the check. - * @example test-coverage - */ - name: string; - /** @example MDg6Q2hlY2tSdW40 */ - node_id: string; - output: { - annotations_count: number; - /** Format: uri */ - annotations_url: string; - summary: string | null; - text: string | null; - title: string | null; - }; - pull_requests: components["schemas"]["pull-request-minimal"][]; - /** - * Format: date-time - * @example 2018-05-04T01:14:52Z - */ - started_at: string; - /** - * @description The phase of the lifecycle that the check is currently in. - * @example queued - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "pending"; - /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - webhooks_code_scanning_commit_oid: string; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - webhooks_code_scanning_ref: string; - /** @description The pusher type for the event. Can be either `user` or a deploy key. */ - webhooks_deploy_pusher_type: string; - /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ - webhooks_ref_0: string; - /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ - webhooks_deploy_key: { - added_by?: string | null; - created_at: string; - id: number; - key: string; - last_used?: string | null; - read_only: boolean; - title: string; - /** Format: uri */ - url: string; - verified: boolean; - enabled?: boolean; - }; - /** Workflow */ - webhooks_workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - webhooks_approver: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - user_view_type?: string; - }; - webhooks_reviewers: { - /** User */ - reviewer?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @enum {string} */ - type?: "User"; - }[]; - webhooks_workflow_job_run: { - conclusion: unknown; - created_at: string; - environment: string; - html_url: string; - id: number; - name: unknown; - status: string; - updated_at: string; - }; - /** User */ - webhooks_user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - webhooks_answer: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - /** Format: date-time */ - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: unknown; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** - * Discussion - * @description A Discussion in a repository. - */ - discussion: { - active_lock_reason: string | null; - answer_chosen_at: string | null; - /** User */ - answer_chosen_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - answer_html_url: string | null; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** - * @description The current state of the discussion. - * `converting` means that the discussion is being converted from an issue. - * `transferring` means that the discussion is being transferred from another repository. - * @enum {string} - */ - state: "open" | "closed" | "locked" | "converting" | "transferring"; - /** - * @description The reason for the current state - * @example resolved - * @enum {string|null} - */ - state_reason: "resolved" | "outdated" | "duplicate" | "reopened" | null; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - labels?: components["schemas"]["label"][]; - }; - webhooks_comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: number | null; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Label */ - webhooks_label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - /** @description An array of repository objects that the installation can access. */ - webhooks_repositories: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - /** @description An array of repository objects, which were added to the installation. */ - webhooks_repositories_added: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - webhooks_repository_selection: "all" | "selected"; - /** - * issue comment - * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. - */ - webhooks_issue_comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue comment */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the issue comment - */ - id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: components["schemas"]["integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** @description The changes to the comment. */ - webhooks_changes: { - body?: { - /** @description The previous version of the body. */ - from: string; - }; - }; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - webhooks_issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - type?: components["schemas"]["issue-type"]; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - webhooks_milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - webhooks_issue_2: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - type?: components["schemas"]["issue-type"]; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** User */ - webhooks_user_mannequin: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** Marketplace Purchase */ - webhooks_marketplace_purchase: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date: string | null; - on_free_trial: boolean; - plan: { - bullets: (string | null)[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - /** Marketplace Purchase */ - webhooks_previous_marketplace_purchase: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: unknown; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - webhooks_team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** @enum {string} */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - /** - * Merge Group - * @description A group of pull requests that the merge queue has grouped together to be merged. - */ - "merge-group": { - /** @description The SHA of the merge group. */ - head_sha: string; - /** @description The full ref of the merge group. */ - head_ref: string; - /** @description The SHA of the merge group's parent commit. */ - base_sha: string; - /** @description The full ref of the branch the merge group will be merged into. */ - base_ref: string; - head_commit: components["schemas"]["simple-commit"]; - }; - /** - * Repository - * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - * when the event occurs from activity in a repository. - */ - "nullable-repository-webhooks": { - /** - * Format: int64 - * @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; - /** - * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. - * @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 The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - /** - * @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 discussions are enabled. - * @default false - * @example true - */ - has_discussions: 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; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - 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; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @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; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - webhooks_milestone_3: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - webhooks_membership: { - /** Format: uri */ - organization_url: string; - role: string; - /** - * @description Whether the user has direct membership in the organization. - * @example true - */ - direct_membership?: boolean; - /** - * @description The slugs of the enterprise teams providing the user with indirect membership in the organization. - * A limit of 100 enterprise team slugs is returned. - * @example [ - * "ent:team-one", - * "ent:team-two" - * ] - */ - enterprise_teams_providing_indirect_membership?: string[]; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** - * Personal Access Token Request - * @description Details of a Personal Access Token Request. - */ - "personal-access-token-request": { - /** @description Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls. */ - id: number; - owner: components["schemas"]["simple-user"]; - /** @description New requested permissions, categorized by type of permission. */ - permissions_added: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ - permissions_upgraded: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ - permissions_result: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ - repository_count: number | null; - /** @description An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ - repositories: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[] | null; - /** @description Date and time when the request for access was created. */ - created_at: string; - /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ - token_id: number; - /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ - token_name: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** Project Card */ - webhooks_project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - /** Project */ - webhooks_project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - /** Project Column */ - webhooks_project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - /** - * Projects v2 Project - * @description A projects v2 project - */ - "projects-v2": { - id: number; - node_id: string; - owner: components["schemas"]["simple-user"]; - creator: components["schemas"]["simple-user"]; - title: string; - description: string | null; - public: boolean; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - closed_at: string | null; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - created_at: string; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - updated_at: string; - number: number; - short_description: string | null; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - deleted_at: string | null; - deleted_by: components["schemas"]["nullable-simple-user"]; - }; - webhooks_project_changes: { - archived_at?: { - /** Format: date-time */ - from?: string | null; - /** Format: date-time */ - to?: string | null; - }; - }; - /** - * Projects v2 Item Content Type - * @description The type of content tracked in a project item - * @enum {string} - */ - "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; - /** - * Projects v2 Item - * @description An item belonging to a project - */ - "projects-v2-item": { - id: number; - node_id?: string; - project_node_id?: string; - content_node_id: string; - content_type: components["schemas"]["projects-v2-item-content-type"]; - creator?: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - created_at: string; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - archived_at: string | null; - }; - /** - * Projects v2 Single Select Option - * @description An option for a single select field - */ - "projects-v2-single-select-option": { - id: string; - name: string; - color?: string | null; - description?: string | null; - }; - /** - * Projects v2 Iteration Setting - * @description An iteration setting for an iteration field - */ - "projects-v2-iteration-setting": { - id: string; - title: string; - duration?: number | null; - start_date?: string | null; - }; - /** - * Projects v2 Status Update - * @description An status update belonging to a project - */ - "projects-v2-status-update": { - id: number; - node_id: string; - project_node_id?: string; - creator?: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - created_at: string; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - updated_at: string; - /** @enum {string|null} */ - status?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; - /** - * Format: date - * @example 2022-04-28 - */ - start_date?: string; - /** - * Format: date - * @example 2022-04-28 - */ - target_date?: string; - /** - * @description Body of the status update - * @example The project is off to a great start! - */ - body?: string | null; - }; - /** @description The pull request number. */ - webhooks_number: number; - "pull-request-webhook": components["schemas"]["pull-request"] & { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default: boolean; - }; - /** Pull Request */ - webhooks_pull_request_5: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. - */ - webhooks_review_comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - 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 level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** @description The review that was affected. */ - webhooks_review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the review. */ - body: string | null; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - state: string; - /** Format: date-time */ - submitted_at: string | null; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - webhooks_nullable_string: string | null; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - webhooks_release: { - assets: { - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - digest: string | null; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - url: string; - }[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - /** @description Whether or not the release is immutable. */ - immutable: boolean; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - webhooks_release_1: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - digest: string | null; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - url: string; - } | null)[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - /** @description Whether or not the release is immutable. */ - immutable: boolean; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - /** - * Repository Vulnerability Alert Alert - * @description The security alert of the vulnerable dependency. - */ - webhooks_alert: { - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open"; - }; - /** - * @description The reason for resolving the alert. - * @enum {string|null} - */ - "secret-scanning-alert-resolution-webhook": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | "pattern_deleted" | "pattern_edited" | null; - "secret-scanning-alert-webhook": { - 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; - resolution?: components["schemas"]["secret-scanning-alert-resolution-webhook"]; - /** - * 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 An optional comment to resolve an alert. */ - resolution_comment?: string | null; - /** @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 "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ - secret_type_display_name?: string; - /** - * @description The token status as of the latest validity check. - * @enum {string} - */ - validity?: "active" | "inactive" | "unknown"; - /** @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; - push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; - /** @description An optional comment when reviewing a push protection bypass. */ - push_protection_bypass_request_reviewer_comment?: string | null; - /** @description An optional comment when requesting a push protection bypass. */ - push_protection_bypass_request_comment?: string | null; - /** - * Format: uri - * @description The URL to a push protection bypass request. - */ - push_protection_bypass_request_html_url?: string | null; - /** @description Whether the detected secret was publicly leaked. */ - publicly_leaked?: boolean | null; - /** @description Whether the detected secret was found in multiple repositories in the same organization or business. */ - multi_repo?: boolean | null; - }; - /** @description The details of the security advisory, including summary, description, and severity. */ - webhooks_security_advisory: { - cvss: { - score: number; - vector_string: string | null; - }; - cvss_severities?: components["schemas"]["cvss-severities"]; - cwes: { - cwe_id: string; - name: string; - }[]; - description: string; - ghsa_id: string; - identifiers: { - type: string; - value: string; - }[]; - published_at: string; - references: { - /** Format: uri */ - url: string; - }[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: { - first_patched_version: { - identifier: string; - } | null; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - }[]; - withdrawn_at: string | null; - }; - webhooks_sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - user_view_type?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** User */ - sponsorable: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ - webhooks_effective_date: string; - webhooks_changes_8: { - tier: { - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - from: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - webhooks_team_1: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - /** branch protection configuration disabled event */ - "webhook-branch-protection-configuration-disabled": { - /** @enum {string} */ - action: "disabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** branch protection configuration enabled event */ - "webhook-branch-protection-configuration-enabled": { - /** @enum {string} */ - action: "enabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** branch protection rule created event */ - "webhook-branch-protection-rule-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - rule: components["schemas"]["webhooks_rule"]; - sender: components["schemas"]["simple-user"]; - }; - /** branch protection rule deleted event */ - "webhook-branch-protection-rule-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - rule: components["schemas"]["webhooks_rule"]; - sender: components["schemas"]["simple-user"]; - }; - /** branch protection rule edited event */ - "webhook-branch-protection-rule-edited": { - /** @enum {string} */ - action: "edited"; - /** @description If the action was `edited`, the changes to the rule. */ - changes?: { - admin_enforced?: { - from: boolean | null; - }; - authorized_actor_names?: { - from: string[]; - }; - authorized_actors_only?: { - from: boolean | null; - }; - authorized_dismissal_actors_only?: { - from: boolean | null; - }; - linear_history_requirement_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - lock_branch_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - lock_allows_fork_sync?: { - from: boolean | null; - }; - pull_request_reviews_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - require_last_push_approval?: { - from: boolean | null; - }; - required_status_checks?: { - from: string[]; - }; - required_status_checks_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - rule: components["schemas"]["webhooks_rule"]; - sender: components["schemas"]["simple-user"]; - }; - /** Check Run Completed Event */ - "webhook-check-run-completed": { - /** @enum {string} */ - action?: "completed"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** - * Check Run Completed Event - * @description The check_run.completed webhook encoded with URL encoding - */ - "webhook-check-run-completed-form-encoded": { - /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** Check Run Created Event */ - "webhook-check-run-created": { - /** @enum {string} */ - action?: "created"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** - * Check Run Created Event - * @description The check_run.created webhook encoded with URL encoding - */ - "webhook-check-run-created-form-encoded": { - /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** Check Run Requested Action Event */ - "webhook-check-run-requested-action": { - /** @enum {string} */ - action: "requested_action"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** @description The action requested by the user. */ - requested_action?: { - /** @description The integrator reference of the action requested by the user. */ - identifier?: string; - }; - sender: components["schemas"]["simple-user"]; - }; - /** - * Check Run Requested Action Event - * @description The check_run.requested_action webhook encoded with URL encoding - */ - "webhook-check-run-requested-action-form-encoded": { - /** @description A URL-encoded string of the check_run.requested_action JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** Check Run Re-Requested Event */ - "webhook-check-run-rerequested": { - /** @enum {string} */ - action?: "rerequested"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** - * Check Run Re-Requested Event - * @description The check_run.rerequested webhook encoded with URL encoding - */ - "webhook-check-run-rerequested-form-encoded": { - /** @description A URL-encoded string of the check_run.rerequested JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** check_suite completed event */ - "webhook-check-suite-completed": { - /** @enum {string} */ - action: "completed"; - /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ - check_suite: { - after: string | null; - /** - * 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. - */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_group" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "projects_v2_item" | "secret_scanning_alert_location")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The client ID of the GitHub app */ - client_id?: string | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }; - before: string | null; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has `completed`. - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; - /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} - */ - status: "requested" | "in_progress" | "completed" | "queued" | null | "pending"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** check_suite requested event */ - "webhook-check-suite-requested": { - /** @enum {string} */ - action: "requested"; - /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ - check_suite: { - after: string | null; - /** - * 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. - */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "secret_scanning_alert_location" | "projects_v2_item" | "merge_group" | "repository_import")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description Client ID of the GitHub app */ - client_id?: string | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }; - before: string | null; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has completed. - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped"; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; - /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} - */ - status: "requested" | "in_progress" | "completed" | "queued" | null; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** check_suite rerequested event */ - "webhook-check-suite-rerequested": { - /** @enum {string} */ - action: "rerequested"; - /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ - check_suite: { - after: string | null; - /** - * 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. - */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The Client ID for the GitHub app */ - client_id?: string | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }; - before: string | null; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has completed. - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; - /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} - */ - status: "requested" | "in_progress" | "completed" | "queued" | null; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** code_scanning_alert appeared_in_branch event */ - "webhook-code-scanning-alert-appeared-in-branch": { - /** @enum {string} */ - action: "appeared_in_branch"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - dismissed_at: string | null; - /** User */ - dismissed_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - /** - * @description The reason for dismissing or closing the alert. - * @enum {string|null} - */ - dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; - /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - fixed_at?: unknown; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: 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. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - }; - /** - * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. - * @enum {string|null} - */ - state: "open" | "dismissed" | "fixed" | null; - tool: { - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - ref: components["schemas"]["webhooks_code_scanning_ref"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** code_scanning_alert closed_by_user event */ - "webhook-code-scanning-alert-closed-by-user": { - /** @enum {string} */ - action: "closed_by_user"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - dismissed_at: string; - /** User */ - dismissed_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - /** - * @description The reason for dismissing or closing the alert. - * @enum {string|null} - */ - dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; - /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - fixed_at?: unknown; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: 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. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "dismissed" | "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - /** User */ - dismissal_approved_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - ref: components["schemas"]["webhooks_code_scanning_ref"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** code_scanning_alert created event */ - "webhook-code-scanning-alert-created": { - /** @enum {string} */ - action: "created"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string | null; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: unknown; - dismissed_by: unknown; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: unknown; - /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - fixed_at?: unknown; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - instances_url?: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: 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. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; - }; - /** - * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. - * @enum {string|null} - */ - state: "open" | "dismissed" | null; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - } | null; - updated_at?: string | null; - /** Format: uri */ - url: string; - dismissal_approved_by?: unknown; - }; - commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - ref: components["schemas"]["webhooks_code_scanning_ref"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** code_scanning_alert fixed event */ - "webhook-code-scanning-alert-fixed": { - /** @enum {string} */ - action: "fixed"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - dismissed_at: string | null; - /** User */ - dismissed_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - /** - * @description The reason for dismissing or closing the alert. - * @enum {string|null} - */ - dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; - /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - fixed_at?: unknown; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - /** Format: uri */ - instances_url?: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: 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. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; - }; - /** - * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. - * @enum {string|null} - */ - state: "fixed" | null; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - ref: components["schemas"]["webhooks_code_scanning_ref"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** code_scanning_alert reopened event */ - "webhook-code-scanning-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: string | null; - dismissed_by: Record | null; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: string | null; - /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - fixed_at?: unknown; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: 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. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; - }; - /** - * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. - * @enum {string|null} - */ - state: "open" | "dismissed" | "fixed" | null; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - } | null; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string | null; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** code_scanning_alert reopened_by_user event */ - "webhook-code-scanning-alert-reopened-by-user": { - /** @enum {string} */ - action: "reopened_by_user"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: unknown; - dismissed_by: unknown; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: unknown; - /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - fixed_at?: unknown; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: 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. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - }; - /** - * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. - * @enum {string|null} - */ - state: "open" | "fixed" | null; - tool: { - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - ref: components["schemas"]["webhooks_code_scanning_ref"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** commit_comment created event */ - "webhook-commit-comment-created": { - /** - * @description The action performed. Can be `created`. - * @enum {string} - */ - action: "created"; - /** @description The [commit comment](${externalDocsUpapp/api/description/components/schemas/webhooks/issue-comment-created.yamlrl}/rest/commits/comments#get-a-commit-comment) resource. */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - created_at: string; - /** Format: uri */ - html_url: string; - /** @description The ID of the commit comment. */ - id: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the commit comment. */ - node_id: string; - /** @description The relative path of the file to which the comment applies. */ - path: string | null; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** create event */ - "webhook-create": { - /** @description The repository's current description. */ - description: string | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The name of the repository's default branch (usually `main`). */ - master_branch: string; - organization?: components["schemas"]["organization-simple-webhooks"]; - pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; - ref: components["schemas"]["webhooks_ref_0"]; - /** - * @description The type of Git ref object created in the repository. - * @enum {string} - */ - ref_type: "tag" | "branch"; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** custom property created event */ - "webhook-custom-property-created": { - /** @enum {string} */ - action: "created"; - definition: components["schemas"]["custom-property"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** custom property deleted event */ - "webhook-custom-property-deleted": { - /** @enum {string} */ - action: "deleted"; - definition: { - /** @description The name of the property that was deleted. */ - property_name: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** custom property promoted to business event */ - "webhook-custom-property-promoted-to-enterprise": { - /** @enum {string} */ - action: "promote_to_enterprise"; - definition: components["schemas"]["custom-property"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** custom property updated event */ - "webhook-custom-property-updated": { - /** @enum {string} */ - action: "updated"; - definition: components["schemas"]["custom-property"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** Custom property values updated event */ - "webhook-custom-property-values-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - repository: components["schemas"]["repository-webhooks"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender?: components["schemas"]["simple-user"]; - /** @description The new custom property values for the repository. */ - new_property_values: components["schemas"]["custom-property-value"][]; - /** @description The old custom property values for the repository. */ - old_property_values: components["schemas"]["custom-property-value"][]; - }; - /** delete event */ - "webhook-delete": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; - ref: components["schemas"]["webhooks_ref_0"]; - /** - * @description The type of Git ref object deleted in the repository. - * @enum {string} - */ - ref_type: "tag" | "branch"; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** Dependabot alert auto-dismissed event */ - "webhook-dependabot-alert-auto-dismissed": { - /** @enum {string} */ - action: "auto_dismissed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** Dependabot alert auto-reopened event */ - "webhook-dependabot-alert-auto-reopened": { - /** @enum {string} */ - action: "auto_reopened"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** Dependabot alert created event */ - "webhook-dependabot-alert-created": { - /** @enum {string} */ - action: "created"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** Dependabot alert dismissed event */ - "webhook-dependabot-alert-dismissed": { - /** @enum {string} */ - action: "dismissed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** Dependabot alert fixed event */ - "webhook-dependabot-alert-fixed": { - /** @enum {string} */ - action: "fixed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** Dependabot alert reintroduced event */ - "webhook-dependabot-alert-reintroduced": { - /** @enum {string} */ - action: "reintroduced"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** Dependabot alert reopened event */ - "webhook-dependabot-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** deploy_key created event */ - "webhook-deploy-key-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - key: components["schemas"]["webhooks_deploy_key"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** deploy_key deleted event */ - "webhook-deploy-key-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - key: components["schemas"]["webhooks_deploy_key"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** deployment created event */ - "webhook-deployment-created": { - /** @enum {string} */ - action: "created"; - /** - * Deployment - * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). - */ - deployment: { - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - environment: string; - id: number; - node_id: string; - original_environment: string; - payload: Record | string; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "workflow_job" | "pull_request_review_thread" | "merge_queue_entry" | "secret_scanning_alert_location" | "merge_group")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - production_environment?: boolean; - ref: string; - /** Format: uri */ - repository_url: string; - sha: string; - /** Format: uri */ - statuses_url: string; - task: string; - transient_environment?: boolean; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - workflow: components["schemas"]["webhooks_workflow"]; - /** Deployment Workflow Run */ - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: unknown; - head_repository?: { - 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?: unknown; - 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; - 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; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: 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; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: unknown; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - 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?: unknown; - 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; - 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; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: 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; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - } | null; - }; - /** deployment protection rule requested event */ - "webhook-deployment-protection-rule-requested": { - /** @enum {string} */ - action?: "requested"; - /** @description The name of the environment that has the deployment protection rule. */ - environment?: string; - /** @description The event that triggered the deployment protection rule. */ - event?: string; - /** - * Format: uri - * @description The URL to review the deployment protection rule. - */ - deployment_callback_url?: string; - deployment?: components["schemas"]["deployment"]; - pull_requests?: components["schemas"]["pull-request"][]; - repository?: components["schemas"]["repository-webhooks"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - sender?: components["schemas"]["simple-user"]; - }; - "webhook-deployment-review-approved": { - /** @enum {string} */ - action: "approved"; - approver?: components["schemas"]["webhooks_approver"]; - comment?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - reviewers?: components["schemas"]["webhooks_reviewers"]; - sender: components["schemas"]["simple-user"]; - since: string; - workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; - workflow_job_runs?: { - conclusion?: unknown; - created_at?: string; - environment?: string; - html_url?: string; - id?: number; - name?: string | null; - status?: string; - updated_at?: string; - }[]; - /** Deployment Workflow Run */ - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - 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; - 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; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - user_view_type?: 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; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - 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; - 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; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - user_view_type?: 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; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - } | null; - }; - "webhook-deployment-review-rejected": { - /** @enum {string} */ - action: "rejected"; - approver?: components["schemas"]["webhooks_approver"]; - comment?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - reviewers?: components["schemas"]["webhooks_reviewers"]; - sender: components["schemas"]["simple-user"]; - since: string; - workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; - workflow_job_runs?: { - conclusion?: string | null; - created_at?: string; - environment?: string; - html_url?: string; - id?: number; - name?: string | null; - status?: string; - updated_at?: string; - }[]; - /** Deployment Workflow Run */ - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - 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; - 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; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - user_view_type?: 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; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - 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; - 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; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - user_view_type?: 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; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - display_title: string; - } | null; - }; - "webhook-deployment-review-requested": { - /** @enum {string} */ - action: "requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - environment: string; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - requestor: components["schemas"]["webhooks_user"]; - reviewers: { - /** User */ - reviewer?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @enum {string} */ - type?: "User" | "Team"; - }[]; - sender: components["schemas"]["simple-user"]; - since: string; - workflow_job_run: { - conclusion: unknown; - created_at: string; - environment: string; - html_url: string; - id: number; - name: string | null; - status: string; - updated_at: string; - }; - /** Deployment Workflow Run */ - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - 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; - 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; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - user_view_type?: 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; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - 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; - 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; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - user_view_type?: 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; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - display_title: string; - } | null; - }; - /** deployment_status created event */ - "webhook-deployment-status-created": { - /** @enum {string} */ - action: "created"; - check_run?: { - /** Format: date-time */ - completed_at: string | null; - /** - * @description The result of the completed check run. This value will be `null` until the check run has completed. - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | null; - /** Format: uri */ - details_url: string; - external_id: string; - /** @description The SHA of the commit that is being checked. */ - head_sha: string; - /** Format: uri */ - html_url: string; - /** @description The id of the check. */ - id: number; - /** @description The name of the check run. */ - name: string; - node_id: string; - /** Format: date-time */ - started_at: string; - /** - * @description The current status of the check run. Can be `queued`, `in_progress`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "waiting" | "pending"; - /** Format: uri */ - url: string; - } | null; - /** - * Deployment - * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). - */ - deployment: { - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - environment: string; - id: number; - node_id: string; - original_environment: string; - payload: (string | Record) | null; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_queue_entry" | "workflow_job" | "pull_request_review_thread" | "secret_scanning_alert_location" | "merge_group")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - production_environment?: boolean; - ref: string; - /** Format: uri */ - repository_url: string; - sha: string; - /** Format: uri */ - statuses_url: string; - task: string; - transient_environment?: boolean; - updated_at: string; - /** Format: uri */ - url: string; - }; - /** @description The [deployment status](https://docs.github.com/rest/deployments/statuses#list-deployment-statuses). */ - deployment_status: { - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** Format: uri */ - deployment_url: string; - /** @description The optional human-readable description added to the status. */ - description: string; - environment: string; - /** Format: uri */ - environment_url?: string; - id: number; - /** Format: uri */ - log_url?: string; - node_id: string; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job" | "merge_group" | "secret_scanning_alert_location")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - /** Format: uri */ - repository_url: string; - /** @description The new state. Can be `pending`, `success`, `failure`, or `error`. */ - state: string; - /** @description The optional link added to the status. */ - target_url: string; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - workflow?: components["schemas"]["webhooks_workflow"]; - /** Deployment Workflow Run */ - workflow_run?: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "startup_failure"; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: unknown; - head_repository?: { - 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?: unknown; - 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; - 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; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: 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; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: unknown; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - 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?: unknown; - 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; - 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; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: 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; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - } | null; - }; - /** discussion answered event */ - "webhook-discussion-answered": { - /** @enum {string} */ - action: "answered"; - answer: components["schemas"]["webhooks_answer"]; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion category changed event */ - "webhook-discussion-category-changed": { - /** @enum {string} */ - action: "category_changed"; - changes: { - category: { - from: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - }; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion closed event */ - "webhook-discussion-closed": { - /** @enum {string} */ - action: "closed"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion_comment created event */ - "webhook-discussion-comment-created": { - /** @enum {string} */ - action: "created"; - comment: components["schemas"]["webhooks_comment"]; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion_comment deleted event */ - "webhook-discussion-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - comment: components["schemas"]["webhooks_comment"]; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion_comment edited event */ - "webhook-discussion-comment-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body: { - from: string; - }; - }; - comment: components["schemas"]["webhooks_comment"]; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion created event */ - "webhook-discussion-created": { - /** @enum {string} */ - action: "created"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion deleted event */ - "webhook-discussion-deleted": { - /** @enum {string} */ - action: "deleted"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion edited event */ - "webhook-discussion-edited": { - /** @enum {string} */ - action: "edited"; - changes?: { - body?: { - from: string; - }; - title?: { - from: string; - }; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion labeled event */ - "webhook-discussion-labeled": { - /** @enum {string} */ - action: "labeled"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - label: components["schemas"]["webhooks_label"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion locked event */ - "webhook-discussion-locked": { - /** @enum {string} */ - action: "locked"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion pinned event */ - "webhook-discussion-pinned": { - /** @enum {string} */ - action: "pinned"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion reopened event */ - "webhook-discussion-reopened": { - /** @enum {string} */ - action: "reopened"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion transferred event */ - "webhook-discussion-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - new_discussion: components["schemas"]["discussion"]; - new_repository: components["schemas"]["repository-webhooks"]; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion unanswered event */ - "webhook-discussion-unanswered": { - /** @enum {string} */ - action: "unanswered"; - discussion: components["schemas"]["discussion"]; - old_answer: components["schemas"]["webhooks_answer"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** discussion unlabeled event */ - "webhook-discussion-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - label: components["schemas"]["webhooks_label"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion unlocked event */ - "webhook-discussion-unlocked": { - /** @enum {string} */ - action: "unlocked"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** discussion unpinned event */ - "webhook-discussion-unpinned": { - /** @enum {string} */ - action: "unpinned"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** - * fork event - * @description A user forks a repository. - */ - "webhook-fork": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. */ - forkee: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } & { - allow_forking?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - deployments_url?: string; - description?: string | null; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - /** @enum {boolean} */ - fork?: true; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: string | null; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: unknown; - languages_url?: string; - license?: Record | null; - merges_url?: string; - milestones_url?: string; - mirror_url?: unknown; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: 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; - public?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: unknown[]; - trees_url?: string; - updated_at?: string; - url?: string; - visibility?: string; - watchers?: number; - watchers_count?: number; - }; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** github_app_authorization revoked event */ - "webhook-github-app-authorization-revoked": { - /** @enum {string} */ - action: "revoked"; - sender: components["schemas"]["simple-user"]; - }; - /** gollum event */ - "webhook-gollum": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The pages that were updated. */ - pages: { - /** - * @description The action that was performed on the page. Can be `created` or `edited`. - * @enum {string} - */ - action: "created" | "edited"; - /** - * Format: uri - * @description Points to the HTML wiki page. - */ - html_url: string; - /** @description The name of the page. */ - page_name: string; - /** @description The latest commit SHA of the page. */ - sha: string; - summary: string | null; - /** @description The current page title. */ - title: string; - }[]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** installation created event */ - "webhook-installation-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repositories?: components["schemas"]["webhooks_repositories"]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: components["schemas"]["webhooks_user"]; - sender: components["schemas"]["simple-user"]; - }; - /** installation deleted event */ - "webhook-installation-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repositories?: components["schemas"]["webhooks_repositories"]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: unknown; - sender: components["schemas"]["simple-user"]; - }; - /** installation new_permissions_accepted event */ - "webhook-installation-new-permissions-accepted": { - /** @enum {string} */ - action: "new_permissions_accepted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repositories?: components["schemas"]["webhooks_repositories"]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: unknown; - sender: components["schemas"]["simple-user"]; - }; - /** installation_repositories added event */ - "webhook-installation-repositories-added": { - /** @enum {string} */ - action: "added"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repositories_added: components["schemas"]["webhooks_repositories_added"]; - /** @description An array of repository objects, which were removed from the installation. */ - repositories_removed: { - full_name?: string; - /** @description Unique identifier of the repository */ - id?: number; - /** @description The name of the repository. */ - name?: string; - node_id?: string; - /** @description Whether the repository is private or public. */ - private?: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - repository_selection: components["schemas"]["webhooks_repository_selection"]; - requester: components["schemas"]["webhooks_user"]; - sender: components["schemas"]["simple-user"]; - }; - /** installation_repositories removed event */ - "webhook-installation-repositories-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repositories_added: components["schemas"]["webhooks_repositories_added"]; - /** @description An array of repository objects, which were removed from the installation. */ - repositories_removed: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - repository_selection: components["schemas"]["webhooks_repository_selection"]; - requester: components["schemas"]["webhooks_user"]; - sender: components["schemas"]["simple-user"]; - }; - /** installation suspend event */ - "webhook-installation-suspend": { - /** @enum {string} */ - action: "suspend"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repositories?: components["schemas"]["webhooks_repositories"]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: unknown; - sender: components["schemas"]["simple-user"]; - }; - "webhook-installation-target-renamed": { - account: { - archived_at?: string | null; - avatar_url: string; - created_at?: string; - description?: unknown; - events_url?: string; - followers?: number; - followers_url?: string; - following?: number; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - has_organization_projects?: boolean; - has_repository_projects?: boolean; - hooks_url?: string; - html_url: string; - id: number; - is_verified?: boolean; - issues_url?: string; - login?: string; - members_url?: string; - name?: string; - node_id: string; - organizations_url?: string; - public_gists?: number; - public_members_url?: string; - public_repos?: number; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - slug?: string; - starred_url?: string; - subscriptions_url?: string; - type?: string; - updated_at?: string; - url?: string; - website_url?: unknown; - user_view_type?: string; - }; - /** @enum {string} */ - action: "renamed"; - changes: { - login?: { - from: string; - }; - slug?: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - target_type: string; - }; - /** installation unsuspend event */ - "webhook-installation-unsuspend": { - /** @enum {string} */ - action: "unsuspend"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repositories?: components["schemas"]["webhooks_repositories"]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: unknown; - sender: components["schemas"]["simple-user"]; - }; - /** issue_comment created event */ - "webhook-issue-comment-created": { - /** @enum {string} */ - action: "created"; - /** - * issue comment - * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. - */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue comment */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the issue comment - */ - id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - type?: components["schemas"]["issue-type"]; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - } & { - active_lock_reason?: string | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - labels_url?: string; - locked: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - /** Format: int64 */ - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issue_comment deleted event */ - "webhook-issue-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - comment: components["schemas"]["webhooks_issue_comment"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - type?: components["schemas"]["issue-type"]; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - } & { - active_lock_reason?: string | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - labels_url?: string; - locked: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - /** Format: int64 */ - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - user_view_type?: string; - }; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issue_comment edited event */ - "webhook-issue-comment-edited": { - /** @enum {string} */ - action: "edited"; - changes: components["schemas"]["webhooks_changes"]; - comment: components["schemas"]["webhooks_issue_comment"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - type?: components["schemas"]["issue-type"]; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - } & { - active_lock_reason?: string | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - labels_url?: string; - locked: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - /** Format: int64 */ - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues assigned event */ - "webhook-issues-assigned": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "assigned"; - assignee?: components["schemas"]["webhooks_user"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: components["schemas"]["webhooks_issue"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues closed event */ - "webhook-issues-closed": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - type?: components["schemas"]["issue-type"]; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - } & { - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "closed" | "open"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - /** Format: int64 */ - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - user_view_type?: string; - }; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues deleted event */ - "webhook-issues-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - type?: components["schemas"]["issue-type"]; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues demilestoned event */ - "webhook-issues-demilestoned": { - /** @enum {string} */ - action: "demilestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - } | null)[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - type?: components["schemas"]["issue-type"]; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - milestone?: components["schemas"]["webhooks_milestone"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues edited event */ - "webhook-issues-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the issue. */ - changes: { - body?: { - /** @description The previous version of the body. */ - from: string; - }; - title?: { - /** @description The previous version of the title. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - type?: components["schemas"]["issue-type"]; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - label?: components["schemas"]["webhooks_label"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues labeled event */ - "webhook-issues-labeled": { - /** @enum {string} */ - action: "labeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - type?: components["schemas"]["issue-type"]; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - label?: components["schemas"]["webhooks_label"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues locked event */ - "webhook-issues-locked": { - /** @enum {string} */ - action: "locked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - } | null)[]; - /** Format: uri-template */ - labels_url: string; - /** @enum {boolean} */ - locked: true; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "security_and_analysis")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - type?: components["schemas"]["issue-type"]; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues milestoned event */ - "webhook-issues-milestoned": { - /** @enum {string} */ - action: "milestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - } | null)[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - type?: components["schemas"]["issue-type"]; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - milestone: components["schemas"]["webhooks_milestone"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues opened event */ - "webhook-issues-opened": { - /** @enum {string} */ - action: "opened"; - changes?: { - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - old_issue: { - /** @enum {string|null} */ - active_lock_reason?: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association?: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body?: string | null; - /** Format: date-time */ - closed_at?: string | null; - comments?: number; - /** Format: uri */ - comments_url?: string; - /** Format: date-time */ - created_at?: string; - draft?: boolean; - /** Format: uri */ - events_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url?: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone?: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id?: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url?: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title?: string; - /** Format: date-time */ - updated_at?: string; - /** - * Format: uri - * @description URL for the issue - */ - url?: string; - /** User */ - user?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - type?: components["schemas"]["issue-type"]; - } | null; - /** - * Repository - * @description A git repository - */ - old_repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** @description Whether the repository has discussions enabled. */ - has_discussions?: boolean; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require commit signoff. */ - web_commit_signoff_required?: boolean; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - type?: components["schemas"]["issue-type"]; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues pinned event */ - "webhook-issues-pinned": { - /** @enum {string} */ - action: "pinned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: components["schemas"]["webhooks_issue_2"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues reopened event */ - "webhook-issues-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - } | null)[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - type?: components["schemas"]["issue-type"]; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues transferred event */ - "webhook-issues-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - new_issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - type?: components["schemas"]["issue-type"]; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** - * Repository - * @description A git repository - */ - new_repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: components["schemas"]["webhooks_issue_2"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues typed event */ - "webhook-issues-typed": { - /** @enum {string} */ - action: "typed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: components["schemas"]["webhooks_issue"]; - type: components["schemas"]["issue-type"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues unassigned event */ - "webhook-issues-unassigned": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "unassigned"; - assignee?: components["schemas"]["webhooks_user_mannequin"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: components["schemas"]["webhooks_issue"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues unlabeled event */ - "webhook-issues-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: components["schemas"]["webhooks_issue"]; - label?: components["schemas"]["webhooks_label"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues unlocked event */ - "webhook-issues-unlocked": { - /** @enum {string} */ - action: "unlocked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - } | null)[]; - /** Format: uri-template */ - labels_url: string; - /** @enum {boolean} */ - locked: false; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * 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. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** Sub-issues Summary */ - sub_issues_summary?: { - total: number; - completed: number; - percent_completed: number; - }; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - type?: components["schemas"]["issue-type"]; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues unpinned event */ - "webhook-issues-unpinned": { - /** @enum {string} */ - action: "unpinned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: components["schemas"]["webhooks_issue_2"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** issues untyped event */ - "webhook-issues-untyped": { - /** @enum {string} */ - action: "untyped"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: components["schemas"]["webhooks_issue"]; - type: components["schemas"]["issue-type"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** label created event */ - "webhook-label-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - label: components["schemas"]["webhooks_label"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** label deleted event */ - "webhook-label-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - label: components["schemas"]["webhooks_label"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** label edited event */ - "webhook-label-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the label if the action was `edited`. */ - changes?: { - color?: { - /** @description The previous version of the color if the action was `edited`. */ - from: string; - }; - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - label: components["schemas"]["webhooks_label"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** marketplace_purchase cancelled event */ - "webhook-marketplace-purchase-cancelled": { - /** @enum {string} */ - action: "cancelled"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** marketplace_purchase changed event */ - "webhook-marketplace-purchase-changed": { - /** @enum {string} */ - action: "changed"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean | null; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** marketplace_purchase pending_change event */ - "webhook-marketplace-purchase-pending-change": { - /** @enum {string} */ - action: "pending_change"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** marketplace_purchase pending_change_cancelled event */ - "webhook-marketplace-purchase-pending-change-cancelled": { - /** @enum {string} */ - action: "pending_change_cancelled"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Marketplace Purchase */ - marketplace_purchase: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: unknown; - next_billing_date: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** marketplace_purchase purchased event */ - "webhook-marketplace-purchase-purchased": { - /** @enum {string} */ - action: "purchased"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** member added event */ - "webhook-member-added": { - /** @enum {string} */ - action: "added"; - changes?: { - /** @description This field is included for legacy purposes; use the `role_name` field instead. The `maintain` - * role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role - * assigned to the collaborator, use the `role_name` field instead, which will provide the full - * role name, including custom roles. */ - permission?: { - /** @enum {string} */ - to: "write" | "admin" | "read"; - }; - /** @description The role assigned to the collaborator. */ - role_name?: { - to: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - member: components["schemas"]["webhooks_user"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** member edited event */ - "webhook-member-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the collaborator permissions */ - changes: { - old_permission?: { - /** @description The previous permissions of the collaborator if the action was edited. */ - from: string; - }; - permission?: { - from?: string | null; - to?: string | null; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - member: components["schemas"]["webhooks_user"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** member removed event */ - "webhook-member-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - member: components["schemas"]["webhooks_user"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** membership added event */ - "webhook-membership-added": { - /** @enum {string} */ - action: "added"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - member: components["schemas"]["webhooks_user"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description The scope of the membership. Currently, can only be `team`. - * @enum {string} - */ - scope: "team"; - /** User */ - sender: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - team: components["schemas"]["webhooks_team"]; - }; - /** membership removed event */ - "webhook-membership-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - member: components["schemas"]["webhooks_user"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description The scope of the membership. Currently, can only be `team`. - * @enum {string} - */ - scope: "team" | "organization"; - /** User */ - sender: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - team: components["schemas"]["webhooks_team"]; - }; - "webhook-merge-group-checks-requested": { - /** @enum {string} */ - action: "checks_requested"; - installation?: components["schemas"]["simple-installation"]; - merge_group: components["schemas"]["merge-group"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - "webhook-merge-group-destroyed": { - /** @enum {string} */ - action: "destroyed"; - /** - * @description Explains why the merge group is being destroyed. The group could have been merged, removed from the queue (dequeued), or invalidated by an earlier queue entry being dequeued (invalidated). - * @enum {string} - */ - reason?: "merged" | "invalidated" | "dequeued"; - installation?: components["schemas"]["simple-installation"]; - merge_group: components["schemas"]["merge-group"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** meta deleted event */ - "webhook-meta-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description The deleted webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ - hook: { - active: boolean; - config: { - /** @enum {string} */ - content_type: "json" | "form"; - insecure_ssl: string; - secret?: string; - /** Format: uri */ - url: string; - }; - created_at: string; - events: ("*" | "branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "create" | "delete" | "deployment" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "meta" | "milestone" | "organization" | "org_block" | "package" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "pull_request_review_thread" | "push" | "registry_package" | "release" | "repository" | "repository_import" | "repository_vulnerability_alert" | "secret_scanning_alert" | "secret_scanning_alert_location" | "security_and_analysis" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_job" | "workflow_run" | "repository_dispatch" | "projects_v2_item")[]; - id: number; - name: string; - type: string; - updated_at: string; - }; - /** @description The id of the modified webhook. */ - hook_id: number; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["nullable-repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** milestone closed event */ - "webhook-milestone-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - milestone: components["schemas"]["webhooks_milestone"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** milestone created event */ - "webhook-milestone-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - milestone: components["schemas"]["webhooks_milestone_3"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** milestone deleted event */ - "webhook-milestone-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - milestone: components["schemas"]["webhooks_milestone"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** milestone edited event */ - "webhook-milestone-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the milestone if the action was `edited`. */ - changes: { - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - due_on?: { - /** @description The previous version of the due date if the action was `edited`. */ - from: string; - }; - title?: { - /** @description The previous version of the title if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - milestone: components["schemas"]["webhooks_milestone"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** milestone opened event */ - "webhook-milestone-opened": { - /** @enum {string} */ - action: "opened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - milestone: components["schemas"]["webhooks_milestone_3"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** org_block blocked event */ - "webhook-org-block-blocked": { - /** @enum {string} */ - action: "blocked"; - blocked_user: components["schemas"]["webhooks_user"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** org_block unblocked event */ - "webhook-org-block-unblocked": { - /** @enum {string} */ - action: "unblocked"; - blocked_user: components["schemas"]["webhooks_user"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** organization deleted event */ - "webhook-organization-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - membership?: components["schemas"]["webhooks_membership"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** organization member_added event */ - "webhook-organization-member-added": { - /** @enum {string} */ - action: "member_added"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - membership: components["schemas"]["webhooks_membership"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** organization member_invited event */ - "webhook-organization-member-invited": { - /** @enum {string} */ - action: "member_invited"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The invitation for the user or email if the action is `member_invited`. */ - invitation: { - /** Format: date-time */ - created_at: string; - email: string | null; - /** Format: date-time */ - failed_at: string | null; - failed_reason: string | null; - id: number; - /** Format: uri */ - invitation_teams_url: string; - /** User */ - inviter: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - login: string | null; - node_id: string; - role: string; - team_count: number; - invitation_source?: string; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - user?: components["schemas"]["webhooks_user"]; - }; - /** organization member_removed event */ - "webhook-organization-member-removed": { - /** @enum {string} */ - action: "member_removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - membership: components["schemas"]["webhooks_membership"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** organization renamed event */ - "webhook-organization-renamed": { - /** @enum {string} */ - action: "renamed"; - changes?: { - login?: { - from?: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - membership?: components["schemas"]["webhooks_membership"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** Ruby Gems metadata */ - "webhook-rubygems-metadata": { - name?: string; - description?: string; - readme?: string; - homepage?: string; - version_info?: { - version?: string; - }; - platform?: string; - metadata?: { - [key: string]: string; - }; - repo?: string; - dependencies?: { - [key: string]: string; - }[]; - commit_oid?: string; - }; - /** package published event */ - "webhook-package-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description Information about the package. */ - package: { - created_at: string | null; - description: string | null; - ecosystem: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - namespace: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - package_type: string; - package_version: { - /** User */ - author?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - body?: string | Record; - body_html?: string; - container_metadata?: { - labels?: Record | null; - manifest?: Record | null; - tag?: { - digest?: string; - name?: string; - }; - } | null; - created_at?: string; - description: string; - docker_metadata?: { - tags?: string[]; - }[]; - draft?: boolean; - /** Format: uri */ - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - npm_metadata?: { - name?: string; - version?: string; - npm_user?: string; - author?: Record | null; - bugs?: Record | null; - dependencies?: Record; - dev_dependencies?: Record; - peer_dependencies?: Record; - optional_dependencies?: Record; - description?: string; - dist?: Record | null; - git_head?: string; - homepage?: string; - license?: string; - main?: string; - repository?: Record | null; - scripts?: Record; - id?: string; - node_version?: string; - npm_version?: string; - has_shrinkwrap?: boolean; - maintainers?: Record[]; - contributors?: Record[]; - engines?: Record; - keywords?: string[]; - files?: string[]; - bin?: Record; - man?: Record; - directories?: Record | null; - os?: string[]; - cpu?: string[]; - readme?: string; - installation_command?: string; - release_id?: number; - commit_oid?: string; - published_via_actions?: boolean; - deleted_by_id?: number; - } | null; - nuget_metadata?: { - id?: number | string; - name?: string; - value?: boolean | string | number | { - url?: string; - branch?: string; - commit?: string; - type?: string; - }; - }[] | null; - package_files: { - content_type: string; - created_at: string; - /** Format: uri */ - download_url: string; - id: number; - md5: string | null; - name: string; - sha1: string | null; - sha256: string | null; - size: number; - state: string | null; - updated_at: string; - }[]; - package_url?: string; - prerelease?: boolean; - release?: { - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - created_at: string; - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - /** Format: uri */ - url: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - source_url?: string; - summary: string; - tag_name?: string; - target_commitish?: string; - target_oid?: string; - updated_at?: string; - version: string; - } | null; - registry: { - /** Format: uri */ - about_url: string; - name: string; - type: string; - /** Format: uri */ - url: string; - vendor: string; - } | null; - updated_at: string | null; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** package updated event */ - "webhook-package-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description Information about the package. */ - package: { - created_at: string; - description: string | null; - ecosystem: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - namespace: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - package_type: string; - package_version: { - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - body: string; - body_html: string; - created_at: string; - description: string; - docker_metadata?: { - tags?: string[]; - }[]; - draft?: boolean; - /** Format: uri */ - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - package_files: { - content_type: string; - created_at: string; - /** Format: uri */ - download_url: string; - id: number; - md5: string | null; - name: string; - sha1: string | null; - sha256: string; - size: number; - state: string; - updated_at: string; - }[]; - package_url?: string; - prerelease?: boolean; - release?: { - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - created_at: string; - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - /** Format: uri */ - url: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - /** Format: uri */ - source_url?: string; - summary: string; - tag_name?: string; - target_commitish: string; - target_oid: string; - updated_at: string; - version: string; - }; - registry: { - /** Format: uri */ - about_url: string; - name: string; - type: string; - /** Format: uri */ - url: string; - vendor: string; - } | null; - updated_at: string; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** page_build event */ - "webhook-page-build": { - /** @description The [List GitHub Pages builds](https://docs.github.com/rest/pages/pages#list-github-pages-builds) itself. */ - build: { - commit: string | null; - created_at: string; - duration: number; - error: { - message: string | null; - }; - /** User */ - pusher: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - status: string; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - id: number; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** personal_access_token_request approved event */ - "webhook-personal-access-token-request-approved": { - /** @enum {string} */ - action: "approved"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user"]; - installation: components["schemas"]["simple-installation"]; - }; - /** personal_access_token_request cancelled event */ - "webhook-personal-access-token-request-cancelled": { - /** @enum {string} */ - action: "cancelled"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user"]; - installation: components["schemas"]["simple-installation"]; - }; - /** personal_access_token_request created event */ - "webhook-personal-access-token-request-created": { - /** @enum {string} */ - action: "created"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user"]; - installation?: components["schemas"]["simple-installation"]; - }; - /** personal_access_token_request denied event */ - "webhook-personal-access-token-request-denied": { - /** @enum {string} */ - action: "denied"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - sender: components["schemas"]["simple-user"]; - installation: components["schemas"]["simple-installation"]; - }; - "webhook-ping": { - /** - * Webhook - * @description The webhook that is being pinged - */ - hook?: { - /** @description Determines whether the hook is actually triggered for the events it subscribes to. */ - active: boolean; - /** @description Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app. */ - app_id?: number; - config: { - content_type?: components["schemas"]["webhook-config-content-type"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - secret?: components["schemas"]["webhook-config-secret"]; - url?: components["schemas"]["webhook-config-url"]; - }; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - deliveries_url?: string; - /** @description Determines what events the hook is triggered for. Default: ['push']. */ - events: string[]; - /** @description Unique identifier of the webhook. */ - id: number; - last_response?: components["schemas"]["hook-response"]; - /** - * @description The type of webhook. The only valid value is 'web'. - * @enum {string} - */ - name: "web"; - /** Format: uri */ - ping_url?: string; - /** Format: uri */ - test_url?: string; - type: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url?: string; - }; - /** @description The ID of the webhook that triggered the ping. */ - hook_id?: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - /** @description Random string of GitHub zen. */ - zen?: string; - }; - /** @description The webhooks ping payload encoded with URL encoding. */ - "webhook-ping-form-encoded": { - /** @description A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** project_card converted event */ - "webhook-project-card-converted": { - /** @enum {string} */ - action: "converted"; - changes: { - note: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project_card: components["schemas"]["webhooks_project_card"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** project_card created event */ - "webhook-project-card-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project_card: components["schemas"]["webhooks_project_card"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** project_card deleted event */ - "webhook-project-card-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number | null; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["nullable-repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** project_card edited event */ - "webhook-project-card-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - note: { - from: string | null; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project_card: components["schemas"]["webhooks_project_card"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** project_card moved event */ - "webhook-project-card-moved": { - /** @enum {string} */ - action: "moved"; - changes?: { - column_id: { - from: number; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } & { - after_id: number | null; - archived?: boolean; - column_id?: number; - column_url?: string; - created_at?: string; - creator?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - } | null; - id?: number; - node_id?: string; - note?: string | null; - project_url?: string; - updated_at?: string; - url?: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** project closed event */ - "webhook-project-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project: components["schemas"]["webhooks_project"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** project_column created event */ - "webhook-project-column-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project_column: components["schemas"]["webhooks_project_column"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** project_column deleted event */ - "webhook-project-column-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project_column: components["schemas"]["webhooks_project_column"]; - repository?: components["schemas"]["nullable-repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** project_column edited event */ - "webhook-project-column-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - name?: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project_column: components["schemas"]["webhooks_project_column"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** project_column moved event */ - "webhook-project-column-moved": { - /** @enum {string} */ - action: "moved"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project_column: components["schemas"]["webhooks_project_column"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** project created event */ - "webhook-project-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project: components["schemas"]["webhooks_project"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** project deleted event */ - "webhook-project-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project: components["schemas"]["webhooks_project"]; - repository?: components["schemas"]["nullable-repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** project edited event */ - "webhook-project-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the project if the action was `edited`. */ - changes?: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The changes to the project if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project: components["schemas"]["webhooks_project"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** project reopened event */ - "webhook-project-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project: components["schemas"]["webhooks_project"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Project Closed Event */ - "webhook-projects-v2-project-closed": { - /** @enum {string} */ - action: "closed"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user"]; - }; - /** @description A project was created */ - "webhook-projects-v2-project-created": { - /** @enum {string} */ - action: "created"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Project Deleted Event */ - "webhook-projects-v2-project-deleted": { - /** @enum {string} */ - action: "deleted"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Project Edited Event */ - "webhook-projects-v2-project-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - description?: { - from?: string | null; - to?: string | null; - }; - public?: { - from?: boolean; - to?: boolean; - }; - short_description?: { - from?: string | null; - to?: string | null; - }; - title?: { - from?: string; - to?: string; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Archived Event */ - "webhook-projects-v2-item-archived": { - /** @enum {string} */ - action: "archived"; - changes: components["schemas"]["webhooks_project_changes"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Converted Event */ - "webhook-projects-v2-item-converted": { - /** @enum {string} */ - action: "converted"; - changes: { - content_type?: { - from?: string | null; - to?: string; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Created Event */ - "webhook-projects-v2-item-created": { - /** @enum {string} */ - action: "created"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Deleted Event */ - "webhook-projects-v2-item-deleted": { - /** @enum {string} */ - action: "deleted"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Edited Event */ - "webhook-projects-v2-item-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes made to the item may involve modifications in the item's fields and draft issue body. - * It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. */ - changes?: { - field_value: { - field_node_id?: string; - field_type?: string; - field_name?: string; - project_number?: number; - from?: (string | number | components["schemas"]["projects-v2-single-select-option"] | components["schemas"]["projects-v2-iteration-setting"]) | null; - to?: (string | number | components["schemas"]["projects-v2-single-select-option"] | components["schemas"]["projects-v2-iteration-setting"]) | null; - }; - } | { - body: { - from?: string | null; - to?: string | null; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Reordered Event */ - "webhook-projects-v2-item-reordered": { - /** @enum {string} */ - action: "reordered"; - changes: { - previous_projects_v2_item_node_id?: { - from?: string | null; - to?: string | null; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Item Restored Event */ - "webhook-projects-v2-item-restored": { - /** @enum {string} */ - action: "restored"; - changes: components["schemas"]["webhooks_project_changes"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Project Reopened Event */ - "webhook-projects-v2-project-reopened": { - /** @enum {string} */ - action: "reopened"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Status Update Created Event */ - "webhook-projects-v2-status-update-created": { - /** @enum {string} */ - action: "created"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Status Update Deleted Event */ - "webhook-projects-v2-status-update-deleted": { - /** @enum {string} */ - action: "deleted"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; - sender: components["schemas"]["simple-user"]; - }; - /** Projects v2 Status Update Edited Event */ - "webhook-projects-v2-status-update-edited": { - /** @enum {string} */ - action: "edited"; - changes?: { - body?: { - from?: string | null; - to?: string | null; - }; - status?: { - /** @enum {string|null} */ - from?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; - /** @enum {string|null} */ - to?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; - }; - start_date?: { - /** Format: date */ - from?: string | null; - /** Format: date */ - to?: string | null; - }; - target_date?: { - /** Format: date */ - from?: string | null; - /** Format: date */ - to?: string | null; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; - sender: components["schemas"]["simple-user"]; - }; - /** public event */ - "webhook-public": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request assigned event */ - "webhook-pull-request-assigned": { - /** @enum {string} */ - action: "assigned"; - assignee: components["schemas"]["webhooks_user"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request auto_merge_disabled event */ - "webhook-pull-request-auto-merge-disabled": { - /** @enum {string} */ - action: "auto_merge_disabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - reason: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request auto_merge_enabled event */ - "webhook-pull-request-auto-merge-enabled": { - /** @enum {string} */ - action: "auto_merge_enabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - reason?: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request closed event */ - "webhook-pull-request-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request-webhook"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request converted_to_draft event */ - "webhook-pull-request-converted-to-draft": { - /** @enum {string} */ - action: "converted_to_draft"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request-webhook"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request demilestoned event */ - "webhook-pull-request-demilestoned": { - /** @enum {string} */ - action: "demilestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - milestone?: components["schemas"]["milestone"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["webhooks_pull_request_5"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** pull_request dequeued event */ - "webhook-pull-request-dequeued": { - /** @enum {string} */ - action: "dequeued"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** @enum {string} */ - reason: "UNKNOWN_REMOVAL_REASON" | "MANUAL" | "MERGE" | "MERGE_CONFLICT" | "CI_FAILURE" | "CI_TIMEOUT" | "ALREADY_MERGED" | "QUEUE_CLEARED" | "ROLL_BACK" | "BRANCH_PROTECTIONS" | "GIT_TREE_INVALID" | "INVALID_MERGE_COMMIT"; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request edited event */ - "webhook-pull-request-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the comment if the action was `edited`. */ - changes: { - base?: { - ref: { - from: string; - }; - sha: { - from: string; - }; - }; - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - title?: { - /** @description The previous version of the title if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request-webhook"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** pull_request enqueued event */ - "webhook-pull-request-enqueued": { - /** @enum {string} */ - action: "enqueued"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request labeled event */ - "webhook-pull-request-labeled": { - /** @enum {string} */ - action: "labeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - label?: components["schemas"]["webhooks_label"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request locked event */ - "webhook-pull-request-locked": { - /** @enum {string} */ - action: "locked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request milestoned event */ - "webhook-pull-request-milestoned": { - /** @enum {string} */ - action: "milestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - milestone?: components["schemas"]["milestone"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["webhooks_pull_request_5"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** pull_request opened event */ - "webhook-pull-request-opened": { - /** @enum {string} */ - action: "opened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request-webhook"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request ready_for_review event */ - "webhook-pull-request-ready-for-review": { - /** @enum {string} */ - action: "ready_for_review"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request-webhook"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request reopened event */ - "webhook-pull-request-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request-webhook"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request_review_comment created event */ - "webhook-pull-request-review-comment-created": { - /** @enum {string} */ - action: "created"; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. - */ - comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number | null; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - 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 level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge?: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft?: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request_review_comment deleted event */ - "webhook-pull-request-review-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - comment: components["schemas"]["webhooks_review_comment"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge?: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft?: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request_review_comment edited event */ - "webhook-pull-request-review-comment-edited": { - /** @enum {string} */ - action: "edited"; - changes: components["schemas"]["webhooks_changes"]; - comment: components["schemas"]["webhooks_review_comment"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge?: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft?: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - user_view_type?: string; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request_review dismissed event */ - "webhook-pull-request-review-dismissed": { - /** @enum {string} */ - action: "dismissed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** @description The review that was affected. */ - review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the review. */ - body: string | null; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - /** @enum {string} */ - state: "dismissed" | "approved" | "changes_requested"; - /** Format: date-time */ - submitted_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request_review edited event */ - "webhook-pull-request-review-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - review: components["schemas"]["webhooks_review"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request review_request_removed event */ - "webhook-pull-request-review-request-removed": { - /** @enum {string} */ - action: "review_request_removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title. - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** User */ - requested_reviewer: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - sender: components["schemas"]["simple-user"]; - } | { - /** @enum {string} */ - action: "review_request_removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - requested_team: { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request review_requested event */ - "webhook-pull-request-review-requested": { - /** @enum {string} */ - action: "review_requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** User */ - requested_reviewer: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - sender: components["schemas"]["simple-user"]; - } | { - /** @enum {string} */ - action: "review_requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - requested_team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request_review submitted event */ - "webhook-pull-request-review-submitted": { - /** @enum {string} */ - action: "submitted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - review: components["schemas"]["webhooks_review"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request_review_thread resolved event */ - "webhook-pull-request-review-thread-resolved": { - /** @enum {string} */ - action: "resolved"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - thread: { - comments: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number | null; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - 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 level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }[]; - node_id: string; - }; - }; - /** pull_request_review_thread unresolved event */ - "webhook-pull-request-review-thread-unresolved": { - /** @enum {string} */ - action: "unresolved"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - thread: { - comments: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - 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 level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }[]; - node_id: string; - }; - }; - /** pull_request synchronize event */ - "webhook-pull-request-synchronize": { - /** @enum {string} */ - action: "synchronize"; - after: string; - before: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit message title. - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request unassigned event */ - "webhook-pull-request-unassigned": { - /** @enum {string} */ - action: "unassigned"; - assignee?: components["schemas"]["webhooks_user_mannequin"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** pull_request unlabeled event */ - "webhook-pull-request-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - label?: components["schemas"]["webhooks_label"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit message title. - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** pull_request unlocked event */ - "webhook-pull-request-unlocked": { - /** @enum {string} */ - action: "unlocked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: components["schemas"]["webhooks_number"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null) | { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** push event */ - "webhook-push": { - /** @description The SHA of the most recent commit on `ref` after the push. */ - after: string; - base_ref: components["schemas"]["webhooks_nullable_string"]; - /** @description The SHA of the most recent commit on `ref` before the push. */ - before: string; - /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 2048 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. */ - commits: { - /** @description An array of files added in the commit. A maximum of 3000 changed files will be reported per commit. */ - added?: string[]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description Whether this commit is distinct from any that have been pushed before. */ - distinct: boolean; - id: string; - /** @description The commit message. */ - message: string; - /** @description An array of files modified by the commit. A maximum of 3000 changed files will be reported per commit. */ - modified?: string[]; - /** @description An array of files removed in the commit. A maximum of 3000 changed files will be reported per commit. */ - removed?: string[]; - /** - * Format: date-time - * @description The ISO 8601 timestamp of the commit. - */ - timestamp: string; - tree_id: string; - /** - * Format: uri - * @description URL that points to the commit API resource. - */ - url: string; - }[]; - /** @description URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit. */ - compare: string; - /** @description Whether this push created the `ref`. */ - created: boolean; - /** @description Whether this push deleted the `ref`. */ - deleted: boolean; - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description Whether this push was a force push of the `ref`. */ - forced: boolean; - /** Commit */ - head_commit: { - /** @description An array of files added in the commit. */ - added?: string[]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description Whether this commit is distinct from any that have been pushed before. */ - distinct: boolean; - id: string; - /** @description The commit message. */ - message: string; - /** @description An array of files modified by the commit. */ - modified?: string[]; - /** @description An array of files removed in the commit. */ - removed?: string[]; - /** - * Format: date-time - * @description The ISO 8601 timestamp of the commit. - */ - timestamp: string; - tree_id: string; - /** - * Format: uri - * @description URL that points to the commit API resource. - */ - url: string; - } | null; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - pusher: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email?: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`. */ - ref: string; - /** - * Repository - * @description A git repository - */ - repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sender?: components["schemas"]["simple-user"]; - }; - "webhook-registry-package-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - registry_package: { - created_at: string | null; - description: string | null; - ecosystem: string; - html_url: string; - id: number; - name: string; - namespace: string; - owner: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - user_view_type?: string; - }; - package_type: string; - package_version: { - author?: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - user_view_type?: string; - }; - body?: string | Record; - body_html?: string; - container_metadata?: { - labels?: Record | null; - manifest?: Record | null; - tag?: { - digest?: string; - name?: string; - }; - }; - created_at?: string; - description: string; - docker_metadata?: { - tags?: string[]; - }[]; - draft?: boolean; - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - npm_metadata?: { - name?: string; - version?: string; - npm_user?: string; - author?: (string | Record) | null; - bugs?: (string | Record) | null; - dependencies?: Record; - dev_dependencies?: Record; - peer_dependencies?: Record; - optional_dependencies?: Record; - description?: string; - dist?: (string | Record) | null; - git_head?: string; - homepage?: string; - license?: string; - main?: string; - repository?: (string | Record) | null; - scripts?: Record; - id?: string; - node_version?: string; - npm_version?: string; - has_shrinkwrap?: boolean; - maintainers?: string[]; - contributors?: string[]; - engines?: Record; - keywords?: string[]; - files?: string[]; - bin?: Record; - man?: Record; - directories?: (string | Record) | null; - os?: string[]; - cpu?: string[]; - readme?: string; - installation_command?: string; - release_id?: number; - commit_oid?: string; - published_via_actions?: boolean; - deleted_by_id?: number; - } | null; - nuget_metadata?: { - id?: (string | Record | number) | null; - name?: string; - value?: boolean | string | number | { - url?: string; - branch?: string; - commit?: string; - type?: string; - }; - }[] | null; - package_files: { - content_type: string; - created_at: string; - download_url: string; - id: number; - md5: string | null; - name: string; - sha1: string | null; - sha256: string | null; - size: number; - state: string | null; - updated_at: string; - }[]; - package_url: string; - prerelease?: boolean; - release?: { - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - user_view_type?: string; - }; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - prerelease?: boolean; - published_at?: string; - tag_name?: string; - target_commitish?: string; - url?: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - summary: string; - tag_name?: string; - target_commitish?: string; - target_oid?: string; - updated_at?: string; - version: string; - } | null; - registry: { - about_url?: string; - name?: string; - type?: string; - url?: string; - vendor?: string; - } | null; - updated_at: string | null; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - "webhook-registry-package-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - registry_package: { - created_at: string; - description: unknown; - ecosystem: string; - html_url: string; - id: number; - name: string; - namespace: string; - owner: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - user_view_type?: string; - }; - package_type: string; - package_version: { - author: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - user_view_type?: string; - }; - body: string; - body_html: string; - created_at: string; - description: string; - docker_metadata?: ({ - tags?: string[]; - } | null)[]; - draft?: boolean; - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - package_files: { - content_type?: string; - created_at?: string; - download_url?: string; - id?: number; - md5?: string | null; - name?: string; - sha1?: string | null; - sha256?: string; - size?: number; - state?: string; - updated_at?: string; - }[]; - package_url: string; - prerelease?: boolean; - release?: { - author: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - user_view_type?: string; - }; - created_at: string; - draft: boolean; - html_url: string; - id: number; - name: string; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - url: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - summary: string; - tag_name?: string; - target_commitish: string; - target_oid: string; - updated_at: string; - version: string; - }; - registry: Record | null; - updated_at: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** release created event */ - "webhook-release-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: components["schemas"]["webhooks_release"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** release deleted event */ - "webhook-release-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: components["schemas"]["webhooks_release"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** release edited event */ - "webhook-release-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - tag_name?: { - /** @description The previous version of the tag_name if the action was `edited`. */ - from: string; - }; - make_latest?: { - /** @description Whether this release was explicitly `edited` to be the latest. */ - to: boolean; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: components["schemas"]["webhooks_release"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** release prereleased event */ - "webhook-release-prereleased": { - /** @enum {string} */ - action: "prereleased"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - digest: string | null; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - url: string; - } | null)[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - /** @description Whether or not the release is immutable. */ - immutable: boolean; - name: string | null; - node_id: string; - /** - * @description Whether the release is identified as a prerelease or a full release. - * @enum {boolean} - */ - prerelease: true; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** release published event */ - "webhook-release-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: components["schemas"]["webhooks_release_1"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** release released event */ - "webhook-release-released": { - /** @enum {string} */ - action: "released"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: components["schemas"]["webhooks_release"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** release unpublished event */ - "webhook-release-unpublished": { - /** @enum {string} */ - action: "unpublished"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: components["schemas"]["webhooks_release_1"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** Repository advisory published event */ - "webhook-repository-advisory-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - repository_advisory: components["schemas"]["repository-advisory"]; - sender?: components["schemas"]["simple-user"]; - }; - /** Repository advisory reported event */ - "webhook-repository-advisory-reported": { - /** @enum {string} */ - action: "reported"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - repository_advisory: components["schemas"]["repository-advisory"]; - sender?: components["schemas"]["simple-user"]; - }; - /** repository archived event */ - "webhook-repository-archived": { - /** @enum {string} */ - action: "archived"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository created event */ - "webhook-repository-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository deleted event */ - "webhook-repository-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository_dispatch event */ - "webhook-repository-dispatch-sample": { - /** @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ - action: string; - branch: string; - /** @description The `client_payload` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ - client_payload: { - [key: string]: unknown; - } | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository edited event */ - "webhook-repository-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - default_branch?: { - from: string; - }; - description?: { - from: string | null; - }; - homepage?: { - from: string | null; - }; - topics?: { - from?: string[] | null; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository_import event */ - "webhook-repository-import": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - /** @enum {string} */ - status: "success" | "cancelled" | "failure"; - }; - /** repository privatized event */ - "webhook-repository-privatized": { - /** @enum {string} */ - action: "privatized"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository publicized event */ - "webhook-repository-publicized": { - /** @enum {string} */ - action: "publicized"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository renamed event */ - "webhook-repository-renamed": { - /** @enum {string} */ - action: "renamed"; - changes: { - repository: { - name: { - from: string; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository ruleset created event */ - "webhook-repository-ruleset-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - repository_ruleset: components["schemas"]["repository-ruleset"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository ruleset deleted event */ - "webhook-repository-ruleset-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - repository_ruleset: components["schemas"]["repository-ruleset"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository ruleset edited event */ - "webhook-repository-ruleset-edited": { - /** @enum {string} */ - action: "edited"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - repository_ruleset: components["schemas"]["repository-ruleset"]; - changes?: { - name?: { - from?: string; - }; - enforcement?: { - from?: string; - }; - conditions?: { - added?: components["schemas"]["repository-ruleset-conditions"][]; - deleted?: components["schemas"]["repository-ruleset-conditions"][]; - updated?: { - condition?: components["schemas"]["repository-ruleset-conditions"]; - changes?: { - condition_type?: { - from?: string; - }; - target?: { - from?: string; - }; - include?: { - from?: string[]; - }; - exclude?: { - from?: string[]; - }; - }; - }[]; - }; - rules?: { - added?: components["schemas"]["repository-rule"][]; - deleted?: components["schemas"]["repository-rule"][]; - updated?: { - rule?: components["schemas"]["repository-rule"]; - changes?: { - configuration?: { - from?: string; - }; - rule_type?: { - from?: string; - }; - pattern?: { - from?: string; - }; - }; - }[]; - }; - }; - sender: components["schemas"]["simple-user"]; - }; - /** repository transferred event */ - "webhook-repository-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - owner: { - from: { - /** Organization */ - organization?: { - /** Format: uri */ - avatar_url: string; - description: string | null; - /** Format: uri */ - events_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url?: string; - id: number; - /** Format: uri */ - issues_url: string; - login: string; - /** Format: uri-template */ - members_url: string; - node_id: string; - /** Format: uri-template */ - public_members_url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - url: string; - }; - /** User */ - user?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - /** Format: int64 */ - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository unarchived event */ - "webhook-repository-unarchived": { - /** @enum {string} */ - action: "unarchived"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository_vulnerability_alert create event */ - "webhook-repository-vulnerability-alert-create": { - /** @enum {string} */ - action: "create"; - alert: components["schemas"]["webhooks_alert"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository_vulnerability_alert dismiss event */ - "webhook-repository-vulnerability-alert-dismiss": { - /** @enum {string} */ - action: "dismiss"; - /** - * Repository Vulnerability Alert Alert - * @description The security alert of the vulnerable dependency. - */ - alert: { - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_comment?: string | null; - dismiss_reason: string; - dismissed_at: string; - /** User */ - dismisser: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "dismissed"; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository_vulnerability_alert reopen event */ - "webhook-repository-vulnerability-alert-reopen": { - /** @enum {string} */ - action: "reopen"; - alert: components["schemas"]["webhooks_alert"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** repository_vulnerability_alert resolve event */ - "webhook-repository-vulnerability-alert-resolve": { - /** @enum {string} */ - action: "resolve"; - /** - * Repository Vulnerability Alert Alert - * @description The security alert of the vulnerable dependency. - */ - alert: { - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "fixed" | "open"; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** secret_scanning_alert created event */ - "webhook-secret-scanning-alert-created": { - /** @enum {string} */ - action: "created"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** Secret Scanning Alert Location Created Event */ - "webhook-secret-scanning-alert-location-created": { - /** @enum {string} */ - action?: "created"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - installation?: components["schemas"]["simple-installation"]; - location: components["schemas"]["secret-scanning-location"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** Secret Scanning Alert Location Created Event */ - "webhook-secret-scanning-alert-location-created-form-encoded": { - /** @description A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** secret_scanning_alert publicly leaked event */ - "webhook-secret-scanning-alert-publicly-leaked": { - /** @enum {string} */ - action: "publicly_leaked"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** secret_scanning_alert reopened event */ - "webhook-secret-scanning-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** secret_scanning_alert resolved event */ - "webhook-secret-scanning-alert-resolved": { - /** @enum {string} */ - action: "resolved"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** secret_scanning_alert validated event */ - "webhook-secret-scanning-alert-validated": { - /** @enum {string} */ - action: "validated"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** secret_scanning_scan completed event */ - "webhook-secret-scanning-scan-completed": { - /** @enum {string} */ - action: "completed"; - /** - * @description What type of scan was completed - * @enum {string} - */ - type: "backfill" | "custom-pattern-backfill" | "pattern-version-backfill"; - /** - * @description What type of content was scanned - * @enum {string} - */ - source: "git" | "issues" | "pull-requests" | "discussions" | "wiki"; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - started_at: string; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - completed_at: string; - /** @description List of patterns that were updated. This will be empty for normal backfill scans or custom pattern updates */ - secret_types?: string[] | null; - /** @description If the scan was triggered by a custom pattern update, this will be the name of the pattern that was updated */ - custom_pattern_name?: string | null; - /** - * @description If the scan was triggered by a custom pattern update, this will be the scope of the pattern that was updated - * @enum {string|null} - */ - custom_pattern_scope?: "repository" | "organization" | "enterprise" | null; - repository?: components["schemas"]["repository-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** security_advisory published event */ - "webhook-security-advisory-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - security_advisory: components["schemas"]["webhooks_security_advisory"]; - sender?: components["schemas"]["simple-user"]; - }; - /** security_advisory updated event */ - "webhook-security-advisory-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - security_advisory: components["schemas"]["webhooks_security_advisory"]; - sender?: components["schemas"]["simple-user"]; - }; - /** security_advisory withdrawn event */ - "webhook-security-advisory-withdrawn": { - /** @enum {string} */ - action: "withdrawn"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: string | null; - }; - cvss_severities?: components["schemas"]["cvss-severities"]; - cwes: { - cwe_id: string; - name: string; - }[]; - description: string; - ghsa_id: string; - identifiers: { - type: string; - value: string; - }[]; - published_at: string; - references: { - /** Format: uri */ - url: string; - }[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: { - first_patched_version: { - identifier: string; - } | null; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - }[]; - withdrawn_at: string; - }; - sender?: components["schemas"]["simple-user"]; - }; - /** security_and_analysis event */ - "webhook-security-and-analysis": { - changes: { - from?: { - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["full-repository"]; - sender?: components["schemas"]["simple-user"]; - }; - /** sponsorship cancelled event */ - "webhook-sponsorship-cancelled": { - /** @enum {string} */ - action: "cancelled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - sponsorship: components["schemas"]["webhooks_sponsorship"]; - }; - /** sponsorship created event */ - "webhook-sponsorship-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - sponsorship: components["schemas"]["webhooks_sponsorship"]; - }; - /** sponsorship edited event */ - "webhook-sponsorship-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - privacy_level?: { - /** @description The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - sponsorship: components["schemas"]["webhooks_sponsorship"]; - }; - /** sponsorship pending_cancellation event */ - "webhook-sponsorship-pending-cancellation": { - /** @enum {string} */ - action: "pending_cancellation"; - effective_date?: components["schemas"]["webhooks_effective_date"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - sponsorship: components["schemas"]["webhooks_sponsorship"]; - }; - /** sponsorship pending_tier_change event */ - "webhook-sponsorship-pending-tier-change": { - /** @enum {string} */ - action: "pending_tier_change"; - changes: components["schemas"]["webhooks_changes_8"]; - effective_date?: components["schemas"]["webhooks_effective_date"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - sponsorship: components["schemas"]["webhooks_sponsorship"]; - }; - /** sponsorship tier_changed event */ - "webhook-sponsorship-tier-changed": { - /** @enum {string} */ - action: "tier_changed"; - changes: components["schemas"]["webhooks_changes_8"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - sponsorship: components["schemas"]["webhooks_sponsorship"]; - }; - /** star created event */ - "webhook-star-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ - starred_at: string | null; - }; - /** star deleted event */ - "webhook-star-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ - starred_at: unknown; - }; - /** status event */ - "webhook-status": { - /** Format: uri */ - avatar_url?: string | null; - /** @description An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches. */ - branches: { - commit: { - sha: string | null; - /** Format: uri */ - url: string | null; - }; - name: string; - protected: boolean; - }[]; - commit: { - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id?: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - comments_url: string; - commit: { - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - } & { - date: string; - email?: string; - name?: string; - }; - comment_count: number; - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - } & { - date: string; - email?: string; - name?: string; - }; - message: string; - tree: { - sha: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - url: string; - verification: { - payload: string | null; - /** @enum {string} */ - reason: "expired_key" | "not_signing_key" | "gpgverify_error" | "gpgverify_unavailable" | "unsigned" | "unknown_signature_type" | "no_user" | "unverified_email" | "bad_email" | "unknown_key" | "malformed_signature" | "invalid" | "valid" | "bad_cert" | "ocsp_pending"; - signature: string | null; - verified: boolean; - verified_at: string | null; - }; - }; - /** User */ - committer: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id?: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - html_url: string; - node_id: string; - parents: { - /** Format: uri */ - html_url: string; - sha: string; - /** Format: uri */ - url: string; - }[]; - sha: string; - /** Format: uri */ - url: string; - }; - context: string; - created_at: string; - /** @description The optional human-readable description added to the status. */ - description: string | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description The unique identifier of the status. */ - id: number; - installation?: components["schemas"]["simple-installation"]; - name: string; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - /** @description The Commit SHA. */ - sha: string; - /** - * @description The new state. Can be `pending`, `success`, `failure`, or `error`. - * @enum {string} - */ - state: "pending" | "success" | "failure" | "error"; - /** @description The optional link added to the status. */ - target_url: string | null; - updated_at: string; - }; - /** parent issue added event */ - "webhook-sub-issues-parent-issue-added": { - /** @enum {string} */ - action: "parent_issue_added"; - /** @description The ID of the parent issue. */ - parent_issue_id: number; - parent_issue: components["schemas"]["issue"]; - parent_issue_repo: components["schemas"]["repository"]; - /** @description The ID of the sub-issue. */ - sub_issue_id: number; - sub_issue: components["schemas"]["issue"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** parent issue removed event */ - "webhook-sub-issues-parent-issue-removed": { - /** @enum {string} */ - action: "parent_issue_removed"; - /** @description The ID of the parent issue. */ - parent_issue_id: number; - parent_issue: components["schemas"]["issue"]; - parent_issue_repo: components["schemas"]["repository"]; - /** @description The ID of the sub-issue. */ - sub_issue_id: number; - sub_issue: components["schemas"]["issue"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** sub-issue added event */ - "webhook-sub-issues-sub-issue-added": { - /** @enum {string} */ - action: "sub_issue_added"; - /** @description The ID of the sub-issue. */ - sub_issue_id: number; - sub_issue: components["schemas"]["issue"]; - sub_issue_repo: components["schemas"]["repository"]; - /** @description The ID of the parent issue. */ - parent_issue_id: number; - parent_issue: components["schemas"]["issue"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** sub-issue removed event */ - "webhook-sub-issues-sub-issue-removed": { - /** @enum {string} */ - action: "sub_issue_removed"; - /** @description The ID of the sub-issue. */ - sub_issue_id: number; - sub_issue: components["schemas"]["issue"]; - sub_issue_repo: components["schemas"]["repository"]; - /** @description The ID of the parent issue. */ - parent_issue_id: number; - parent_issue: components["schemas"]["issue"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user"]; - }; - /** team_add event */ - "webhook-team-add": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - team: components["schemas"]["webhooks_team_1"]; - }; - /** team added_to_repository event */ - "webhook-team-added-to-repository": { - /** @enum {string} */ - action: "added_to_repository"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender?: components["schemas"]["simple-user"]; - team: components["schemas"]["webhooks_team_1"]; - }; - /** team created event */ - "webhook-team-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender: components["schemas"]["simple-user"]; - team: components["schemas"]["webhooks_team_1"]; - }; - /** team deleted event */ - "webhook-team-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender?: components["schemas"]["simple-user"]; - team: components["schemas"]["webhooks_team_1"]; - }; - /** team edited event */ - "webhook-team-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the team if the action was `edited`. */ - changes: { - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - privacy?: { - /** @description The previous version of the team's privacy if the action was `edited`. */ - from: string; - }; - notification_setting?: { - /** @description The previous version of the team's notification setting if the action was `edited`. */ - from: string; - }; - repository?: { - permissions: { - from: { - /** @description The previous version of the team member's `admin` permission on a repository, if the action was `edited`. */ - admin?: boolean; - /** @description The previous version of the team member's `pull` permission on a repository, if the action was `edited`. */ - pull?: boolean; - /** @description The previous version of the team member's `push` permission on a repository, if the action was `edited`. */ - push?: boolean; - }; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender: components["schemas"]["simple-user"]; - team: components["schemas"]["webhooks_team_1"]; - }; - /** team removed_from_repository event */ - "webhook-team-removed-from-repository": { - /** @enum {string} */ - action: "removed_from_repository"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the repository - */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: (number | string) | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender: components["schemas"]["simple-user"]; - team: components["schemas"]["webhooks_team_1"]; - }; - /** watch started event */ - "webhook-watch-started": { - /** @enum {string} */ - action: "started"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - }; - /** workflow_dispatch event */ - "webhook-workflow-dispatch": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - inputs: { - [key: string]: unknown; - } | null; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - workflow: string; - }; - /** workflow_job completed event */ - "webhook-workflow-job-completed": { - /** @enum {string} */ - action: "completed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "success" | "failure" | null | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_id: number | null; - /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_name: string | null; - /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_id: number | null; - /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_name: string | null; - started_at: string; - /** - * @description The current status of the job. Can be `queued`, `in_progress`, `waiting`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "waiting"; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - steps: { - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued"; - }[]; - /** Format: uri */ - url: string; - } & { - check_run_url?: string; - completed_at?: string; - /** @enum {string} */ - conclusion: "success" | "failure" | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; - /** @description The time that the job created. */ - created_at?: string; - head_sha?: string; - html_url?: string; - id?: number; - labels?: (string | null)[]; - name?: string; - node_id?: string; - run_attempt?: number; - run_id?: number; - run_url?: string; - runner_group_id?: number | null; - runner_group_name?: string | null; - runner_id?: number | null; - runner_name?: string | null; - started_at?: string; - status?: string; - /** @description The name of the current branch. */ - head_branch?: string | null; - /** @description The name of the workflow. */ - workflow_name?: string | null; - steps?: (Record | null)[]; - url?: string; - }; - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_job in_progress event */ - "webhook-workflow-job-in-progress": { - /** @enum {string} */ - action: "in_progress"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "success" | "failure" | null | "cancelled" | "neutral"; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_id: number | null; - /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_name: string | null; - /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_id: number | null; - /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_name: string | null; - started_at: string; - /** - * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - steps: { - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | null | "cancelled"; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued" | "pending"; - }[]; - /** Format: uri */ - url: string; - } & { - check_run_url?: string; - completed_at?: string | null; - conclusion?: string | null; - /** @description The time that the job created. */ - created_at?: string; - head_sha?: string; - html_url?: string; - id?: number; - labels?: string[]; - name?: string; - node_id?: string; - run_attempt?: number; - run_id?: number; - run_url?: string; - runner_group_id?: number | null; - runner_group_name?: string | null; - runner_id?: number | null; - runner_name?: string | null; - started_at?: string; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued"; - /** @description The name of the current branch. */ - head_branch?: string | null; - /** @description The name of the workflow. */ - workflow_name?: string | null; - steps: { - completed_at: string | null; - conclusion: string | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "in_progress" | "completed" | "pending" | "queued"; - }[]; - url?: string; - }; - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_job queued event */ - "webhook-workflow-job-queued": { - /** @enum {string} */ - action: "queued"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - conclusion: string | null; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - runner_group_id: number | null; - runner_group_name: string | null; - runner_id: number | null; - runner_name: string | null; - /** Format: date-time */ - started_at: string; - /** @enum {string} */ - status: "queued" | "in_progress" | "completed" | "waiting"; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - steps: { - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "completed" | "in_progress" | "queued" | "pending"; - }[]; - /** Format: uri */ - url: string; - }; - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_job waiting event */ - "webhook-workflow-job-waiting": { - /** @enum {string} */ - action: "waiting"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - conclusion: string | null; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - runner_group_id: number | null; - runner_group_name: string | null; - runner_id: number | null; - runner_name: string | null; - /** Format: date-time */ - started_at: string; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - /** @enum {string} */ - status: "queued" | "in_progress" | "completed" | "waiting"; - steps: { - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "completed" | "in_progress" | "queued" | "pending" | "waiting"; - }[]; - /** Format: uri */ - url: string; - }; - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_run completed event */ - "webhook-workflow-run-completed": { - /** @enum {string} */ - action: "completed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - workflow: components["schemas"]["webhooks_workflow"]; - /** Workflow Run */ - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "startup_failure" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - 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; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: string | null; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: string | null; - pull_requests: ({ - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - } | null)[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - 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; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - /** - * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. - * @example Simple Workflow - */ - display_title?: string; - }; - }; - /** workflow_run in_progress event */ - "webhook-workflow-run-in-progress": { - /** @enum {string} */ - action: "in_progress"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - workflow: components["schemas"]["webhooks_workflow"]; - /** Workflow Run */ - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - 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; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string | null; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: string | null; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: string | null; - pull_requests: ({ - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - } | null)[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - 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; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "pending"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - }; - }; - /** workflow_run requested event */ - "webhook-workflow-run-requested": { - /** @enum {string} */ - action: "requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user"]; - workflow: components["schemas"]["webhooks_workflow"]; - /** Workflow Run */ - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - 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; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: string | null; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - 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; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - user_view_type?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - display_title: string; - }; - }; - }; - responses: { - /** @description Validation failed, or the endpoint has been spammed. */ - validation_failed_simple: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["validation-error-simple"]; - }; - }; - /** @description Resource not found */ - not_found: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Bad Request */ - bad_request: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - "application/scim+json": components["schemas"]["scim-error"]; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - validation_failed: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["validation-error"]; - }; - }; - /** @description Accepted */ - accepted: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": Record; - }; - }; - /** @description Not modified */ - not_modified: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Requires authentication */ - requires_authentication: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Forbidden */ - forbidden: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Internal Error */ - internal_error: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Conflict */ - conflict: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description A header with no content is returned. */ - no_content: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Service unavailable */ - service_unavailable: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - }; - }; - }; - /** @description Forbidden Gist */ - forbidden_gist: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - block?: { - reason?: string; - created_at?: string; - html_url?: string | null; - }; - message?: string; - documentation_url?: string; - }; - }; - }; - /** @description Moved permanently */ - moved_permanently: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Billing usage report response for an organization */ - billing_usage_report_org: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["billing-usage-report"]; - }; - }; - /** @description Response */ - actions_runner_jitconfig: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - runner: components["schemas"]["runner"]; - /** @description The base64 encoded runner configuration. */ - encoded_jit_config: string; - }; - }; - }; - /** @description Response */ - actions_runner_labels: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - labels: components["schemas"]["runner-label"][]; - }; - }; - }; - /** @description Response */ - actions_runner_labels_readonly: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - labels: components["schemas"]["runner-label"][]; - }; - }; - }; - /** @description Copilot Usage Merics API setting is disabled at the organization or enterprise level. */ - usage_metrics_api_disabled: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description The value of `per_page` multiplied by `page` cannot be greater than 10000. */ - package_es_list_error: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Gone */ - gone: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Temporary Redirect */ - temporary_redirect: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if GitHub Advanced Security is not enabled for this repository */ - code_scanning_forbidden_read: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ - code_scanning_forbidden_write: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Bad Request */ - code_scanning_bad_request: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if the repository is archived, if GitHub Advanced Security is not enabled for this repository or if rate limit is exceeded */ - code_scanning_autofix_create_forbidden: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if analysis could not be processed */ - unprocessable_analysis: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Found */ - found: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response if there is already a validation run in progress with a different default setup configuration */ - code_scanning_conflict: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if the configuration change cannot be made because the repository is not in the required state */ - code_scanning_invalid_state: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response for a private repository when GitHub Advanced Security is not enabled, or if used against a fork */ - dependency_review_forbidden: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Unavailable due to service under maintenance. */ - porter_maintenance: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Unacceptable */ - unacceptable: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response when getting a billing usage report */ - billing_usage_report_user: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["billing-usage-report-user"]; - }; - }; - }; - parameters: { - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - "pagination-before": string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - "pagination-after": string; - /** @description The direction to sort the results by. */ - direction: "asc" | "desc"; - /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ - ghsa_id: string; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page: number; - /** @description Only show results that were last 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 client ID of the GitHub app. */ - "client-id": string; - "app-slug": string; - /** @description The unique identifier of the classroom assignment. */ - "assignment-id": number; - /** @description The unique identifier of the classroom. */ - "classroom-id": number; - /** @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 code security configuration. */ - "configuration-id": number; - /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. - * - * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ - "dependabot-alert-comma-separated-states": string; - /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. - * - * Can be: `low`, `medium`, `high`, `critical` */ - "dependabot-alert-comma-separated-severities": string; - /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. - * - * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ - "dependabot-alert-comma-separated-ecosystems": string; - /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ - "dependabot-alert-comma-separated-packages": string; - /** @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: - * - An exact number (`n`) - * - Comparators such as `>n`, `=n`, `<=n` - * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 - * - * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. */ - "dependabot-alert-comma-separated-epss": string; - /** @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. - * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. */ - "dependabot-alert-comma-separated-has": string | "patch"[]; - /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ - "dependabot-alert-scope": "development" | "runtime"; - /** @description The property by which to sort the results. - * `created` means when the alert was created. - * `updated` means when the alert's state last changed. - * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. */ - "dependabot-alert-sort": "created" | "updated" | "epss_percentage"; - /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. - * This parameter must not be used in combination with `last`. - * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ - "pagination-first": number; - /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. - * This parameter must not be used in combination with `first`. - * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ - "pagination-last": number; - /** @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. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" 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 A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ - "secret-scanning-alert-validity": string; - /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ - "secret-scanning-alert-publicly-leaked": boolean; - /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ - "secret-scanning-alert-multi-repo": boolean; - /** @description A boolean value representing whether or not to hide literal secrets in the results. */ - "secret-scanning-alert-hide-secret": boolean; - /** @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. */ - sort: "created" | "updated"; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; - /** @description The name of the repository without the `.git` extension. 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 notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ - "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 If specified, only return results for a single year. The value of `year` is an integer with four digits representing a year. For example, `2025`. Default value is the current year. */ - "billing-usage-report-year": number; - /** @description If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the default `year` is used. */ - "billing-usage-report-month": number; - /** @description If specified, only return results for a single day. The value of `day` is an integer between `1` and `31`. If no `year` or `month` is specified, the default `year` and `month` are used. */ - "billing-usage-report-day": number; - /** @description If specified, only return results for a single hour. The value of `hour` is an integer between `0` and `23`. If no `year`, `month`, or `day` is specified, the default `year`, `month`, and `day` are used. */ - "billing-usage-report-hour": number; - /** @description Unique identifier of the GitHub-hosted runner. */ - "hosted-runner-id": number; - /** @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 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 The name of the secret. */ - "secret-name": string; - /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - "variables-per-page": number; - /** @description The name of the variable. */ - "variable-name": string; - /** @description The handle for the GitHub user account. */ - username: string; - /** @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 The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - "hook-id": number; - /** @description The type of the actor */ - "api-insights-actor-type": "installation" | "classic_pat" | "fine_grained_pat" | "oauth_app" | "github_app_user_to_server"; - /** @description The ID of the actor */ - "api-insights-actor-id": number; - /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "api-insights-min-timestamp": string; - /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "api-insights-max-timestamp": string; - /** @description The property to sort the results by. */ - "api-insights-route-stats-sort": ("last_rate_limited_timestamp" | "last_request_timestamp" | "rate_limited_request_count" | "http_method" | "api_route" | "total_request_count")[]; - /** @description Providing a substring will filter results where the API route contains the substring. This is a case-insensitive search. */ - "api-insights-api-route-substring": string; - /** @description The property to sort the results by. */ - "api-insights-sort": ("last_rate_limited_timestamp" | "last_request_timestamp" | "rate_limited_request_count" | "subject_name" | "total_request_count")[]; - /** @description Providing a substring will filter results where the subject name contains the substring. This is a case-insensitive search. */ - "api-insights-subject-name-substring": string; - /** @description The ID of the user to query for stats */ - "api-insights-user-id": string; - /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ - "api-insights-timestamp-increment": string; - /** @description Providing a substring will filter results where the actor name contains the substring. This is a case-insensitive search. */ - "api-insights-actor-name-substring": string; - /** @description The unique identifier of the invitation. */ - "invitation-id": number; - /** @description The unique identifier of the issue type. */ - "issue-type-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 slug of the team name. */ - "team-slug": string; - /** @description The unique identifier of the role. */ - "role-id": number; - /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. - * - * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. - * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ - "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 The property by which to sort the results. */ - "personal-access-token-sort": "created_at"; - /** @description A list of owner usernames to use to filter the results. */ - "personal-access-token-owner": string[]; - /** @description The name of the repository to use to filter the results. */ - "personal-access-token-repository": string; - /** @description The permission to use to filter the results. */ - "personal-access-token-permission": string; - /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "personal-access-token-before": string; - /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "personal-access-token-after": string; - /** @description The ID of the token */ - "personal-access-token-token-id": string[]; - /** @description The unique identifier of the fine-grained personal access token. */ - "fine-grained-personal-access-token-id": number; - /** @description The custom property name */ - "custom-property-name": string; - /** @description A comma-separated list of rule targets to filter by. - * If provided, only rulesets that apply to the specified targets will be returned. - * For example, `branch,tag,push`. - * */ - "ruleset-targets": string; - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ - "ref-in-query": string; - /** @description The name of the repository to filter on. */ - "repository-name-in-query": string; - /** @description The time period to filter by. - * - * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for rule suites that occurred in the past 7 days (168 hours). */ - "time-period": "hour" | "day" | "week" | "month"; - /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ - "actor-name-in-query": string; - /** @description The rule suite results to filter on. When specified, only suites with this result will be returned. */ - "rule-suite-result": "pass" | "fail" | "bypass" | "all"; - /** @description The unique identifier of the rule suite result. - * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) - * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) - * for organizations. */ - "rule-suite-id": number; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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/guides/using-pagination-in-the-rest-api#using-link-headers). 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 Unique identifier of the hosted compute network configuration. */ - "network-configuration-id": string; - /** @description Unique identifier of the hosted compute network settings. */ - "network-settings-id": 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 security feature to enable or disable. */ - "security-product": "dependency_graph" | "dependabot_alerts" | "dependabot_security_updates" | "advanced_security" | "code_scanning_default_setup" | "secret_scanning" | "secret_scanning_push_protection"; - /** @description The action to take. - * - * `enable_all` means to enable the specified security feature for all repositories in the organization. - * `disable_all` means to disable the specified security feature for all repositories in the organization. */ - "org-security-product-enablement": "enable_all" | "disable_all"; - /** @description The unique identifier of the card. */ - "card-id": number; - /** @description The unique identifier of the column. */ - "column-id": number; - /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ - "artifact-name": string; - /** @description The unique identifier of the artifact. */ - "artifact-id": number; - /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ - "actions-cache-git-ref-full": string; - /** @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/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 Actions can set a status of `waiting`, `pending`, or `requested`. */ - "workflow-run-status": "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting" | "pending"; - /** @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 Only returns workflow runs that are associated with the specified `head_sha`. */ - "workflow-run-head-sha": string; - /** @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. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - 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 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 The number of the pull request for the results you want to list. */ - "pr-alias": number; - /** @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 commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ - "commit-ref": string; - /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ - "dependabot-alert-comma-separated-manifests": string; - /** @description The number that identifies a Dependabot alert in its repository. - * You can find this at the end of the URL for a Dependabot alert within GitHub, - * or in `number` fields in the response from the - * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ - "dependabot-alert-number": components["schemas"]["alert-number"]; - /** @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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - "environment-name": string; - /** @description The unique identifier of the branch policy. */ - "branch-policy-id": number; - /** @description The unique identifier of the protection rule. */ - "protection-rule-id": number; - /** - * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. - * @example heads/feature-a - */ - "git-ref-only": 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 ID of the Pages deployment. You can also give the commit SHA of the deployment. */ - "pages-deployment-id": number | string; - /** @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 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 Set to `true` to use advanced search. - * Example: `http://api.github.com/search/issues?q={query}&advanced_search=true` */ - "issues-advanced-search": string; - /** @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; - /** @description Only show repositories 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-repo-date": string; - /** @description Only show repositories 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-repo-date": string; - /** @description The unique identifier of the SSH signing key. */ - "ssh-signing-key-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-starred": "created" | "updated"; - }; - requestBodies: never; - headers: { - /** @example ; rel="next", ; rel="last" */ - link: string; - /** @example text/html */ - "content-type": string; - /** @example 0.17.4 */ - "x-common-marker-version": string; - /** @example 5000 */ - "x-rate-limit-limit": number; - /** @example 4999 */ - "x-rate-limit-remaining": number; - /** @example 1590701888 */ - "x-rate-limit-reset": number; - /** @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 */ - location: string; - }; - pathItems: never; -}; -export type $defs = Record; -export interface operations { - "meta/root": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["root"]; - }; - }; - }; - }; - "security-advisories/list-global-advisories": { - parameters: { - query?: { - /** @description If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned. */ - ghsa_id?: string; - /** @description If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. */ - type?: "reviewed" | "malware" | "unreviewed"; - /** @description If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned. */ - cve_id?: string; - /** @description If specified, only advisories for these ecosystems will be returned. */ - ecosystem?: components["schemas"]["security-advisory-ecosystems"]; - /** @description If specified, only advisories with these severities will be returned. */ - severity?: "unknown" | "low" | "medium" | "high" | "critical"; - /** @description If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. - * - * Example: `cwes=79,284,22` or `cwes[]=79&cwes[]=284&cwes[]=22` */ - cwes?: string | string[]; - /** @description Whether to only return advisories that have been withdrawn. */ - is_withdrawn?: boolean; - /** @description If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. - * If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. - * - * Example: `affects=package1,package2@1.0.0,package3@^2.0.0` or `affects[]=package1&affects[]=package2@1.0.0` */ - affects?: string | string[]; - /** @description If specified, only return advisories that were published on a date or date range. - * - * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ - published?: string; - /** @description If specified, only return advisories that were updated on a date or date range. - * - * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ - updated?: string; - /** @description If specified, only show advisories that were updated or published on a date or date range. - * - * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ - modified?: string; - /** @description If specified, only return advisories that have an EPSS percentage score that matches the provided value. - * The EPSS percentage represents the likelihood of a CVE being exploited. */ - epss_percentage?: string; - /** @description If specified, only return advisories that have an EPSS percentile score that matches the provided value. - * The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. */ - epss_percentile?: string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: number; - /** @description The property to sort the results by. */ - sort?: "updated" | "published" | "epss_percentage" | "epss_percentile"; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["global-advisory"][]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - /** @description Too many requests */ - 429: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - "security-advisories/get-global-advisory": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ - ghsa_id: components["parameters"]["ghsa_id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["global-advisory"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "apps/get-authenticated": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["integration"]; - }; - }; - }; - }; - "apps/create-from-manifest": { - parameters: { - query?: never; - header?: never; - path: { - code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "apps/get-webhook-config-for-app": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - "apps/update-webhook-config-for-app": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: 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"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - "apps/list-webhook-deliveries": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @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?: components["parameters"]["cursor"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["hook-delivery-item"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "apps/get-webhook-delivery": { - parameters: { - query?: never; - header?: never; - path: { - delivery_id: components["parameters"]["delivery-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "apps/redeliver-webhook-delivery": { - parameters: { - query?: never; - header?: never; - path: { - delivery_id: components["parameters"]["delivery-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "apps/list-installation-requests-for-authenticated-app": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description List of integration installation requests */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["integration-installation-request"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - }; - }; - "apps/list-installations": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description Only show results that were last 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; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description The permissions the installation has are included under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["installation"][]; - }; - }; - }; - }; - "apps/get-installation": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the installation. */ - installation_id: components["parameters"]["installation-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "apps/delete-installation": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the installation. */ - installation_id: components["parameters"]["installation-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "apps/create-installation-access-token": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the installation. */ - installation_id: components["parameters"]["installation-id"]; - }; - cookie?: never; - }; - 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"]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "apps/suspend-installation": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the installation. */ - installation_id: components["parameters"]["installation-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "apps/unsuspend-installation": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the installation. */ - installation_id: components["parameters"]["installation-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "apps/delete-authorization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The client ID of the GitHub app. */ - client_id: components["parameters"]["client-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The OAuth access token used to authenticate to the GitHub API. */ - access_token: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "apps/check-token": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The client ID of the GitHub app. */ - client_id: components["parameters"]["client-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The access_token of the OAuth or GitHub application. */ - access_token: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "apps/delete-token": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The client ID of the GitHub app. */ - client_id: components["parameters"]["client-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The OAuth access token used to authenticate to the GitHub API. */ - access_token: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "apps/reset-token": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The client ID of the GitHub app. */ - client_id: components["parameters"]["client-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The access_token of the OAuth or GitHub application. */ - access_token: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "apps/scope-token": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The client ID of the GitHub app. */ - client_id: components["parameters"]["client-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The 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 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 access token to. **Required** unless `target` is specified. - * @example 1 - */ - target_id?: number; - /** @description The list of repository names to scope the user 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 access token to. `repository_ids` may not be specified if `repositories` is specified. - * @example [ - * 1 - * ] - */ - repository_ids?: number[]; - permissions?: components["schemas"]["app-permissions"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "apps/get-by-slug": { - parameters: { - query?: never; - header?: never; - path: { - app_slug: components["parameters"]["app-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["integration"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "classroom/get-an-assignment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the classroom assignment. */ - assignment_id: components["parameters"]["assignment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["classroom-assignment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "classroom/list-accepted-assignments-for-an-assignment": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the classroom assignment. */ - assignment_id: components["parameters"]["assignment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["classroom-accepted-assignment"][]; - }; - }; - }; - }; - "classroom/get-assignment-grades": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the classroom assignment. */ - assignment_id: components["parameters"]["assignment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["classroom-assignment-grade"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "classroom/list-classrooms": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-classroom"][]; - }; - }; - }; - }; - "classroom/get-a-classroom": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the classroom. */ - classroom_id: components["parameters"]["classroom-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["classroom"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "classroom/list-assignments-for-a-classroom": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the classroom. */ - classroom_id: components["parameters"]["classroom-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-classroom-assignment"][]; - }; - }; - }; - }; - "codes-of-conduct/get-all-codes-of-conduct": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-of-conduct"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - "codes-of-conduct/get-conduct-code": { - parameters: { - query?: never; - header?: never; - path: { - key: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-of-conduct"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - "credentials/revoke": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description A list of credentials to be revoked, up to 1000 per request. */ - credentials: string[]; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 422: components["responses"]["validation_failed_simple"]; - 500: components["responses"]["internal_error"]; - }; - }; - "emojis/get": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - [key: string]: string; - }; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - "code-security/get-configurations-for-enterprise": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: number; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - }; - header?: never; - path: { - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-configuration"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "code-security/create-configuration-for-enterprise": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the code security configuration. Must be unique within the enterprise. */ - name: string; - /** @description A description of the code security configuration */ - description: string; - /** - * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. - * - * > [!WARNING] - * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. - * - * @default disabled - * @enum {string} - */ - advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; - /** - * @description The enablement status of GitHub Code Security features. - * @enum {string} - */ - code_security?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Dependency Graph - * @default enabled - * @enum {string} - */ - dependency_graph?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Automatic dependency submission - * @default disabled - * @enum {string} - */ - dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; - /** @description Feature options for Automatic dependency submission */ - dependency_graph_autosubmit_action_options?: { - /** - * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. - * @default false - */ - labeled_runners?: boolean; - }; - /** - * @description The enablement status of Dependabot alerts - * @default disabled - * @enum {string} - */ - dependabot_alerts?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Dependabot security updates - * @default disabled - * @enum {string} - */ - dependabot_security_updates?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of code scanning default setup - * @default disabled - * @enum {string} - */ - code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; - code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; - /** - * @description The enablement status of code scanning delegated alert dismissal - * @default disabled - * @enum {string} - */ - code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of GitHub Secret Protection features. - * @enum {string} - */ - secret_protection?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning - * @default disabled - * @enum {string} - */ - secret_scanning?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning push protection - * @default disabled - * @enum {string} - */ - secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning validity checks - * @default disabled - * @enum {string} - */ - secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning non provider patterns - * @default disabled - * @enum {string} - */ - secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Copilot secret scanning - * @default disabled - * @enum {string} - */ - secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning delegated alert dismissal - * @default disabled - * @enum {string} - */ - secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of private vulnerability reporting - * @default disabled - * @enum {string} - */ - private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; - /** - * @description The enforcement status for a security configuration - * @default enforced - * @enum {string} - */ - enforcement?: "enforced" | "unenforced"; - }; - }; - }; - responses: { - /** @description Successfully created code security configuration */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-configuration"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "code-security/get-default-configurations-for-enterprise": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-default-configurations"]; - }; - }; - }; - }; - "code-security/get-single-configuration-for-enterprise": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** @description The unique identifier of the code security configuration. */ - configuration_id: components["parameters"]["configuration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-configuration"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "code-security/delete-configuration-for-enterprise": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** @description The unique identifier of the code security configuration. */ - configuration_id: components["parameters"]["configuration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 204: components["responses"]["no_content"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - "code-security/update-enterprise-configuration": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** @description The unique identifier of the code security configuration. */ - configuration_id: components["parameters"]["configuration-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the code security configuration. Must be unique across the enterprise. */ - name?: string; - /** @description A description of the code security configuration */ - description?: string; - /** - * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. - * - * > [!WARNING] - * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. - * - * @enum {string} - */ - advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; - /** - * @description The enablement status of GitHub Code Security features. - * @enum {string} - */ - code_security?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Dependency Graph - * @enum {string} - */ - dependency_graph?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Automatic dependency submission - * @enum {string} - */ - dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; - /** @description Feature options for Automatic dependency submission */ - dependency_graph_autosubmit_action_options?: { - /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ - labeled_runners?: boolean; - }; - /** - * @description The enablement status of Dependabot alerts - * @enum {string} - */ - dependabot_alerts?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Dependabot security updates - * @enum {string} - */ - dependabot_security_updates?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of code scanning default setup - * @enum {string} - */ - code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; - code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; - /** - * @description The enablement status of code scanning delegated alert dismissal - * @default disabled - * @enum {string} - */ - code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of GitHub Secret Protection features. - * @enum {string} - */ - secret_protection?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning - * @enum {string} - */ - secret_scanning?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning push protection - * @enum {string} - */ - secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning validity checks - * @enum {string} - */ - secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning non-provider patterns - * @enum {string} - */ - secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Copilot secret scanning - * @default disabled - * @enum {string} - */ - secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning delegated alert dismissal - * @default disabled - * @enum {string} - */ - secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of private vulnerability reporting - * @enum {string} - */ - private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; - /** - * @description The enforcement status for a security configuration - * @enum {string} - */ - enforcement?: "enforced" | "unenforced"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-configuration"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - "code-security/attach-enterprise-configuration": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** @description The unique identifier of the code security configuration. */ - configuration_id: components["parameters"]["configuration-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The type of repositories to attach the configuration to. - * @enum {string} - */ - scope: "all" | "all_without_configurations"; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - "code-security/set-configuration-as-default-for-enterprise": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** @description The unique identifier of the code security configuration. */ - configuration_id: components["parameters"]["configuration-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Specify which types of repository this security configuration should be applied to by default. - * @enum {string} - */ - default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; - }; - }; - }; - responses: { - /** @description Default successfully changed. */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** - * @description Specifies which types of repository this security configuration is applied to by default. - * @enum {string} - */ - default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; - configuration?: components["schemas"]["code-security-configuration"]; - }; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "code-security/get-repositories-for-enterprise-configuration": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: number; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. - * - * Can be: `all`, `attached`, `attaching`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` */ - status?: string; - }; - header?: never; - path: { - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - /** @description The unique identifier of the code security configuration. */ - configuration_id: components["parameters"]["configuration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-configuration-repositories"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "dependabot/list-alerts-for-enterprise": { - parameters: { - query?: { - /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. - * - * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ - state?: components["parameters"]["dependabot-alert-comma-separated-states"]; - /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. - * - * Can be: `low`, `medium`, `high`, `critical` */ - severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; - /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. - * - * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ - ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; - /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ - package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; - /** @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: - * - An exact number (`n`) - * - Comparators such as `>n`, `=n`, `<=n` - * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 - * - * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. */ - epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; - /** @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. - * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. */ - has?: components["parameters"]["dependabot-alert-comma-separated-has"]; - /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ - scope?: components["parameters"]["dependabot-alert-scope"]; - /** @description The property by which to sort the results. - * `created` means when the alert was created. - * `updated` means when the alert's state last changed. - * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. */ - sort?: components["parameters"]["dependabot-alert-sort"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. - * This parameter must not be used in combination with `last`. - * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ - first?: components["parameters"]["pagination-first"]; - /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. - * This parameter must not be used in combination with `first`. - * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ - last?: components["parameters"]["pagination-last"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["dependabot-alert-with-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "secret-scanning/list-alerts-for-enterprise": { - parameters: { - query?: { - /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ - state?: components["parameters"]["secret-scanning-alert-state"]; - /** @description A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. */ - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - /** @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`. */ - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - /** @description 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"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ - validity?: components["parameters"]["secret-scanning-alert-validity"]; - /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ - is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; - /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ - is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; - /** @description A boolean value representing whether or not to hide literal secrets in the results. */ - hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; - }; - header?: never; - path: { - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: components["parameters"]["enterprise"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-secret-scanning-alert"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "activity/list-public-events": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "activity/get-feeds": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["feed"]; - }; - }; - }; - }; - "gists/list": { - parameters: { - query?: { - /** @description Only show results that were last 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"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - }; - }; - "gists/create": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - 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"); - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ - Location?: string; - [name: string]: unknown; - }; - 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"]; - }; - }; - "gists/list-public": { - parameters: { - query?: { - /** @description Only show results that were last 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"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "gists/list-starred": { - parameters: { - query?: { - /** @description Only show results that were last 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"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "gists/get": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden_gist"]; - 404: components["responses"]["not_found"]; - }; - }; - "gists/delete": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "gists/update": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The description of the gist. - * @example Example Ruby script - */ - description?: string; - /** - * @description The gist files to be updated, renamed, or deleted. Each `key` must match the current filename - * (including extension) of the targeted gist file. For example: `hello.py`. - * - * To delete a file, set the whole file to null. For example: `hello.py : null`. The file will also be - * deleted if the specified object does not contain at least one of `content` or `filename`. - * @example { - * "hello.rb": { - * "content": "blah", - * "filename": "goodbye.rb" - * } - * } - */ - files?: { - [key: string]: { - /** @description The new content of the file. */ - content?: string; - /** @description The new filename for the file. */ - filename?: string | null; - } | null; - }; - } | null; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "gists/list-comments": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gist-comment"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "gists/create-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The comment text. - * @example Body of the attachment - */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gist-comment"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "gists/get-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gist-comment"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden_gist"]; - 404: components["responses"]["not_found"]; - }; - }; - "gists/delete-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "gists/update-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The comment text. - * @example Body of the attachment - */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gist-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "gists/list-commits": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gist-commit"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "gists/list-forks": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gist-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "gists/fork": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["base-gist"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "gists/check-is-starred": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response if gist is starred */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - /** @description Not Found if gist is not starred */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": Record; - }; - }; - }; - }; - "gists/star": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "gists/unstar": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "gists/get-revision": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the gist. */ - gist_id: components["parameters"]["gist-id"]; - sha: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "gitignore/get-all-templates": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": string[]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - "gitignore/get-template": { - parameters: { - query?: never; - header?: never; - path: { - name: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gitignore-template"]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - "apps/list-repos-accessible-to-installation": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - 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"]; - }; - }; - "apps/revoke-installation-access-token": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "issues/list": { - parameters: { - query?: { - /** @description 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"; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - /** @description A list of comma separated label names. Example: `bug,ui,@high` */ - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description Only show results that were last 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; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - 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": { - parameters: { - query?: { - featured?: boolean; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["license-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - "licenses/get": { - parameters: { - query?: never; - header?: never; - path: { - license: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["license"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "markdown/render": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The Markdown text to render in HTML. */ - text: string; - /** - * @description The rendering mode. - * @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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - "Content-Type": components["headers"]["content-type"]; - /** @example 279 */ - "Content-Length"?: string; - "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; - [name: string]: unknown; - }; - content: { - "text/html": string; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - "markdown/render-raw": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "text/plain": string; - "text/x-markdown": string; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; - [name: string]: unknown; - }; - content: { - "text/html": string; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - "apps/get-subscription-plan-for-account": { - parameters: { - query?: never; - header?: never; - path: { - /** @description account_id parameter */ - account_id: components["parameters"]["account-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["marketplace-purchase"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - /** @description Not Found when the account has not purchased the listing */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - "apps/list-plans": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["marketplace-listing-plan"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - }; - }; - "apps/list-accounts-for-plan": { - parameters: { - query?: { - /** @description The property to sort the results by. */ - sort?: components["parameters"]["sort"]; - /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the plan. */ - plan_id: components["parameters"]["plan-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["marketplace-purchase"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "apps/get-subscription-plan-for-account-stubbed": { - parameters: { - query?: never; - header?: never; - path: { - /** @description account_id parameter */ - account_id: components["parameters"]["account-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["marketplace-purchase"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - /** @description Not Found when the account has not purchased the listing */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "apps/list-plans-stubbed": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["marketplace-listing-plan"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - }; - }; - "apps/list-accounts-for-plan-stubbed": { - parameters: { - query?: { - /** @description The property to sort the results by. */ - sort?: components["parameters"]["sort"]; - /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the plan. */ - plan_id: components["parameters"]["plan-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["marketplace-purchase"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - }; - }; - "meta/get": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["api-overview"]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - "activity/list-public-events-for-repo-network": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "activity/list-notifications-for-authenticated-user": { - parameters: { - query?: { - /** @description If `true`, show notifications marked as read. */ - all?: components["parameters"]["all"]; - /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ - participating?: components["parameters"]["participating"]; - /** @description Only show results that were last 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"]; - /** @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?: components["parameters"]["before"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 50). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - 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"]; - }; - }; - "activity/mark-notifications-as-read": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - }; - }; - }; - /** @description Reset Content */ - 205: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "activity/get-thread": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ - thread_id: components["parameters"]["thread-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["thread"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "activity/mark-thread-as-done": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ - thread_id: components["parameters"]["thread-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description No content */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "activity/mark-thread-as-read": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ - thread_id: components["parameters"]["thread-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Reset Content */ - 205: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - }; - }; - "activity/get-thread-subscription-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ - thread_id: components["parameters"]["thread-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["thread-subscription"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "activity/set-thread-subscription": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ - thread_id: components["parameters"]["thread-id"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to block all notifications from a thread. - * @default false - */ - ignored?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["thread-subscription"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "activity/delete-thread-subscription": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ - thread_id: components["parameters"]["thread-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "meta/get-octocat": { - parameters: { - query?: { - /** @description The words to show in Octocat's speech bubble */ - s?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/octocat-stream": string; - }; - }; - }; - }; - "orgs/list": { - parameters: { - query?: { - /** @description An organization ID. Only return organizations with an ID greater than this ID. */ - since?: components["parameters"]["since-org"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - "dependabot/repository-access-for-org": { - parameters: { - query?: { - /** @description The page number of results to fetch. */ - page?: number; - /** @description Number of results per page. */ - per_page?: number; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["dependabot-repository-access-details"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "dependabot/update-repository-access-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description List of repository IDs to add. */ - repository_ids_to_add?: number[]; - /** @description List of repository IDs to remove. */ - repository_ids_to_remove?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "dependabot/set-repository-access-default-level": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The default repository access level for Dependabot updates. - * @example internal - * @enum {string} - */ - default_level: "public" | "internal"; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "billing/get-github-billing-usage-report-org": { - parameters: { - query?: { - /** @description If specified, only return results for a single year. The value of `year` is an integer with four digits representing a year. For example, `2025`. Default value is the current year. */ - year?: components["parameters"]["billing-usage-report-year"]; - /** @description If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the default `year` is used. */ - month?: components["parameters"]["billing-usage-report-month"]; - /** @description If specified, only return results for a single day. The value of `day` is an integer between `1` and `31`. If no `year` or `month` is specified, the default `year` and `month` are used. */ - day?: components["parameters"]["billing-usage-report-day"]; - /** @description If specified, only return results for a single hour. The value of `hour` is an integer between `0` and `23`. If no `year`, `month`, or `day` is specified, the default `year`, `month`, and `day` are used. */ - hour?: components["parameters"]["billing-usage-report-hour"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["billing_usage_report_org"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "orgs/get": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/delete": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/update": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "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. The maximum size is 160 characters. */ - 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 closing down 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; - /** - * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. - * @default false - */ - web_commit_signoff_required?: boolean; - /** @example "http://github.blog" */ - blog?: string; - /** - * @deprecated - * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - * - * Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to this organization. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - advanced_security_enabled_for_new_repositories?: boolean; - /** - * @deprecated - * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - * - * Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependabot_alerts_enabled_for_new_repositories?: boolean; - /** - * @deprecated - * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - * - * Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependabot_security_updates_enabled_for_new_repositories?: boolean; - /** - * @deprecated - * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - * - * Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependency_graph_enabled_for_new_repositories?: boolean; - /** - * @deprecated - * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - * - * Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - secret_scanning_enabled_for_new_repositories?: boolean; - /** - * @deprecated - * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. - * - * Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - secret_scanning_push_protection_enabled_for_new_repositories?: boolean; - /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ - secret_scanning_push_protection_custom_link_enabled?: boolean; - /** @description If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. */ - secret_scanning_push_protection_custom_link?: string; - /** @description Controls whether or not deploy keys may be added and used for repositories in the organization. */ - deploy_keys_enabled_for_repositories?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-full"]; - }; - }; - 409: components["responses"]["conflict"]; - /** @description Validation failed */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; - }; - }; - }; - }; - "actions/get-actions-cache-usage-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; - }; - }; - }; - }; - "actions/get-actions-cache-usage-by-repo-for-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; - }; - }; - }; - }; - }; - "actions/list-hosted-runners-for-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - runners: components["schemas"]["actions-hosted-runner"][]; - }; - }; - }; - }; - }; - "actions/create-hosted-runner-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ - name: string; - /** @description The image of runner. To list all available images, use `GET /actions/hosted-runners/images/github-owned` or `GET /actions/hosted-runners/images/partner`. */ - image: { - /** @description The unique identifier of the runner image. */ - id?: string; - /** - * @description The source of the runner image. - * @enum {string} - */ - source?: "github" | "partner" | "custom"; - }; - /** @description The machine size of the runner. To list available sizes, use `GET actions/hosted-runners/machine-sizes` */ - size: string; - /** @description The existing runner group to add this runner to. */ - runner_group_id: number; - /** @description The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost. */ - maximum_runners?: number; - /** @description Whether this runner should be created with a static public IP. Note limit on account. To list limits on account, use `GET actions/hosted-runners/limits` */ - enable_static_ip?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-hosted-runner"]; - }; - }; - }; - }; - "actions/get-hosted-runners-github-owned-images-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - images: components["schemas"]["actions-hosted-runner-image"][]; - }; - }; - }; - }; - }; - "actions/get-hosted-runners-partner-images-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - images: components["schemas"]["actions-hosted-runner-image"][]; - }; - }; - }; - }; - }; - "actions/get-hosted-runners-limits-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-hosted-runner-limits"]; - }; - }; - }; - }; - "actions/get-hosted-runners-machine-specs-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - machine_specs: components["schemas"]["actions-hosted-runner-machine-spec"][]; - }; - }; - }; - }; - }; - "actions/get-hosted-runners-platforms-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - platforms: string[]; - }; - }; - }; - }; - }; - "actions/get-hosted-runner-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the GitHub-hosted runner. */ - hosted_runner_id: components["parameters"]["hosted-runner-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-hosted-runner"]; - }; - }; - }; - }; - "actions/delete-hosted-runner-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the GitHub-hosted runner. */ - hosted_runner_id: components["parameters"]["hosted-runner-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-hosted-runner"]; - }; - }; - }; - }; - "actions/update-hosted-runner-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the GitHub-hosted runner. */ - hosted_runner_id: components["parameters"]["hosted-runner-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ - name?: string; - /** @description The existing runner group to add this runner to. */ - runner_group_id?: number; - /** @description The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost. */ - maximum_runners?: number; - /** @description Whether this runner should be updated with a static public IP. Note limit on account. To list limits on account, use `GET actions/hosted-runners/limits` */ - enable_static_ip?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-hosted-runner"]; - }; - }; - }; - }; - "oidc/get-oidc-custom-sub-template-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description A JSON serialized template for OIDC subject claim customization */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["oidc-custom-sub"]; - }; - }; - }; - }; - "oidc/update-oidc-custom-sub-template-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["oidc-custom-sub"]; - }; - }; - responses: { - /** @description Empty response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "actions/get-github-actions-permissions-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-organization-permissions"]; - }; - }; - }; - }; - "actions/set-github-actions-permissions-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - enabled_repositories: components["schemas"]["enabled-repositories"]; - allowed_actions?: components["schemas"]["allowed-actions"]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-selected-repositories-enabled-github-actions-organization": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["repository"][]; - }; - }; - }; - }; - }; - "actions/set-selected-repositories-enabled-github-actions-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description List of repository IDs to enable for GitHub Actions. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/enable-selected-repository-github-actions-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the repository. */ - repository_id: components["parameters"]["repository-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/disable-selected-repository-github-actions-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the repository. */ - repository_id: components["parameters"]["repository-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/get-allowed-actions-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - }; - }; - "actions/set-allowed-actions-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/get-github-actions-default-workflow-permissions-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; - }; - }; - }; - }; - "actions/set-github-actions-default-workflow-permissions-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; - }; - }; - responses: { - /** @description Success response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-self-hosted-runner-groups-for-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description Only return runner groups that are allowed to be used by this repository. */ - visible_to_repository?: components["parameters"]["visible-to-repository"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - runner_groups: components["schemas"]["runner-groups-org"][]; - }; - }; - }; - }; - }; - "actions/create-self-hosted-runner-group-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - 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[]; - /** @description The identifier of a hosted compute network configuration. */ - network_configuration_id?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["runner-groups-org"]; - }; - }; - }; - }; - "actions/get-self-hosted-runner-group-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["runner-groups-org"]; - }; - }; - }; - }; - "actions/delete-self-hosted-runner-group-from-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/update-self-hosted-runner-group-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - }; - cookie?: never; - }; - 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 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[]; - /** @description The identifier of a hosted compute network configuration. */ - network_configuration_id?: string | null; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["runner-groups-org"]; - }; - }; - }; - }; - "actions/list-github-hosted-runners-in-group-for-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - runners: components["schemas"]["actions-hosted-runner"][]; - }; - }; - }; - }; - }; - "actions/list-repo-access-to-self-hosted-runner-group-in-org": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - }; - "actions/set-repo-access-to-self-hosted-runner-group-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description List of repository IDs that can access the runner group. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/add-repo-access-to-self-hosted-runner-group-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - /** @description The unique identifier of the repository. */ - repository_id: components["parameters"]["repository-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - /** @description The unique identifier of the repository. */ - repository_id: components["parameters"]["repository-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-self-hosted-runners-in-group-for-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; - }; - }; - }; - }; - "actions/set-self-hosted-runners-in-group-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description List of runner IDs to add to the runner group. */ - runners: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/add-self-hosted-runner-to-group-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/remove-self-hosted-runner-from-group-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner group. */ - runner_group_id: components["parameters"]["runner-group-id"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-self-hosted-runners-for-org": { - parameters: { - query?: { - /** @description The name of a self-hosted runner. */ - name?: string; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; - }; - }; - }; - }; - "actions/list-runner-applications-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["runner-application"][]; - }; - }; - }; - }; - "actions/generate-runner-jitconfig-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the new runner. */ - name: string; - /** @description The ID of the runner group to register the runner to. */ - runner_group_id: number; - /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ - labels: string[]; - /** - * @description The working directory to be used for job execution, relative to the runner install directory. - * @default _work - */ - work_folder?: string; - }; - }; - }; - responses: { - 201: components["responses"]["actions_runner_jitconfig"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "actions/create-registration-token-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - "actions/create-remove-token-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - "actions/get-self-hosted-runner-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["runner"]; - }; - }; - }; - }; - "actions/delete-self-hosted-runner-from-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "actions/list-labels-for-self-hosted-runner-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - }; - }; - "actions/set-custom-labels-for-self-hosted-runner-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - 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[]; - }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "actions/add-custom-labels-to-self-hosted-runner-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to add to the runner. */ - labels: string[]; - }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["actions_runner_labels_readonly"]; - 404: components["responses"]["not_found"]; - }; - }; - "actions/remove-custom-label-from-self-hosted-runner-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - /** @description The name of a self-hosted runner's custom label. */ - name: components["parameters"]["runner-label-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "actions/list-org-secrets": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["organization-actions-secret"][]; - }; - }; - }; - }; - }; - "actions/get-org-public-key": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; - }; - }; - }; - "actions/get-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-actions-secret"]; - }; - }; - }; - }; - "actions/create-or-update-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: 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/actions/secrets#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/actions/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/delete-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-selected-repos-for-org-secret": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - }; - "actions/set-selected-repos-for-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: 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 [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/add-selected-repo-to-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Conflict when visibility type is not set to selected */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/remove-selected-repo-from-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Conflict when visibility type not set to selected */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-org-variables": { - parameters: { - query?: { - /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["variables-per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["organization-actions-variable"][]; - }; - }; - }; - }; - }; - "actions/create-org-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; - /** - * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response when creating a variable */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - "actions/get-org-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-actions-variable"]; - }; - }; - }; - }; - "actions/delete-org-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/update-org-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name?: string; - /** @description The value of the variable. */ - value?: string; - /** - * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. - * @enum {string} - */ - visibility?: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-selected-repos-for-org-variable": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/set-selected-repos-for-org-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The IDs of the repositories that can access the organization variable. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/add-selected-repo-to-org-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - repository_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/remove-selected-repo-from-org-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - repository_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/list-attestations-bulk": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description List of subject digests to fetch attestations for. */ - subject_digests: string[]; - /** @description Optional filter for fetching attestations with a given predicate type. - * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ - predicate_type?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @description Mapping of subject digest to bundles. */ - attestations_subject_digests?: { - [key: string]: { - /** @description The bundle of the attestation. */ - bundle?: { - mediaType?: string; - verificationMaterial?: { - [key: string]: unknown; - }; - dsseEnvelope?: { - [key: string]: unknown; - }; - }; - repository_id?: number; - bundle_url?: string; - }[] | null; - }; - /** @description Information about the current page. */ - page_info?: { - /** @description Indicates whether there is a next page. */ - has_next?: boolean; - /** @description Indicates whether there is a previous page. */ - has_previous?: boolean; - /** @description The cursor to the next page. */ - next?: string; - /** @description The cursor to the previous page. */ - previous?: string; - }; - }; - }; - }; - }; - }; - "orgs/delete-attestations-bulk": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description List of subject digests associated with the artifact attestations to delete. */ - subject_digests: string[]; - } | { - /** @description List of unique IDs associated with the artifact attestations to delete. */ - attestation_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/delete-attestations-by-subject-digest": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Subject Digest */ - subject_digest: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/delete-attestations-by-id": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Attestation ID */ - attestation_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/list-attestations": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description Optional filter for fetching attestations with a given predicate type. - * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ - predicate_type?: string; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ - subject_digest: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - attestations?: { - /** @description The attestation's Sigstore Bundle. - * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ - bundle?: { - mediaType?: string; - verificationMaterial?: { - [key: string]: unknown; - }; - dsseEnvelope?: { - [key: string]: unknown; - }; - }; - repository_id?: number; - bundle_url?: string; - }[]; - }; - }; - }; - }; - }; - "orgs/list-blocked-users": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - "orgs/check-blocked-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description If the user is blocked */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description If the user is not blocked */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - "orgs/block-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/unblock-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "campaigns/list-org-campaigns": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description If specified, only campaigns with this state will be returned. */ - state?: components["schemas"]["campaign-state"]; - /** @description The property by which to sort the results. */ - sort?: "created" | "updated" | "ends_at" | "published"; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["campaign-summary"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "campaigns/create-campaign": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the campaign */ - name: string; - /** @description A description for the campaign */ - description: string; - /** @description The logins of the users to set as the campaign managers. At this time, only a single manager can be supplied. */ - managers?: string[]; - /** @description The slugs of the teams to set as the campaign managers. */ - team_managers?: string[]; - /** - * Format: date-time - * @description The end date and time of the campaign. The date must be in the future. - */ - ends_at: string; - /** - * Format: uri - * @description The contact link of the campaign. Must be a URI. - */ - contact_link?: string | null; - /** @description The code scanning alerts to include in this campaign */ - code_scanning_alerts: { - /** @description The repository id */ - repository_id: number; - /** @description The alert numbers */ - alert_numbers: number[]; - }[]; - /** - * @description If true, will automatically generate issues for the campaign. The default is false. - * @default false - */ - generate_issues?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["campaign-summary"]; - }; - }; - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 404: components["responses"]["not_found"]; - /** @description Unprocessable Entity */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Too Many Requests */ - 429: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "campaigns/get-campaign-summary": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The campaign number. */ - campaign_number: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["campaign-summary"]; - }; - }; - 404: components["responses"]["not_found"]; - /** @description Unprocessable Entity */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "campaigns/delete-campaign": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The campaign number. */ - campaign_number: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Deletion successful */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "campaigns/update-campaign": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The campaign number. */ - campaign_number: number; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the campaign */ - name?: string; - /** @description A description for the campaign */ - description?: string; - /** @description The logins of the users to set as the campaign managers. At this time, only a single manager can be supplied. */ - managers?: string[]; - /** @description The slugs of the teams to set as the campaign managers. */ - team_managers?: string[]; - /** - * Format: date-time - * @description The end date and time of the campaign, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - ends_at?: string; - /** - * Format: uri - * @description The contact link of the campaign. Must be a URI. - */ - contact_link?: string | null; - state?: components["schemas"]["campaign-state"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["campaign-summary"]; - }; - }; - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 404: components["responses"]["not_found"]; - /** @description Unprocessable Entity */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/list-alerts-for-org": { - parameters: { - query?: { - /** @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["parameters"]["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["parameters"]["tool-guid"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description If specified, only code scanning alerts with this state will be returned. */ - state?: components["schemas"]["code-scanning-alert-state-query"]; - /** @description The property by which to sort the results. */ - sort?: "created" | "updated"; - /** @description If specified, only code scanning alerts with this severity will be returned. */ - severity?: components["schemas"]["code-scanning-alert-severity"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-security/get-configurations-for-org": { - parameters: { - query?: { - /** @description The target type of the code security configuration */ - target_type?: "global" | "all"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: number; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-configuration"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "code-security/create-configuration": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the code security configuration. Must be unique within the organization. */ - name: string; - /** @description A description of the code security configuration */ - description: string; - /** - * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. - * - * > [!WARNING] - * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. - * - * @default disabled - * @enum {string} - */ - advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; - /** - * @description The enablement status of GitHub Code Security features. - * @enum {string} - */ - code_security?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Dependency Graph - * @default enabled - * @enum {string} - */ - dependency_graph?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Automatic dependency submission - * @default disabled - * @enum {string} - */ - dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; - /** @description Feature options for Automatic dependency submission */ - dependency_graph_autosubmit_action_options?: { - /** - * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. - * @default false - */ - labeled_runners?: boolean; - }; - /** - * @description The enablement status of Dependabot alerts - * @default disabled - * @enum {string} - */ - dependabot_alerts?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Dependabot security updates - * @default disabled - * @enum {string} - */ - dependabot_security_updates?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of code scanning default setup - * @default disabled - * @enum {string} - */ - code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; - code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; - /** - * @description The enablement status of code scanning delegated alert dismissal - * @default not_set - * @enum {string} - */ - code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of GitHub Secret Protection features. - * @enum {string} - */ - secret_protection?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning - * @default disabled - * @enum {string} - */ - secret_scanning?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning push protection - * @default disabled - * @enum {string} - */ - secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning delegated bypass - * @default disabled - * @enum {string} - */ - secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; - /** @description Feature options for secret scanning delegated bypass */ - secret_scanning_delegated_bypass_options?: { - /** @description The bypass reviewers for secret scanning delegated bypass */ - reviewers?: { - /** @description The ID of the team or role selected as a bypass reviewer */ - reviewer_id: number; - /** - * @description The type of the bypass reviewer - * @enum {string} - */ - reviewer_type: "TEAM" | "ROLE"; - }[]; - }; - /** - * @description The enablement status of secret scanning validity checks - * @default disabled - * @enum {string} - */ - secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning non provider patterns - * @default disabled - * @enum {string} - */ - secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Copilot secret scanning - * @default disabled - * @enum {string} - */ - secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning delegated alert dismissal - * @enum {string} - */ - secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of private vulnerability reporting - * @default disabled - * @enum {string} - */ - private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; - /** - * @description The enforcement status for a security configuration - * @default enforced - * @enum {string} - */ - enforcement?: "enforced" | "unenforced"; - }; - }; - }; - responses: { - /** @description Successfully created code security configuration */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-configuration"]; - }; - }; - }; - }; - "code-security/get-default-configurations": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-default-configurations"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "code-security/detach-configuration": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository IDs to detach from configurations. Up to 1000 IDs can be provided. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - "code-security/get-configuration": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the code security configuration. */ - configuration_id: components["parameters"]["configuration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-configuration"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "code-security/delete-configuration": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the code security configuration. */ - configuration_id: components["parameters"]["configuration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 204: components["responses"]["no_content"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - "code-security/update-configuration": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the code security configuration. */ - configuration_id: components["parameters"]["configuration-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the code security configuration. Must be unique within the organization. */ - name?: string; - /** @description A description of the code security configuration */ - description?: string; - /** - * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. - * - * > [!WARNING] - * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. - * - * @enum {string} - */ - advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; - /** - * @description The enablement status of GitHub Code Security features. - * @enum {string} - */ - code_security?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Dependency Graph - * @enum {string} - */ - dependency_graph?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Automatic dependency submission - * @enum {string} - */ - dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; - /** @description Feature options for Automatic dependency submission */ - dependency_graph_autosubmit_action_options?: { - /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ - labeled_runners?: boolean; - }; - /** - * @description The enablement status of Dependabot alerts - * @enum {string} - */ - dependabot_alerts?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Dependabot security updates - * @enum {string} - */ - dependabot_security_updates?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of code scanning default setup - * @enum {string} - */ - code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; - code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; - /** - * @description The enablement status of code scanning delegated alert dismissal - * @default disabled - * @enum {string} - */ - code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of GitHub Secret Protection features. - * @enum {string} - */ - secret_protection?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning - * @enum {string} - */ - secret_scanning?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning push protection - * @enum {string} - */ - secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning delegated bypass - * @enum {string} - */ - secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; - /** @description Feature options for secret scanning delegated bypass */ - secret_scanning_delegated_bypass_options?: { - /** @description The bypass reviewers for secret scanning delegated bypass */ - reviewers?: { - /** @description The ID of the team or role selected as a bypass reviewer */ - reviewer_id: number; - /** - * @description The type of the bypass reviewer - * @enum {string} - */ - reviewer_type: "TEAM" | "ROLE"; - }[]; - }; - /** - * @description The enablement status of secret scanning validity checks - * @enum {string} - */ - secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning non-provider patterns - * @enum {string} - */ - secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of Copilot secret scanning - * @enum {string} - */ - secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of secret scanning delegated alert dismissal - * @enum {string} - */ - secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; - /** - * @description The enablement status of private vulnerability reporting - * @enum {string} - */ - private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; - /** - * @description The enforcement status for a security configuration - * @enum {string} - */ - enforcement?: "enforced" | "unenforced"; - }; - }; - }; - responses: { - /** @description Response when a configuration is updated */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-configuration"]; - }; - }; - /** @description Response when no new updates are made */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "code-security/attach-configuration": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the code security configuration. */ - configuration_id: components["parameters"]["configuration-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The type of repositories to attach the configuration to. `selected` means the configuration will be attached to only the repositories specified by `selected_repository_ids` - * @enum {string} - */ - scope: "all" | "all_without_configurations" | "public" | "private_or_internal" | "selected"; - /** @description An array of repository IDs to attach the configuration to. You can only provide a list of repository ids when the `scope` is set to `selected`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - }; - }; - "code-security/set-configuration-as-default": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the code security configuration. */ - configuration_id: components["parameters"]["configuration-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Specify which types of repository this security configuration should be applied to by default. - * @enum {string} - */ - default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; - }; - }; - }; - responses: { - /** @description Default successfully changed. */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** - * @description Specifies which types of repository this security configuration is applied to by default. - * @enum {string} - */ - default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; - configuration?: components["schemas"]["code-security-configuration"]; - }; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "code-security/get-repositories-for-configuration": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: number; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. - * - * Can be: `all`, `attached`, `attaching`, `detached`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` */ - status?: string; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the code security configuration. */ - configuration_id: components["parameters"]["configuration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-configuration-repositories"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "codespaces/list-in-organization": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "codespaces/set-codespaces-access": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization. - * @enum {string} - */ - visibility: "disabled" | "selected_members" | "all_members" | "all_members_and_outside_collaborators"; - /** @description The usernames of the organization members who should have access to codespaces in the organization. Required when `visibility` is `selected_members`. The provided list of usernames will replace any existing value. */ - selected_usernames?: string[]; - }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - "codespaces/set-codespaces-access-users": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members whose codespaces be billed to the organization. */ - selected_usernames: string[]; - }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - "codespaces/delete-codespaces-access-users": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members whose codespaces should not be billed to the organization. */ - selected_usernames: string[]; - }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - "codespaces/list-org-secrets": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["codespaces-org-secret"][]; - }; - }; - }; - }; - }; - "codespaces/get-org-public-key": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespaces-public-key"]; - }; - }; - }; - }; - "codespaces/get-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespaces-org-secret"]; - }; - }; - }; - }; - "codespaces/create-or-update-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The 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/codespaces/organization-secrets#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** @description The 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/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "codespaces/delete-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "codespaces/list-selected-repos-for-org-secret": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "codespaces/set-selected-repos-for-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: 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/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type not set to selected */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "codespaces/add-selected-repo-to-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type is not set to selected */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "codespaces/remove-selected-repo-from-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type not set to selected */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "copilot/get-copilot-organization-details": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["copilot-organization-details"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description There is a problem with your account's associated payment method. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - "copilot/list-copilot-seats": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: number; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - /** @description Total number of Copilot seats for the organization currently being billed. */ - total_seats?: number; - seats?: components["schemas"]["copilot-seat-details"][]; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "copilot/add-copilot-seats-for-teams": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description List of team names within the organization to which to grant access to GitHub Copilot. */ - selected_teams: string[]; - }; - }; - }; - responses: { - /** @description OK */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - seats_created: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - "copilot/cancel-copilot-seat-assignment-for-teams": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of teams from which to revoke access to GitHub Copilot. */ - selected_teams: string[]; - }; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - seats_cancelled: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - "copilot/add-copilot-seats-for-users": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members to be granted access to GitHub Copilot. */ - selected_usernames: string[]; - }; - }; - }; - responses: { - /** @description OK */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - seats_created: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - "copilot/cancel-copilot-seat-assignment-for-users": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members for which to revoke access to GitHub Copilot. */ - selected_usernames: string[]; - }; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - seats_cancelled: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, the seat management setting is set to enable Copilot for all users or is unconfigured, or a user's seat cannot be cancelled because it was assigned to them via a team. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - "copilot/copilot-metrics-for-organization": { - parameters: { - query?: { - /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ - since?: string; - /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ - until?: string; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: number; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["copilot-usage-metrics-day"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["usage_metrics_api_disabled"]; - 500: components["responses"]["internal_error"]; - }; - }; - "dependabot/list-alerts-for-org": { - parameters: { - query?: { - /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. - * - * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ - state?: components["parameters"]["dependabot-alert-comma-separated-states"]; - /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. - * - * Can be: `low`, `medium`, `high`, `critical` */ - severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; - /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. - * - * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ - ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; - /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ - package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; - /** @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: - * - An exact number (`n`) - * - Comparators such as `>n`, `=n`, `<=n` - * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 - * - * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. */ - epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; - /** @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. - * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. */ - has?: components["parameters"]["dependabot-alert-comma-separated-has"]; - /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ - scope?: components["parameters"]["dependabot-alert-scope"]; - /** @description The property by which to sort the results. - * `created` means when the alert was created. - * `updated` means when the alert's state last changed. - * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. */ - sort?: components["parameters"]["dependabot-alert-sort"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. - * This parameter must not be used in combination with `last`. - * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ - first?: components["parameters"]["pagination-first"]; - /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. - * This parameter must not be used in combination with `first`. - * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ - last?: components["parameters"]["pagination-last"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["dependabot-alert-with-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "dependabot/list-org-secrets": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["organization-dependabot-secret"][]; - }; - }; - }; - }; - }; - "dependabot/get-org-public-key": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["dependabot-public-key"]; - }; - }; - }; - }; - "dependabot/get-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-dependabot-secret"]; - }; - }; - }; - }; - "dependabot/create-or-update-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: 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/dependabot/secrets#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/dependabot/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: string[]; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "dependabot/delete-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "dependabot/list-selected-repos-for-org-secret": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - }; - "dependabot/set-selected-repos-for-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: 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/dependabot/secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "dependabot/add-selected-repo-to-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Conflict when visibility type is not set to selected */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "dependabot/remove-selected-repo-from-org-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Conflict when visibility type not set to selected */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "packages/list-docker-migration-conflicting-packages-for-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "activity/list-public-org-events": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - "orgs/list-failed-invitations": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/list-webhooks": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["org-hook"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/create-webhook": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description Must be passed as "web". */ - name: string; - /** @description Key/value pairs to provide settings for this 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"]; - /** @example "kdaigle" */ - username?: string; - /** @example "password" */ - password?: string; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. - * @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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/orgs/octocat/hooks/1 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/get-webhook": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/delete-webhook": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/update-webhook": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description Key/value pairs to provide settings for this 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"]; - }; - /** - * @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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/get-webhook-config-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - "orgs/update-webhook-config-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: 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"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - "orgs/list-webhook-deliveries": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @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?: components["parameters"]["cursor"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["hook-delivery-item"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/get-webhook-delivery": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/redeliver-webhook-delivery": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/ping-webhook": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "api-insights/get-route-stats-by-actor": { - parameters: { - query: { - /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - min_timestamp: components["parameters"]["api-insights-min-timestamp"]; - /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The property to sort the results by. */ - sort?: components["parameters"]["api-insights-route-stats-sort"]; - /** @description Providing a substring will filter results where the API route contains the substring. This is a case-insensitive search. */ - api_route_substring?: components["parameters"]["api-insights-api-route-substring"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The type of the actor */ - actor_type: components["parameters"]["api-insights-actor-type"]; - /** @description The ID of the actor */ - actor_id: components["parameters"]["api-insights-actor-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["api-insights-route-stats"]; - }; - }; - }; - }; - "api-insights/get-subject-stats": { - parameters: { - query: { - /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - min_timestamp: components["parameters"]["api-insights-min-timestamp"]; - /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The property to sort the results by. */ - sort?: components["parameters"]["api-insights-sort"]; - /** @description Providing a substring will filter results where the subject name contains the substring. This is a case-insensitive search. */ - subject_name_substring?: components["parameters"]["api-insights-subject-name-substring"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["api-insights-subject-stats"]; - }; - }; - }; - }; - "api-insights/get-summary-stats": { - parameters: { - query: { - /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - min_timestamp: components["parameters"]["api-insights-min-timestamp"]; - /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["api-insights-summary-stats"]; - }; - }; - }; - }; - "api-insights/get-summary-stats-by-user": { - parameters: { - query: { - /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - min_timestamp: components["parameters"]["api-insights-min-timestamp"]; - /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The ID of the user to query for stats */ - user_id: components["parameters"]["api-insights-user-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["api-insights-summary-stats"]; - }; - }; - }; - }; - "api-insights/get-summary-stats-by-actor": { - parameters: { - query: { - /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - min_timestamp: components["parameters"]["api-insights-min-timestamp"]; - /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The type of the actor */ - actor_type: components["parameters"]["api-insights-actor-type"]; - /** @description The ID of the actor */ - actor_id: components["parameters"]["api-insights-actor-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["api-insights-summary-stats"]; - }; - }; - }; - }; - "api-insights/get-time-stats": { - parameters: { - query: { - /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - min_timestamp: components["parameters"]["api-insights-min-timestamp"]; - /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; - /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ - timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["api-insights-time-stats"]; - }; - }; - }; - }; - "api-insights/get-time-stats-by-user": { - parameters: { - query: { - /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - min_timestamp: components["parameters"]["api-insights-min-timestamp"]; - /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; - /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ - timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The ID of the user to query for stats */ - user_id: components["parameters"]["api-insights-user-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["api-insights-time-stats"]; - }; - }; - }; - }; - "api-insights/get-time-stats-by-actor": { - parameters: { - query: { - /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - min_timestamp: components["parameters"]["api-insights-min-timestamp"]; - /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; - /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ - timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The type of the actor */ - actor_type: components["parameters"]["api-insights-actor-type"]; - /** @description The ID of the actor */ - actor_id: components["parameters"]["api-insights-actor-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["api-insights-time-stats"]; - }; - }; - }; - }; - "api-insights/get-user-stats": { - parameters: { - query: { - /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - min_timestamp: components["parameters"]["api-insights-min-timestamp"]; - /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The property to sort the results by. */ - sort?: components["parameters"]["api-insights-sort"]; - /** @description Providing a substring will filter results where the actor name contains the substring. This is a case-insensitive search. */ - actor_name_substring?: components["parameters"]["api-insights-actor-name-substring"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The ID of the user to query for stats */ - user_id: components["parameters"]["api-insights-user-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["api-insights-user-stats"]; - }; - }; - }; - }; - "apps/get-org-installation": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - }; - }; - "orgs/list-app-installations": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - installations: components["schemas"]["installation"][]; - }; - }; - }; - }; - }; - "interactions/get-restrictions-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["interaction-limit-response"] | Record; - }; - }; - }; - }; - "interactions/set-restrictions-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "interactions/remove-restrictions-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/list-pending-invitations": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description Filter invitations by their member role. */ - role?: "all" | "admin" | "direct_member" | "billing_manager" | "hiring_manager"; - /** @description Filter invitations by their invitation source. */ - invitation_source?: "all" | "member" | "scim"; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/create-invitation": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - 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. - * * `reinstate` - The previous role assigned to the invitee before they were removed from your organization. Can be one of the roles listed above. Only works if the invitee was previously part of your organization. - * @default direct_member - * @enum {string} - */ - role?: "admin" | "direct_member" | "billing_manager" | "reinstate"; - /** @description Specify IDs for the teams you want to invite new members to. */ - team_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-invitation"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/cancel-invitation": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the invitation. */ - invitation_id: components["parameters"]["invitation-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/list-invitation-teams": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the invitation. */ - invitation_id: components["parameters"]["invitation-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/list-issue-types": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue-type"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/create-issue-type": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["organization-create-issue-type"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue-type"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "orgs/update-issue-type": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the issue type. */ - issue_type_id: components["parameters"]["issue-type-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["organization-update-issue-type"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue-type"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "orgs/delete-issue-type": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the issue type. */ - issue_type_id: components["parameters"]["issue-type-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "issues/list-for-org": { - parameters: { - query?: { - /** @description 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"; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - /** @description A list of comma separated label names. Example: `bug,ui,@high` */ - labels?: components["parameters"]["labels"]; - /** @description Can be the name of an issue type. */ - type?: string; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description Only show results that were last 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"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/list-members": { - parameters: { - query?: { - /** @description 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. `2fa_insecure` means that only members with [insecure 2FA methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) will be returned. These options are only available for organization owners. */ - filter?: "2fa_disabled" | "2fa_insecure" | "all"; - /** @description Filter members returned by their role. */ - role?: "all" | "admin" | "member"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/check-membership-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response if requester is an organization member and user is a member */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response if requester is not an organization member */ - 302: { - headers: { - /** @example https://api.github.com/orgs/github/public_members/pezra */ - Location?: string; - [name: string]: unknown; - }; - content?: never; - }; - /** @description Not Found if requester is an organization member and user is not a member */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/remove-member": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - }; - }; - "codespaces/get-codespaces-for-user-in-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "codespaces/delete-from-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - /** @description The name of the codespace. */ - codespace_name: components["parameters"]["codespace-name"]; - }; - cookie?: never; - }; - requestBody?: never; - 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"]; - }; - }; - "codespaces/stop-in-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - /** @description The name of the codespace. */ - codespace_name: components["parameters"]["codespace-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "copilot/get-copilot-seat-details-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description The user's GitHub Copilot seat details, including usage. */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["copilot-seat-details"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot Business or Enterprise is not enabled for this organization or the user has a pending organization invitation. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - "orgs/get-membership-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/set-membership-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - 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"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/remove-membership-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "migrations/list-for-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description Exclude attributes from the API response to improve performance */ - exclude?: "repositories"[]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["migration"][]; - }; - }; - }; - }; - "migrations/start-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - 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. */ - exclude?: "repositories"[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "migrations/get-status-for-org": { - parameters: { - query?: { - /** @description Exclude attributes from the API response to improve performance */ - exclude?: "repositories"[]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the migration. */ - migration_id: components["parameters"]["migration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description * `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: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "migrations/download-archive-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the migration. */ - migration_id: components["parameters"]["migration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 302: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "migrations/delete-archive-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the migration. */ - migration_id: components["parameters"]["migration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "migrations/unlock-repo-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the migration. */ - migration_id: components["parameters"]["migration-id"]; - /** @description repo_name parameter */ - repo_name: components["parameters"]["repo-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "migrations/list-repos-for-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the migration. */ - migration_id: components["parameters"]["migration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/list-org-roles": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response - list of organization roles */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @description The total number of organization roles available to the organization. */ - total_count?: number; - /** @description The list of organization roles available to the organization. */ - roles?: components["schemas"]["organization-role"][]; - }; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/revoke-all-org-roles-team": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/assign-team-to-org-role": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The unique identifier of the role. */ - role_id: components["parameters"]["role-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response if the organization, team or role does not exist. */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response if the organization roles feature is not enabled for the organization, or validation failed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/revoke-org-role-team": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The unique identifier of the role. */ - role_id: components["parameters"]["role-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/revoke-all-org-roles-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/assign-user-to-org-role": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - /** @description The unique identifier of the role. */ - role_id: components["parameters"]["role-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response if the organization, user or role does not exist. */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response if the organization roles feature is not enabled enabled for the organization, the validation failed, or the user is not an organization member. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/revoke-org-role-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - /** @description The unique identifier of the role. */ - role_id: components["parameters"]["role-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/get-org-role": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the role. */ - role_id: components["parameters"]["role-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-role"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/list-org-role-teams": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the role. */ - role_id: components["parameters"]["role-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response - List of assigned teams */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-role-assignment"][]; - }; - }; - /** @description Response if the organization or role does not exist. */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response if the organization roles feature is not enabled or validation failed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/list-org-role-users": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the role. */ - role_id: components["parameters"]["role-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response - List of assigned users */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["user-role-assignment"][]; - }; - }; - /** @description Response if the organization or role does not exist. */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response if the organization roles feature is not enabled or validation failed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/list-outside-collaborators": { - parameters: { - query?: { - /** @description 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. `2fa_insecure` means that only outside collaborators with [insecure 2FA methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) will be returned. */ - filter?: "2fa_disabled" | "2fa_insecure" | "all"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - "orgs/convert-member-to-outside-collaborator": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description User is getting converted asynchronously */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": Record; - }; - }; - /** @description User was converted */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description 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/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ - 403: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/remove-outside-collaborator": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Unprocessable Entity if user is a member of the organization */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - }; - }; - "packages/list-packages-for-organization": { - parameters: { - query: { - /** @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 selected visibility of the packages. This parameter is optional and only filters an existing result set. - * - * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. - * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ - visibility?: components["parameters"]["package-visibility"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: number; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: number; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 400: components["responses"]["package_es_list_error"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "packages/get-package-for-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package"]; - }; - }; - }; - }; - "packages/delete-package-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "packages/restore-package-for-org": { - parameters: { - query?: { - /** @description package token */ - token?: string; - }; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "packages/get-all-package-versions-for-package-owned-by-org": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The state of the package, either active or deleted. */ - state?: "active" | "deleted"; - }; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package-version"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "packages/get-package-version-for-organization": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the package version. */ - package_version_id: components["parameters"]["package-version-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package-version"]; - }; - }; - }; - }; - "packages/delete-package-version-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the package version. */ - package_version_id: components["parameters"]["package-version-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "packages/restore-package-version-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the package version. */ - package_version_id: components["parameters"]["package-version-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/list-pat-grant-requests": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The property by which to sort the results. */ - sort?: components["parameters"]["personal-access-token-sort"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description A list of owner usernames to use to filter the results. */ - owner?: components["parameters"]["personal-access-token-owner"]; - /** @description The name of the repository to use to filter the results. */ - repository?: components["parameters"]["personal-access-token-repository"]; - /** @description The permission to use to filter the results. */ - permission?: components["parameters"]["personal-access-token-permission"]; - /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - last_used_before?: components["parameters"]["personal-access-token-before"]; - /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - last_used_after?: components["parameters"]["personal-access-token-after"]; - /** @description The ID of the token */ - token_id?: components["parameters"]["personal-access-token-token-id"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-programmatic-access-grant-request"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - "orgs/review-pat-grant-requests-in-bulk": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values. */ - pat_request_ids?: number[]; - /** - * @description Action to apply to the requests. - * @enum {string} - */ - action: "approve" | "deny"; - /** @description Reason for approving or denying the requests. Max 1024 characters. */ - reason?: string | null; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - "orgs/review-pat-grant-request": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the request for access via fine-grained personal access token. */ - pat_request_id: number; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the request. - * @enum {string} - */ - action: "approve" | "deny"; - /** @description Reason for approving or denying the request. Max 1024 characters. */ - reason?: string | null; - }; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - "orgs/list-pat-grant-request-repositories": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the request for access via fine-grained personal access token. */ - pat_request_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "orgs/list-pat-grants": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The property by which to sort the results. */ - sort?: components["parameters"]["personal-access-token-sort"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description A list of owner usernames to use to filter the results. */ - owner?: components["parameters"]["personal-access-token-owner"]; - /** @description The name of the repository to use to filter the results. */ - repository?: components["parameters"]["personal-access-token-repository"]; - /** @description The permission to use to filter the results. */ - permission?: components["parameters"]["personal-access-token-permission"]; - /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - last_used_before?: components["parameters"]["personal-access-token-before"]; - /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - last_used_after?: components["parameters"]["personal-access-token-after"]; - /** @description The ID of the token */ - token_id?: components["parameters"]["personal-access-token-token-id"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-programmatic-access-grant"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - "orgs/update-pat-accesses": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the fine-grained personal access token. - * @enum {string} - */ - action: "revoke"; - /** @description The IDs of the fine-grained personal access tokens. */ - pat_ids: number[]; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - "orgs/update-pat-access": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the fine-grained personal access token. */ - pat_id: components["parameters"]["fine-grained-personal-access-token-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the fine-grained personal access token. - * @enum {string} - */ - action: "revoke"; - }; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - "orgs/list-pat-grant-repositories": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the fine-grained personal access token. */ - pat_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "private-registries/list-org-private-registries": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - configurations: components["schemas"]["org-private-registry-configuration"][]; - }; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - "private-registries/create-org-private-registry": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The registry type. - * @enum {string} - */ - registry_type: "maven_repository" | "nuget_feed" | "goproxy_server" | "npm_registry" | "rubygems_server" | "cargo_registry" | "composer_repository" | "docker_registry" | "git_source" | "helm_registry"; - /** - * Format: uri - * @description The URL of the private registry. - */ - url: string; - /** @description The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication. */ - username?: string | null; - /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint. */ - encrypted_value: string; - /** @description The ID of the key you used to encrypt the secret. */ - key_id: string; - /** - * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. You can manage the list of selected repositories using the [Update a private registry for an organization](https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization) endpoint. This field should be omitted if `visibility` is set to `all` or `private`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description The organization private registry configuration */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["org-private-registry-configuration-with-selected-repositories"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "private-registries/get-org-public-key": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - /** - * @description The identifier for the key. - * @example 012345678912345678 - */ - key_id: string; - /** - * @description The Base64 encoded public key. - * @example 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 - */ - key: string; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "private-registries/get-org-private-registry": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description The specified private registry configuration for the organization */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["org-private-registry-configuration"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "private-registries/delete-org-private-registry": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - "private-registries/update-org-private-registry": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The registry type. - * @enum {string} - */ - registry_type?: "maven_repository" | "nuget_feed" | "goproxy_server" | "npm_registry" | "rubygems_server" | "cargo_registry" | "composer_repository" | "docker_registry" | "git_source" | "helm_registry"; - /** - * Format: uri - * @description The URL of the private registry. - */ - url?: string; - /** @description The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication. */ - username?: string | null; - /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint. */ - encrypted_value?: string; - /** @description The ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. - * @enum {string} - */ - visibility?: "all" | "private" | "selected"; - /** @description An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. This field should be omitted if `visibility` is set to `all` or `private`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "projects/list-for-org": { - parameters: { - query?: { - /** @description Indicates the state of the projects to return. */ - state?: "open" | "closed" | "all"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["project"][]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "projects/create-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the project. */ - name: string; - /** @description The description of the project. */ - body?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "orgs/get-all-custom-properties": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["custom-property"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/create-or-update-custom-properties": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The array of custom properties to create or update. */ - properties: components["schemas"]["custom-property"][]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["custom-property"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/get-custom-property": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The custom property name */ - custom_property_name: components["parameters"]["custom-property-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["custom-property"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/create-or-update-custom-property": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The custom property name */ - custom_property_name: components["parameters"]["custom-property-name"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["custom-property-set-payload"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["custom-property"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/remove-custom-property": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The custom property name */ - custom_property_name: components["parameters"]["custom-property-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 204: components["responses"]["no_content"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/list-custom-properties-values-for-repos": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description Finds repositories in the organization with a query containing 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/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ - repository_query?: string; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["org-repo-custom-property-values"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/create-or-update-custom-properties-values-for-repos": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of repositories that the custom property values will be applied to. */ - repository_names: string[]; - /** @description List of custom property names and associated values to apply to the repositories. */ - properties: components["schemas"]["custom-property-value"][]; - }; - }; - }; - responses: { - /** @description No Content when custom property values are successfully created or updated */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/list-public-members": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - "orgs/check-public-membership-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response if user is a public member */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Not Found if user is not a public member */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/set-public-membership-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - }; - }; - "orgs/remove-public-membership-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/list-for-org": { - parameters: { - query?: { - /** @description Specifies the types of repositories you want returned. */ - type?: "all" | "public" | "private" | "forks" | "sources" | "member"; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - direction?: "asc" | "desc"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - "repos/create-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - 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 Whether the repository is private. - * @default false - */ - private?: boolean; - /** - * @description The visibility of the repository. - * @enum {string} - */ - visibility?: "public" | "private"; - /** - * @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 Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads?: 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. **The authenticated user must be an organization owner to set this property to `true`.** - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @deprecated - * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description Required when using `squash_merge_commit_message`. - * - * The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description Required when using `merge_commit_message`. - * - * The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description The custom properties for the new repository. The keys are the custom property names, and the values are the corresponding custom property values. */ - custom_properties?: { - [key: string]: unknown; - }; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-org-rulesets": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description A comma-separated list of rule targets to filter by. - * If provided, only rulesets that apply to the specified targets will be returned. - * For example, `branch,tag,push`. - * */ - targets?: components["parameters"]["ruleset-targets"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-ruleset"][]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/create-org-ruleset": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - /** @description Request body */ - requestBody: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name: string; - /** - * @description The target of the ruleset - * @default branch - * @enum {string} - */ - target?: "branch" | "tag" | "push" | "repository"; - enforcement: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["org-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/get-org-rule-suites": { - parameters: { - query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ - ref?: components["parameters"]["ref-in-query"]; - /** @description The name of the repository to filter on. */ - repository_name?: components["parameters"]["repository-name-in-query"]; - /** @description The time period to filter by. - * - * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for rule suites that occurred in the past 7 days (168 hours). */ - time_period?: components["parameters"]["time-period"]; - /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ - actor_name?: components["parameters"]["actor-name-in-query"]; - /** @description The rule suite results to filter on. When specified, only suites with this result will be returned. */ - rule_suite_result?: components["parameters"]["rule-suite-result"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["rule-suites"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/get-org-rule-suite": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The unique identifier of the rule suite result. - * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) - * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) - * for organizations. */ - rule_suite_id: components["parameters"]["rule-suite-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["rule-suite"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/get-org-ruleset": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/update-org-ruleset": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - cookie?: never; - }; - /** @description Request body */ - requestBody?: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name?: string; - /** - * @description The target of the ruleset - * @enum {string} - */ - target?: "branch" | "tag" | "push" | "repository"; - enforcement?: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["org-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/delete-org-ruleset": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "orgs/get-org-ruleset-history": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ruleset-version"][]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "orgs/get-org-ruleset-version": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - /** @description The ID of the version */ - version_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ruleset-version-with-state"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "secret-scanning/list-alerts-for-org": { - parameters: { - query?: { - /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ - state?: components["parameters"]["secret-scanning-alert-state"]; - /** @description A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. */ - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - /** @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`. */ - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - /** @description 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"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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"]; - /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ - validity?: components["parameters"]["secret-scanning-alert-validity"]; - /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ - is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; - /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ - is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; - /** @description A boolean value representing whether or not to hide literal secrets in the results. */ - hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-secret-scanning-alert"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "security-advisories/list-org-repository-advisories": { - parameters: { - query?: { - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "published"; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: number; - /** @description Filter by the state of the repository advisories. Only advisories of this state will be returned. */ - state?: "triage" | "draft" | "published" | "closed"; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-advisory"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/list-security-manager-teams": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-simple"][]; - }; - }; - }; - }; - "orgs/add-security-manager-team": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "orgs/remove-security-manager-team": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "billing/get-github-actions-billing-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-billing-usage"]; - }; - }; - }; - }; - "billing/get-github-packages-billing-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["packages-billing-usage"]; - }; - }; - }; - }; - "billing/get-shared-storage-billing-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["combined-billing-usage"]; - }; - }; - }; - }; - "hosted-compute/list-network-configurations-for-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - network_configurations: components["schemas"]["network-configuration"][]; - }; - }; - }; - }; - }; - "hosted-compute/create-network-configuration-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description Name of the network configuration. Must be between 1 and 100 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ - name: string; - /** - * @description The hosted compute service to use for the network configuration. - * @enum {string} - */ - compute_service?: "none" | "actions"; - /** @description The identifier of the network settings to use for the network configuration. Exactly one network settings must be specified. */ - network_settings_ids: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["network-configuration"]; - }; - }; - }; - }; - "hosted-compute/get-network-configuration-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the hosted compute network configuration. */ - network_configuration_id: components["parameters"]["network-configuration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["network-configuration"]; - }; - }; - }; - }; - "hosted-compute/delete-network-configuration-from-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the hosted compute network configuration. */ - network_configuration_id: components["parameters"]["network-configuration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "hosted-compute/update-network-configuration-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the hosted compute network configuration. */ - network_configuration_id: components["parameters"]["network-configuration-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description Name of the network configuration. Must be between 1 and 100 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ - name?: string; - /** - * @description The hosted compute service to use for the network configuration. - * @enum {string} - */ - compute_service?: "none" | "actions"; - /** @description The identifier of the network settings to use for the network configuration. Exactly one network settings must be specified. */ - network_settings_ids?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["network-configuration"]; - }; - }; - }; - }; - "hosted-compute/get-network-settings-for-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description Unique identifier of the hosted compute network settings. */ - network_settings_id: components["parameters"]["network-settings-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["network-settings"]; - }; - }; - }; - }; - "copilot/copilot-metrics-for-team": { - parameters: { - query?: { - /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ - since?: string; - /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ - until?: string; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: number; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["copilot-usage-metrics-day"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["usage_metrics_api_disabled"]; - 500: components["responses"]["internal_error"]; - }; - }; - "teams/list": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - "teams/create": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the team. */ - name: string; - /** @description The description of the team. */ - description?: string; - /** @description List GitHub usernames 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 The notification setting the team has chosen. The options are: - * * `notifications_enabled` - team members receive notifications when the team is @mentioned. - * * `notifications_disabled` - no one receives notifications. - * Default: `notifications_enabled` - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** - * @description **Closing down notice**. 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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "teams/get-by-name": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "teams/delete-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/update-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - 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 The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: - * * `notifications_enabled` - team members receive notifications when the team is @mentioned. - * * `notifications_disabled` - no one receives notifications. - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** - * @description **Closing down notice**. 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; - }; - }; - }; - responses: { - /** @description Response when the updated information already exists */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "teams/list-discussions-in-org": { - parameters: { - query?: { - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description Pinned discussions only filter */ - pinned?: string; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion"][]; - }; - }; - }; - }; - "teams/create-discussion-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - "teams/get-discussion-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - "teams/delete-discussion-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/update-discussion-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title?: string; - /** @description The discussion post's body text. */ - body?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - "teams/list-discussion-comments-in-org": { - parameters: { - query?: { - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"][]; - }; - }; - }; - }; - "teams/create-discussion-comment-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - "teams/get-discussion-comment-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - /** @description The number that identifies the comment. */ - comment_number: components["parameters"]["comment-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - "teams/delete-discussion-comment-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - /** @description The number that identifies the comment. */ - comment_number: components["parameters"]["comment-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/update-discussion-comment-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - /** @description The number that identifies the comment. */ - comment_number: components["parameters"]["comment-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - "reactions/list-for-team-discussion-comment-in-org": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - /** @description The number that identifies the comment. */ - comment_number: components["parameters"]["comment-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - "reactions/create-for-team-discussion-comment-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - /** @description The number that identifies the comment. */ - comment_number: components["parameters"]["comment-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response when the reaction type has already been added to this team discussion comment */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - "reactions/delete-for-team-discussion-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - /** @description The number that identifies the comment. */ - comment_number: components["parameters"]["comment-number"]; - /** @description The unique identifier of the reaction. */ - reaction_id: components["parameters"]["reaction-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "reactions/list-for-team-discussion-in-org": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - "reactions/create-for-team-discussion-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - "reactions/delete-for-team-discussion": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - /** @description The unique identifier of the reaction. */ - reaction_id: components["parameters"]["reaction-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/list-pending-invitations-in-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - }; - }; - "teams/list-members-in-org": { - parameters: { - query?: { - /** @description Filters members returned by their role in the team. */ - role?: "member" | "maintainer" | "all"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - "teams/get-membership-for-user-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description if user has no team membership */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/add-or-update-membership-for-user-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The role that this user should have in the team. - * @default member - * @enum {string} - */ - role?: "member" | "maintainer"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description Forbidden if team synchronization is set up */ - 403: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Unprocessable Entity if you attempt to add an organization to a team */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/remove-membership-for-user-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Forbidden if team synchronization is set up */ - 403: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/list-projects-in-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-project"][]; - }; - }; - }; - }; - "teams/check-permissions-for-project-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-project"]; - }; - }; - /** @description Not Found if project is not managed by this team */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/add-or-update-project-permissions-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - }; - cookie?: never; - }; - 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - } | null; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Forbidden if the project is not owned by the organization */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - }; - }; - "teams/remove-project-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/list-repos-in-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - "teams/check-permissions-for-repo-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Alternative response with repository permissions */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-repository"]; - }; - }; - /** @description 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: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Not Found if team does not have permission for the repository */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/add-or-update-repo-permissions-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and 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. */ - permission?: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/remove-repo-in-org": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/list-child-in-org": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The slug of the team name. */ - team_slug: components["parameters"]["team-slug"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description if child teams exist */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - }; - }; - "orgs/enable-or-disable-security-product-on-all-org-repos": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - /** @description The security feature to enable or disable. */ - security_product: components["parameters"]["security-product"]; - /** @description The action to take. - * - * `enable_all` means to enable the specified security feature for all repositories in the organization. - * `disable_all` means to disable the specified security feature for all repositories in the organization. */ - enablement: components["parameters"]["org-security-product-enablement"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description CodeQL query suite to be used. If you specify the `query_suite` parameter, the default setup will be configured with this query suite only on all repositories that didn't have default setup already configured. It will not change the query suite on repositories that already have default setup configured. - * If you don't specify any `query_suite` in your request, the preferred query suite of the organization will be applied. - * @enum {string} - */ - query_suite?: "default" | "extended"; - }; - }; - }; - responses: { - /** @description Action started */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "projects/get-card": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the card. */ - card_id: components["parameters"]["card-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "projects/delete-card": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the card. */ - card_id: components["parameters"]["card-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "projects/update-card": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the card. */ - card_id: components["parameters"]["card-id"]; - }; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "projects/move-card": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the card. */ - card_id: components["parameters"]["card-id"]; - }; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": Record; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - resource?: string; - field?: string; - }[]; - }; - }; - }; - 422: components["responses"]["validation_failed"]; - /** @description Response */ - 503: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - }[]; - }; - }; - }; - }; - }; - "projects/get-column": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the column. */ - column_id: components["parameters"]["column-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "projects/delete-column": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the column. */ - column_id: components["parameters"]["column-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "projects/update-column": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the column. */ - column_id: components["parameters"]["column-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Name of the project column - * @example Remaining tasks - */ - name: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["project-column"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "projects/list-cards": { - parameters: { - query?: { - /** @description Filters the project cards that are returned by the card's state. */ - archived_state?: "all" | "archived" | "not_archived"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the column. */ - column_id: components["parameters"]["column-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["project-card"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "projects/create-card": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the column. */ - column_id: components["parameters"]["column-id"]; - }; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description Validation failed */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; - }; - }; - /** @description Response */ - 503: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - }[]; - }; - }; - }; - }; - }; - "projects/move-column": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the column. */ - column_id: components["parameters"]["column-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": Record; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "projects/get": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "projects/delete": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Delete Success */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - "projects/update": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - }; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; - }; - }; - /** @description Not Found if the authenticated user does not have access to the project */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "projects/list-collaborators": { - parameters: { - query?: { - /** @description 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"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - 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"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "projects/add-collaborator": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant the collaborator. - * @default write - * @example write - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - } | null; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: 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"]; - }; - }; - "projects/remove-collaborator": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: 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"]; - }; - }; - "projects/get-permission-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "projects/list-columns": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["project-column"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "projects/create-column": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Name of the project column - * @example Remaining tasks - */ - name: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "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_simple"]; - }; - }; - "rate-limit/get": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; - "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; - "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["rate-limit-overview"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/get": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/delete": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 307: components["responses"]["temporary_redirect"]; - /** @description If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - "repos/update": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - 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. - * @default false - */ - private?: boolean; - /** - * @description The visibility of the repository. - * @enum {string} - */ - visibility?: "public" | "private"; - /** @description Specify which security and analysis features to enable or disable for the repository. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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)." - * - * For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: - * `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. - * - * 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)." - * - * For standalone Code Scanning or Secret Protection products, this parameter cannot be used. */ - advanced_security?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; - }; - /** @description Use the `status` property to enable or disable GitHub Code Security for this repository. */ - code_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; - }; - /** @description Use the `status` property to enable or disable secret scanning AI detection for this repository. For more information, see "[Responsible detection of generic secrets with AI](https://docs.github.com/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets)." */ - secret_scanning_ai_detection?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; - }; - /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ - secret_scanning_non_provider_patterns?: { - /** @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; - /** - * @deprecated - * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description Required when using `squash_merge_commit_message`. - * - * The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description Required when using `merge_commit_message`. - * - * The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to archive this repository. `false` will unarchive a previously archived repository. - * @default false - */ - archived?: boolean; - /** - * @description Either `true` to allow private forks, or `false` to prevent private forks. - * @default false - */ - allow_forking?: boolean; - /** - * @description Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits. - * @default false - */ - web_commit_signoff_required?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "actions/list-artifacts-for-repo": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ - name?: components["parameters"]["artifact-name"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - artifacts: components["schemas"]["artifact"][]; - }; - }; - }; - }; - }; - "actions/get-artifact": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the artifact. */ - artifact_id: components["parameters"]["artifact-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["artifact"]; - }; - }; - }; - }; - "actions/delete-artifact": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the artifact. */ - artifact_id: components["parameters"]["artifact-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/download-artifact": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the artifact. */ - artifact_id: components["parameters"]["artifact-id"]; - archive_format: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 302: { - headers: { - Location: components["headers"]["location"]; - [name: string]: unknown; - }; - content?: never; - }; - 410: components["responses"]["gone"]; - }; - }; - "actions/get-actions-cache-usage": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-cache-usage-by-repository"]; - }; - }; - }; - }; - "actions/get-actions-cache-list": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ - ref?: components["parameters"]["actions-cache-git-ref-full"]; - /** @description An explicit key or prefix for identifying the cache */ - key?: components["parameters"]["actions-cache-key"]; - /** @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. */ - sort?: components["parameters"]["actions-cache-list-sort"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-cache-list"]; - }; - }; - }; - }; - "actions/delete-actions-cache-by-key": { - parameters: { - query: { - /** @description A key for identifying the cache. */ - key: components["parameters"]["actions-cache-key-required"]; - /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ - ref?: components["parameters"]["actions-cache-git-ref-full"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-cache-list"]; - }; - }; - }; - }; - "actions/delete-actions-cache-by-id": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the GitHub Actions cache. */ - cache_id: components["parameters"]["cache-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/get-job-for-workflow-run": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the job. */ - job_id: components["parameters"]["job-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["job"]; - }; - }; - }; - }; - "actions/download-job-logs-for-workflow-run": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the job. */ - job_id: components["parameters"]["job-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 302: { - headers: { - /** @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 */ - Location?: string; - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/re-run-job-for-workflow-run": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the job. */ - job_id: components["parameters"]["job-id"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - "actions/get-custom-oidc-sub-claim-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Status response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["oidc-custom-sub-repo"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - "actions/set-custom-oidc-sub-claim-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ - use_default: boolean; - /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ - include_claim_keys?: string[]; - }; - }; - }; - responses: { - /** @description Empty response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "actions/list-repo-organization-secrets": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; - }; - }; - }; - }; - "actions/list-repo-organization-variables": { - parameters: { - query?: { - /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["variables-per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["actions-variable"][]; - }; - }; - }; - }; - }; - "actions/get-github-actions-permissions-repository": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-repository-permissions"]; - }; - }; - }; - }; - "actions/set-github-actions-permissions-repository": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - enabled: components["schemas"]["actions-enabled"]; - allowed_actions?: components["schemas"]["allowed-actions"]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/get-workflow-access-to-repository": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-workflow-access-to-repository"]; - }; - }; - }; - }; - "actions/set-workflow-access-to-repository": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["actions-workflow-access-to-repository"]; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/get-allowed-actions-repository": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - }; - }; - "actions/set-allowed-actions-repository": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/get-github-actions-default-workflow-permissions-repository": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; - }; - }; - }; - }; - "actions/set-github-actions-default-workflow-permissions-repository": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; - }; - }; - responses: { - /** @description Success response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Conflict response when changing a setting is prevented by the owning organization */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-self-hosted-runners-for-repo": { - parameters: { - query?: { - /** @description The name of a self-hosted runner. */ - name?: string; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; - }; - }; - }; - }; - "actions/list-runner-applications-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["runner-application"][]; - }; - }; - }; - }; - "actions/generate-runner-jitconfig-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the new runner. */ - name: string; - /** @description The ID of the runner group to register the runner to. */ - runner_group_id: number; - /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ - labels: string[]; - /** - * @description The working directory to be used for job execution, relative to the runner install directory. - * @default _work - */ - work_folder?: string; - }; - }; - }; - responses: { - 201: components["responses"]["actions_runner_jitconfig"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "actions/create-registration-token-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - "actions/create-remove-token-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - "actions/get-self-hosted-runner-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["runner"]; - }; - }; - }; - }; - "actions/delete-self-hosted-runner-from-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "actions/list-labels-for-self-hosted-runner-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - }; - }; - "actions/set-custom-labels-for-self-hosted-runner-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - 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[]; - }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "actions/add-custom-labels-to-self-hosted-runner-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to add to the runner. */ - labels: string[]; - }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["actions_runner_labels_readonly"]; - 404: components["responses"]["not_found"]; - }; - }; - "actions/remove-custom-label-from-self-hosted-runner-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description Unique identifier of the self-hosted runner. */ - runner_id: components["parameters"]["runner-id"]; - /** @description The name of a self-hosted runner's custom label. */ - name: components["parameters"]["runner-label-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "actions/list-workflow-runs-for-repo": { - parameters: { - query?: { - /** @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?: components["parameters"]["actor"]; - /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ - branch?: components["parameters"]["workflow-run-branch"]; - /** @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/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ - event?: components["parameters"]["event"]; - /** @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 Actions can set a status of `waiting`, `pending`, or `requested`. */ - status?: components["parameters"]["workflow-run-status"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @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?: components["parameters"]["created"]; - /** @description If `true` pull requests are omitted from the response (empty array). */ - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - /** @description Returns workflow runs with the `check_suite_id` that you specify. */ - check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; - /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ - head_sha?: components["parameters"]["workflow-run-head-sha"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; - }; - }; - }; - }; - }; - "actions/get-workflow-run": { - parameters: { - query?: { - /** @description If `true` pull requests are omitted from the response (empty array). */ - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["workflow-run"]; - }; - }; - }; - }; - "actions/delete-workflow-run": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/get-reviews-for-run": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["environment-approvals"][]; - }; - }; - }; - }; - "actions/approve-workflow-run": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "actions/list-workflow-run-artifacts": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ - name?: components["parameters"]["artifact-name"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - artifacts: components["schemas"]["artifact"][]; - }; - }; - }; - }; - }; - "actions/get-workflow-run-attempt": { - parameters: { - query?: { - /** @description If `true` pull requests are omitted from the response (empty array). */ - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - /** @description The attempt number of the workflow run. */ - attempt_number: components["parameters"]["attempt-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["workflow-run"]; - }; - }; - }; - }; - "actions/list-jobs-for-workflow-run-attempt": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - /** @description The attempt number of the workflow run. */ - attempt_number: components["parameters"]["attempt-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - jobs: components["schemas"]["job"][]; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "actions/download-workflow-run-attempt-logs": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - /** @description The attempt number of the workflow run. */ - attempt_number: components["parameters"]["attempt-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 302: { - headers: { - /** @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 */ - Location?: string; - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/cancel-workflow-run": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 409: components["responses"]["conflict"]; - }; - }; - "actions/review-custom-gates-for-run": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["review-custom-gates-comment-required"] | components["schemas"]["review-custom-gates-state-required"]; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/force-cancel-workflow-run": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 409: components["responses"]["conflict"]; - }; - }; - "actions/list-jobs-for-workflow-run": { - parameters: { - query?: { - /** @description 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"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - jobs: components["schemas"]["job"][]; - }; - }; - }; - }; - }; - "actions/download-workflow-run-logs": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 302: { - headers: { - /** @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 */ - Location?: string; - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/delete-workflow-run-logs": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 500: components["responses"]["internal_error"]; - }; - }; - "actions/get-pending-deployments-for-run": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pending-deployment"][]; - }; - }; - }; - }; - "actions/review-pending-deployments-for-run": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The list of environment ids to approve or reject - * @example [ - * 161171787, - * 161171795 - * ] - */ - 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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deployment"][]; - }; - }; - }; - }; - "actions/re-run-workflow": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - "actions/re-run-workflow-failed-jobs": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - "actions/get-workflow-run-usage": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the workflow run. */ - run_id: components["parameters"]["run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["workflow-run-usage"]; - }; - }; - }; - }; - "actions/list-repo-secrets": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; - }; - }; - }; - }; - "actions/get-repo-public-key": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; - }; - }; - }; - "actions/get-repo-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-secret"]; - }; - }; - }; - }; - "actions/create-or-update-repo-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: 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 a repository public key](https://docs.github.com/rest/actions/secrets#get-a-repository-public-key) endpoint. */ - encrypted_value: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id: string; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/delete-repo-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-repo-variables": { - parameters: { - query?: { - /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["variables-per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["actions-variable"][]; - }; - }; - }; - }; - }; - "actions/create-repo-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - "actions/get-repo-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-variable"]; - }; - }; - }; - }; - "actions/delete-repo-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/update-repo-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name?: string; - /** @description The value of the variable. */ - value?: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-repo-workflows": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - workflows: components["schemas"]["workflow"][]; - }; - }; - }; - }; - }; - "actions/get-workflow": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: components["parameters"]["workflow-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["workflow"]; - }; - }; - }; - }; - "actions/disable-workflow": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: components["parameters"]["workflow-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/create-workflow-dispatch": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: components["parameters"]["workflow-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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]: unknown; - }; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/enable-workflow": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: components["parameters"]["workflow-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-workflow-runs": { - parameters: { - query?: { - /** @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?: components["parameters"]["actor"]; - /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ - branch?: components["parameters"]["workflow-run-branch"]; - /** @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/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ - event?: components["parameters"]["event"]; - /** @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 Actions can set a status of `waiting`, `pending`, or `requested`. */ - status?: components["parameters"]["workflow-run-status"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @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?: components["parameters"]["created"]; - /** @description If `true` pull requests are omitted from the response (empty array). */ - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - /** @description Returns workflow runs with the `check_suite_id` that you specify. */ - check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; - /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ - head_sha?: components["parameters"]["workflow-run-head-sha"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: components["parameters"]["workflow-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; - }; - }; - }; - }; - }; - "actions/get-workflow-usage": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: components["parameters"]["workflow-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["workflow-usage"]; - }; - }; - }; - }; - "repos/list-activities": { - parameters: { - query?: { - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description The Git reference for the activities you want to list. - * - * The `ref` for a branch can be formatted either as `refs/heads/BRANCH_NAME` or `BRANCH_NAME`, where `BRANCH_NAME` is the name of your branch. */ - ref?: string; - /** @description The GitHub username to use to filter by the actor who performed the activity. */ - actor?: string; - /** @description The time period to filter by. - * - * For example, `day` will filter for activity that occurred in the past 24 hours, and `week` will filter for activity that occurred in the past 7 days (168 hours). */ - time_period?: "day" | "week" | "month" | "quarter" | "year"; - /** @description The activity type to filter by. - * - * For example, you can choose to filter by "force_push", to see all force pushes to the repository. */ - activity_type?: "push" | "force_push" | "branch_creation" | "branch_deletion" | "pr_merge" | "merge_queue_merge"; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["activity"][]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "issues/list-assignees": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "issues/check-user-can-be-assigned": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - assignee: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Otherwise a `404` status code is returned. */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - "repos/create-attestation": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The attestation's Sigstore Bundle. - * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ - bundle: { - mediaType?: string; - verificationMaterial?: { - [key: string]: unknown; - }; - dsseEnvelope?: { - [key: string]: unknown; - }; - }; - }; - }; - }; - responses: { - /** @description response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @description The ID of the attestation. */ - id?: number; - }; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/list-attestations": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description Optional filter for fetching attestations with a given predicate type. - * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ - predicate_type?: string; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ - subject_digest: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - attestations?: { - /** @description The attestation's Sigstore Bundle. - * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ - bundle?: { - mediaType?: string; - verificationMaterial?: { - [key: string]: unknown; - }; - dsseEnvelope?: { - [key: string]: unknown; - }; - }; - repository_id?: number; - bundle_url?: string; - }[]; - }; - }; - }; - }; - }; - "repos/list-autolinks": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["autolink"][]; - }; - }; - }; - }; - "repos/create-autolink": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description This prefix appended by certain 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 different characters depending on the value of `is_alphanumeric`. */ - url_template: string; - /** - * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. - * @default true - */ - is_alphanumeric?: boolean; - }; - }; - }; - responses: { - /** @description response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["autolink"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-autolink": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the autolink. */ - autolink_id: components["parameters"]["autolink-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["autolink"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/delete-autolink": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the autolink. */ - autolink_id: components["parameters"]["autolink-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/check-automated-security-fixes": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response if Dependabot is enabled */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["check-automated-security-fixes"]; - }; - }; - /** @description Not Found if Dependabot is not enabled for the repository */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/enable-automated-security-fixes": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/disable-automated-security-fixes": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/list-branches": { - parameters: { - query?: { - /** @description Setting to `true` returns only branches protected by branch protections or rulesets. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ - protected?: boolean; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["short-branch"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/get-branch": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["branch-with-protection"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/get-branch-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["branch-protection"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/update-branch-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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 **Closing down notice**: 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 Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`. - * @default false - */ - require_last_push_approval?: boolean; - /** @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/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/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; - /** - * @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`. - * @default false - */ - lock_branch?: boolean; - /** - * @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`. - * @default false - */ - allow_fork_syncing?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["protected-branch"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "repos/delete-branch-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - }; - }; - "repos/get-admin-branch-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - }; - }; - "repos/set-admin-branch-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - }; - }; - "repos/delete-admin-branch-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/get-pull-request-review-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["protected-branch-pull-request-review"]; - }; - }; - }; - }; - "repos/delete-pull-request-review-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/update-pull-request-review-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @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 Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` - * @default false - */ - require_last_push_approval?: boolean; - /** @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[]; - }; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["protected-branch-pull-request-review"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-commit-signature-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/create-commit-signature-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/delete-commit-signature-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/get-status-checks-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["status-check-policy"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/remove-status-check-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/update-status-check-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description Require branches to be up to date before merging. */ - strict?: boolean; - /** - * @deprecated - * @description **Closing down notice**: 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; - }[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["status-check-policy"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-all-status-check-contexts": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/set-status-check-contexts": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the status checks */ - contexts: string[]; - } | string[]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/add-status-check-contexts": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the status checks */ - contexts: string[]; - } | string[]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": string[]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/remove-status-check-contexts": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the status checks */ - contexts: string[]; - } | string[]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-access-restrictions": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["branch-restriction-policy"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/delete-access-restrictions": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/get-apps-with-access-to-protected-branch": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/set-app-access-restrictions": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/add-app-access-restrictions": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/remove-app-access-restrictions": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-teams-with-access-to-protected-branch": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/set-team-access-restrictions": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description The slug values for teams */ - teams: string[]; - } | string[]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/add-team-access-restrictions": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description The slug values for teams */ - teams: string[]; - } | string[]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/remove-team-access-restrictions": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description The slug values for teams */ - teams: string[]; - } | string[]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-users-with-access-to-protected-branch": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/set-user-access-restrictions": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The username for users */ - users: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/add-user-access-restrictions": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The username for users */ - users: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/remove-user-access-restrictions": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The username for users */ - users: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/rename-branch": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The new name of the branch. */ - new_name: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["branch-with-protection"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "checks/create": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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 of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. - * @default queued - * @enum {string} - */ - status?: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; - /** - * 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. */ - output?: { - /** @description The title of the check run. */ - title: string; - /** @description The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ - summary: string; - /** @description The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ - 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/checks/runs#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. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ - 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. Line numbers start at 1. */ - 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. Column numbers start at 1. */ - 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. */ - 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. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-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; - }[]; - } & (({ - /** @enum {unknown} */ - status: "completed"; - } & { - [key: string]: unknown; - }) | ({ - /** @enum {unknown} */ - status?: "queued" | "in_progress"; - } & { - [key: string]: unknown; - })); - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; - }; - }; - "checks/get": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the check run. */ - check_run_id: components["parameters"]["check-run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; - }; - }; - "checks/update": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the check run. */ - check_run_id: components["parameters"]["check-run-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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 of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. - * @enum {string} - */ - status?: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; - /** - * @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. */ - 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/checks/runs#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. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ - 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. Line numbers start at 1. */ - 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. Column numbers start at 1. */ - 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. */ - 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. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-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; - }[]; - } | ({ - /** @enum {unknown} */ - status?: "completed"; - } & { - [key: string]: unknown; - }) | ({ - /** @enum {unknown} */ - status?: "queued" | "in_progress"; - } & { - [key: string]: unknown; - }); - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; - }; - }; - "checks/list-annotations": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the check run. */ - check_run_id: components["parameters"]["check-run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["check-annotation"][]; - }; - }; - }; - }; - "checks/rerequest-run": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the check run. */ - check_run_id: components["parameters"]["check-run-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 404: components["responses"]["not_found"]; - /** @description Validation error if the check run is not rerequestable */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - "checks/create-suite": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The sha of the head commit. */ - head_sha: string; - }; - }; - }; - responses: { - /** @description Response when the suite already exists */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["check-suite"]; - }; - }; - /** @description Response when the suite was created */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["check-suite"]; - }; - }; - }; - }; - "checks/set-suites-preferences": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. */ - 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; - }[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["check-suite-preference"]; - }; - }; - }; - }; - "checks/get-suite": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the check suite. */ - check_suite_id: components["parameters"]["check-suite-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["check-suite"]; - }; - }; - }; - }; - "checks/list-for-suite": { - parameters: { - query?: { - /** @description Returns check runs with the specified `name`. */ - check_name?: components["parameters"]["check-name"]; - /** @description Returns check runs with the specified `status`. */ - status?: components["parameters"]["status"]; - /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ - filter?: "latest" | "all"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the check suite. */ - check_suite_id: components["parameters"]["check-suite-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - check_runs: components["schemas"]["check-run"][]; - }; - }; - }; - }; - }; - "checks/rerequest-suite": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the check suite. */ - check_suite_id: components["parameters"]["check-suite-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - "code-scanning/list-alerts-for-repo": { - parameters: { - query?: { - /** @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["parameters"]["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["parameters"]["tool-guid"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @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`. */ - ref?: components["parameters"]["git-ref"]; - /** @description The number of the pull request for the results you want to list. */ - pr?: components["parameters"]["pr-alias"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description The property by which to sort the results. */ - sort?: "created" | "updated"; - /** @description If specified, only code scanning alerts with this state will be returned. */ - state?: components["schemas"]["code-scanning-alert-state-query"]; - /** @description If specified, only code scanning alerts with this severity will be returned. */ - severity?: components["schemas"]["code-scanning-alert-severity"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "code-scanning/get-alert": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @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["parameters"]["alert-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "code-scanning/update-alert": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @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["parameters"]["alert-number"]; - }; - cookie?: never; - }; - 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"]; - create_request?: components["schemas"]["code-scanning-alert-create-request"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-alert"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/get-autofix": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @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["parameters"]["alert-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-autofix"]; - }; - }; - 400: components["responses"]["code_scanning_bad_request"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/create-autofix": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @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["parameters"]["alert-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-autofix"]; - }; - }; - /** @description Accepted */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-autofix"]; - }; - }; - 400: components["responses"]["code_scanning_bad_request"]; - 403: components["responses"]["code_scanning_autofix_create_forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Unprocessable Entity */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/commit-autofix": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @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["parameters"]["alert-number"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["code-scanning-autofix-commits"]; - }; - }; - responses: { - /** @description Created */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-autofix-commits-response"]; - }; - }; - 400: components["responses"]["code_scanning_bad_request"]; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - /** @description Unprocessable Entity */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/list-alert-instances": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @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`. */ - ref?: components["parameters"]["git-ref"]; - /** @description The number of the pull request for the results you want to list. */ - pr?: components["parameters"]["pr-alias"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @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["parameters"]["alert-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "code-scanning/list-recent-analyses": { - parameters: { - query?: { - /** @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["parameters"]["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["parameters"]["tool-guid"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The number of the pull request for the results you want to list. */ - pr?: components["parameters"]["pr-alias"]; - /** @description 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"]; - /** @description Filter analyses belonging to the same SARIF upload. */ - sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The property by which to sort the results. */ - sort?: "created"; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-analysis"][]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/get-analysis": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ - analysis_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - 422: components["responses"]["unprocessable_analysis"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/delete-analysis": { - parameters: { - query?: { - /** @description 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; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ - analysis_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "code-scanning/list-codeql-databases": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-codeql-database"][]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/get-codeql-database": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The language of the CodeQL database. */ - language: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-codeql-database"]; - }; - }; - 302: components["responses"]["found"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/delete-codeql-database": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The language of the CodeQL database. */ - language: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/create-variant-analysis": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - language: components["schemas"]["code-scanning-variant-analysis-language"]; - /** @description A Base64-encoded tarball containing a CodeQL query and all its dependencies */ - query_pack: string; - /** @description List of repository names (in the form `owner/repo-name`) to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ - repositories?: string[]; - /** @description List of repository lists to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ - repository_lists?: string[]; - /** @description List of organization or user names whose repositories the query should be run against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ - repository_owners?: string[]; - } & (unknown | unknown | unknown); - }; - }; - responses: { - /** @description Variant analysis submitted for processing */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-variant-analysis"]; - }; - }; - 404: components["responses"]["not_found"]; - /** @description Unable to process variant analysis submission */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/get-variant-analysis": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the variant analysis. */ - codeql_variant_analysis_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-variant-analysis"]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/get-variant-analysis-repo-task": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the controller repository. */ - repo: string; - /** @description The ID of the variant analysis. */ - codeql_variant_analysis_id: number; - /** @description The account owner of the variant analysis repository. The name is not case sensitive. */ - repo_owner: string; - /** @description The name of the variant analysis repository. */ - repo_name: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-variant-analysis-repo-task"]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/get-default-setup": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-default-setup"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/update-default-setup": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["code-scanning-default-setup-update"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-default-setup-update-response"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["code_scanning_conflict"]; - 422: components["responses"]["code_scanning_invalid_state"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/upload-sarif": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - ref: components["schemas"]["code-scanning-ref-full"]; - 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; - /** @description Whether the SARIF file will be validated according to the code scanning specifications. - * This parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning. */ - validate?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; - }; - }; - /** @description Bad Request if the sarif field is invalid */ - 400: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - /** @description Payload Too Large if the sarif field is too large */ - 413: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-scanning/get-sarif": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The SARIF ID obtained after uploading. */ - sarif_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-scanning-sarifs-status"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - /** @description Not Found if the sarif id does not match any upload */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "code-security/get-configuration-for-repository": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-security-configuration-for-repository"]; - }; - }; - 204: components["responses"]["no_content"]; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/codeowners-errors": { - parameters: { - query?: { - /** @description 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; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codeowners-errors"]; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "codespaces/list-in-repository-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "codespaces/create-with-repo-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description Git ref (typically a branch name) for this codespace */ - ref?: string; - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @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; - }; - }; - responses: { - /** @description Response when the codespace was successfully created */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "codespaces/list-devcontainers-in-repository-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - devcontainers: { - path: string; - name?: string; - display_name?: string; - }[]; - }; - }; - }; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "codespaces/repo-machines-for-authenticated-user": { - parameters: { - query?: { - /** @description The location to check for available machines. Assigned by IP if not provided. */ - location?: string; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description The branch or commit to check for prebuild availability and devcontainer restrictions. */ - ref?: string; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "codespaces/pre-flight-with-repo-for-authenticated-user": { - parameters: { - query?: { - /** @description The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ - ref?: string; - /** @description An alternative IP for default location auto-detection, such as when proxying a request. */ - client_ip?: string; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response when a user is able to create codespaces from the repository. */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "codespaces/check-permissions-for-devcontainer": { - parameters: { - query: { - /** @description The git reference that points to the location of the devcontainer configuration to use for the permission check. The value of `ref` will typically be a branch name (`heads/BRANCH_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ - ref: string; - /** @description Path to the devcontainer.json configuration to use for the permission check. */ - devcontainer_path: string; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response when the permission check is successful */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespaces-permissions-check-for-devcontainer"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "codespaces/list-repo-secrets": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["repo-codespaces-secret"][]; - }; - }; - }; - }; - }; - "codespaces/get-repo-public-key": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespaces-public-key"]; - }; - }; - }; - }; - "codespaces/get-repo-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repo-codespaces-secret"]; - }; - }; - }; - }; - "codespaces/create-or-update-repo-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: 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 a repository public key](https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "codespaces/delete-repo-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/list-collaborators": { - parameters: { - query?: { - /** @description 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"; - /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ - permission?: "pull" | "triage" | "push" | "maintain" | "admin"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["collaborator"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/check-collaborator": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response if user is a collaborator */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Not Found if user is not a collaborator */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/add-collaborator": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. - * @default push - */ - permission?: string; - }; - }; - }; - responses: { - /** @description Response when a new invitation is created */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-invitation"]; - }; - }; - /** @description 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: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - /** @description Response when: - * - validation failed, or the endpoint has been spammed - * - an Enterprise Managed User (EMU) account was invited to a repository in an enterprise with personal user accounts */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["validation-error"]; - }; - }; - }; - }; - "repos/remove-collaborator": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description No Content when collaborator was removed from the repository. */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-collaborator-permission-level": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description if user has admin permissions */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-collaborator-permission"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/list-commit-comments-for-repo": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["commit-comment"][]; - }; - }; - }; - }; - "repos/get-commit-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["commit-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/delete-commit-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/update-commit-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["commit-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "reactions/list-for-commit-comment": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a commit comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "reactions/create-for-commit-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the commit comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Reaction exists */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "reactions/delete-for-commit-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - /** @description The unique identifier of the reaction. */ - reaction_id: components["parameters"]["reaction-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/list-commits": { - parameters: { - query?: { - /** @description SHA or branch to start listing commits from. Default: the repository’s default branch (usually `main`). */ - sha?: string; - /** @description Only commits containing this file path will be returned. */ - path?: string; - /** @description GitHub username or email address to use to filter by commit author. */ - author?: string; - /** @description GitHub username or email address to use to filter by commit committer. */ - committer?: string; - /** @description Only show results that were last 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`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ - since?: string; - /** @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`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ - until?: string; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["commit"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/list-branches-for-head-commit": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The SHA of the commit. */ - commit_sha: components["parameters"]["commit-sha"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["branch-short"][]; - }; - }; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/list-comments-for-commit": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The SHA of the commit. */ - commit_sha: components["parameters"]["commit-sha"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["commit-comment"][]; - }; - }; - }; - }; - "repos/create-commit-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The SHA of the commit. */ - commit_sha: components["parameters"]["commit-sha"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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 **Closing down notice**. Use **position** parameter instead. Line number in the file to comment on. */ - line?: number; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/comments/1 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["commit-comment"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/list-pull-requests-associated-with-commit": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The SHA of the commit. */ - commit_sha: components["parameters"]["commit-sha"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-simple"][]; - }; - }; - 409: components["responses"]["conflict"]; - }; - }; - "repos/get-commit": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ - ref: components["parameters"]["commit-ref"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "checks/list-for-ref": { - parameters: { - query?: { - /** @description Returns check runs with the specified `name`. */ - check_name?: components["parameters"]["check-name"]; - /** @description Returns check runs with the specified `status`. */ - status?: components["parameters"]["status"]; - /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ - filter?: "latest" | "all"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - app_id?: number; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ - ref: components["parameters"]["commit-ref"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - check_runs: components["schemas"]["check-run"][]; - }; - }; - }; - }; - }; - "checks/list-suites-for-ref": { - parameters: { - query?: { - /** - * @description Filters check suites by GitHub App `id`. - * @example 1 - */ - app_id?: number; - /** @description Returns check runs with the specified `name`. */ - check_name?: components["parameters"]["check-name"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ - ref: components["parameters"]["commit-ref"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - check_suites: components["schemas"]["check-suite"][]; - }; - }; - }; - }; - }; - "repos/get-combined-status-for-ref": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ - ref: components["parameters"]["commit-ref"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["combined-commit-status"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/list-commit-statuses-for-ref": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ - ref: components["parameters"]["commit-ref"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["status"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - }; - }; - "repos/get-community-profile-metrics": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["community-profile"]; - }; - }; - }; - }; - "repos/compare-commits": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`. */ - basehead: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["commit-comparison"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "repos/get-content": { - parameters: { - query?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ - ref?: string; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description path parameter */ - path: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/vnd.github.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"]; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/create-or-update-file-contents": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description path parameter */ - path: string; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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. */ - 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; - }; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict */ - 409: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"] | components["schemas"]["repository-rule-violation-error"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/delete-file": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description path parameter */ - path: string; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The commit message. */ - message: string; - /** @description The blob SHA of the file being deleted. */ - sha: string; - /** @description The branch name. Default: the repository’s default branch */ - 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; - }; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "repos/list-contributors": { - parameters: { - query?: { - /** @description Set to `1` or `true` to include anonymous contributors in results. */ - anon?: string; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description If repository contains content */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["contributor"][]; - }; - }; - /** @description Response if repository is empty */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "dependabot/list-alerts-for-repo": { - parameters: { - query?: { - /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. - * - * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ - state?: components["parameters"]["dependabot-alert-comma-separated-states"]; - /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. - * - * Can be: `low`, `medium`, `high`, `critical` */ - severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; - /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. - * - * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ - ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; - /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ - package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; - /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ - manifest?: components["parameters"]["dependabot-alert-comma-separated-manifests"]; - /** @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: - * - An exact number (`n`) - * - Comparators such as `>n`, `=n`, `<=n` - * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 - * - * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. */ - epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; - /** @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. - * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. */ - has?: components["parameters"]["dependabot-alert-comma-separated-has"]; - /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ - scope?: components["parameters"]["dependabot-alert-scope"]; - /** @description The property by which to sort the results. - * `created` means when the alert was created. - * `updated` means when the alert's state last changed. - * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. */ - sort?: components["parameters"]["dependabot-alert-sort"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** - * @deprecated - * @description **Closing down notice**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead. - */ - page?: number; - /** - * @deprecated - * @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." - */ - per_page?: number; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. - * This parameter must not be used in combination with `last`. - * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ - first?: components["parameters"]["pagination-first"]; - /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. - * This parameter must not be used in combination with `first`. - * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ - last?: components["parameters"]["pagination-last"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["dependabot-alert"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "dependabot/get-alert": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies a Dependabot alert in its repository. - * You can find this at the end of the URL for a Dependabot alert within GitHub, - * or in `number` fields in the response from the - * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ - alert_number: components["parameters"]["dependabot-alert-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["dependabot-alert"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "dependabot/update-alert": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies a Dependabot alert in its repository. - * You can find this at the end of the URL for a Dependabot alert within GitHub, - * or in `number` fields in the response from the - * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ - alert_number: components["parameters"]["dependabot-alert-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The state of the Dependabot alert. - * A `dismissed_reason` must be provided when setting the state to `dismissed`. - * @enum {string} - */ - state: "dismissed" | "open"; - /** - * @description **Required when `state` is `dismissed`.** A reason for dismissing the alert. - * @enum {string} - */ - dismissed_reason?: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk"; - /** @description An optional comment associated with dismissing the alert. */ - dismissed_comment?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["dependabot-alert"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "dependabot/list-repo-secrets": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["dependabot-secret"][]; - }; - }; - }; - }; - }; - "dependabot/get-repo-public-key": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["dependabot-public-key"]; - }; - }; - }; - }; - "dependabot/get-repo-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["dependabot-secret"]; - }; - }; - }; - }; - "dependabot/create-or-update-repo-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: 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 a repository public key](https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "dependabot/delete-repo-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "dependency-graph/diff-range": { - parameters: { - query?: { - /** @description The full path, relative to the repository root, of the dependency manifest file. */ - name?: components["parameters"]["manifest-path"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description 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; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["dependency-graph-diff"]; - }; - }; - 403: components["responses"]["dependency_review_forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "dependency-graph/export-sbom": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["dependency-graph-spdx-sbom"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "dependency-graph/create-repository-snapshot": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["snapshot"]; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - 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; - }; - }; - }; - }; - }; - "repos/list-deployments": { - parameters: { - query?: { - /** @description The SHA recorded at creation time. */ - sha?: string; - /** @description The name of the ref. This can be a branch, tag, or SHA. */ - ref?: string; - /** @description The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ - task?: string; - /** @description The name of the environment that was deployed to (e.g., `staging` or `production`). */ - environment?: string | null; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deployment"][]; - }; - }; - }; - }; - "repos/create-deployment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The ref to deploy. This can be a branch, tag, or SHA. */ - ref: string; - /** - * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). - * @default deploy - */ - 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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deployment"]; - }; - }; - /** @description Merged branch response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - }; - }; - }; - /** @description Conflict when there is a merge conflict or the commit's status checks failed */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-deployment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description deployment_id parameter */ - deployment_id: components["parameters"]["deployment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deployment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/delete-deployment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description deployment_id parameter */ - deployment_id: components["parameters"]["deployment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "repos/list-deployment-statuses": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description deployment_id parameter */ - deployment_id: components["parameters"]["deployment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deployment-status"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/create-deployment-status": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description deployment_id parameter */ - deployment_id: components["parameters"]["deployment-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @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`. If not defined, the environment of the previous status on the deployment will be used, if it exists. Otherwise, the environment of the deployment will be used. */ - environment?: string; - /** - * @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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deployment-status"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-deployment-status": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description deployment_id parameter */ - deployment_id: components["parameters"]["deployment-id"]; - status_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deployment-status"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/create-dispatch-event": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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. The maximum number of top-level properties is 10. The total size of the JSON payload must be less than 64KB. */ - client_payload?: { - [key: string]: unknown; - }; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-all-environments": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** - * @description The number of environments in this repository - * @example 5 - */ - total_count?: number; - environments?: components["schemas"]["environment"][]; - }; - }; - }; - }; - }; - "repos/get-environment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["environment"]; - }; - }; - }; - }; - "repos/create-or-update-environment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - wait_timer?: components["schemas"]["wait-timer"]; - prevent_self_review?: components["schemas"]["prevent-self-review"]; - /** @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-settings"]; - } | null; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["environment"]; - }; - }; - /** @description 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: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - "repos/delete-an-environment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Default response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/list-deployment-branch-policies": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** - * @description The number of deployment branch policies for the environment. - * @example 2 - */ - total_count: number; - branch_policies: components["schemas"]["deployment-branch-policy"][]; - }; - }; - }; - }; - }; - "repos/create-deployment-branch-policy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["deployment-branch-policy-name-pattern-with-type"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deployment-branch-policy"]; - }; - }; - /** @description Response if the same branch name pattern already exists */ - 303: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/get-deployment-branch-policy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - /** @description The unique identifier of the branch policy. */ - branch_policy_id: components["parameters"]["branch-policy-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deployment-branch-policy"]; - }; - }; - }; - }; - "repos/update-deployment-branch-policy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - /** @description The unique identifier of the branch policy. */ - branch_policy_id: components["parameters"]["branch-policy-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deployment-branch-policy"]; - }; - }; - }; - }; - "repos/delete-deployment-branch-policy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - /** @description The unique identifier of the branch policy. */ - branch_policy_id: components["parameters"]["branch-policy-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/get-all-deployment-protection-rules": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description List of deployment protection rules */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** - * @description The number of enabled custom deployment protection rules for this environment - * @example 10 - */ - total_count?: number; - custom_deployment_protection_rules?: components["schemas"]["deployment-protection-rule"][]; - }; - }; - }; - }; - }; - "repos/create-deployment-protection-rule": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The ID of the custom app that will be enabled on the environment. */ - integration_id?: number; - }; - }; - }; - responses: { - /** @description The enabled custom deployment protection rule */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deployment-protection-rule"]; - }; - }; - }; - }; - "repos/list-custom-deployment-rule-integrations": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description A list of custom deployment rule integrations available for this environment. */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** - * @description The total number of custom deployment protection rule integrations available for this environment. - * @example 35 - */ - total_count?: number; - available_custom_deployment_protection_rule_integrations?: components["schemas"]["custom-deployment-rule-app"][]; - }; - }; - }; - }; - }; - "repos/get-custom-deployment-protection-rule": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - /** @description The unique identifier of the protection rule. */ - protection_rule_id: components["parameters"]["protection-rule-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deployment-protection-rule"]; - }; - }; - }; - }; - "repos/disable-deployment-protection-rule": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The unique identifier of the protection rule. */ - protection_rule_id: components["parameters"]["protection-rule-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-environment-secrets": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; - }; - }; - }; - }; - "actions/get-environment-public-key": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; - }; - }; - }; - "actions/get-environment-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-secret"]; - }; - }; - }; - }; - "actions/create-or-update-environment-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: 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 environment public key](https://docs.github.com/rest/actions/secrets#get-an-environment-public-key) endpoint. */ - encrypted_value: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id: string; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/delete-environment-secret": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Default response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/list-environment-variables": { - parameters: { - query?: { - /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["variables-per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["actions-variable"][]; - }; - }; - }; - }; - }; - "actions/create-environment-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - "actions/get-environment-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-variable"]; - }; - }; - }; - }; - "actions/delete-environment-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "actions/update-environment-variable": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the variable. */ - name: components["parameters"]["variable-name"]; - /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ - environment_name: components["parameters"]["environment-name"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name?: string; - /** @description The value of the variable. */ - value?: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "activity/list-repo-events": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - "repos/list-forks": { - parameters: { - query?: { - /** @description The sort order. `stargazers` will sort by star count. */ - sort?: "newest" | "oldest" | "stargazers" | "watchers"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 400: components["responses"]["bad_request"]; - }; - }; - "repos/create-fork": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - 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; - /** @description When forking from an existing repository, fork with only the default branch. */ - default_branch_only?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 202: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "git/create-blob": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["short-blob"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - /** @description Validation failed */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["validation-error"] | components["schemas"]["repository-rule-violation-error"]; - }; - }; - }; - }; - "git/get-blob": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - file_sha: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["blob"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "git/create-commit": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - 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 full 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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["git-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "git/get-commit": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The SHA of the commit. */ - commit_sha: components["parameters"]["commit-sha"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["git-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - "git/list-matching-refs": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** - * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. - * @example heads/feature-a - */ - ref: components["parameters"]["git-ref-only"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["git-ref"][]; - }; - }; - 409: components["responses"]["conflict"]; - }; - }; - "git/get-ref": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** - * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. - * @example heads/feature-a - */ - ref: components["parameters"]["git-ref-only"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["git-ref"]; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - "git/create-ref": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["git-ref"]; - }; - }; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "git/delete-ref": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** - * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. - * @example heads/feature-a - */ - ref: components["parameters"]["git-ref-only"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 409: components["responses"]["conflict"]; - /** @description Validation failed, an attempt was made to delete the default branch, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "git/update-ref": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** - * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. - * @example heads/feature-a - */ - ref: components["parameters"]["git-ref-only"]; - }; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["git-ref"]; - }; - }; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "git/create-tag": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - 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; - }; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["git-tag"]; - }; - }; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "git/get-tag": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - tag_sha: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["git-tag"]; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - "git/create-tree": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["git-tree"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "git/get-tree": { - parameters: { - query?: { - /** @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. */ - recursive?: string; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The SHA1 value or ref (branch or tag) name of the tree. */ - tree_sha: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["git-tree"]; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/list-webhooks": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["hook"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/create-webhook": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @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. */ - 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; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/hooks/12345678 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["hook"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-webhook": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["hook"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/delete-webhook": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/update-webhook": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - config?: components["schemas"]["webhook-config"]; - /** - * @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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-webhook-config-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - "repos/update-webhook-config-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: 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"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - "repos/list-webhook-deliveries": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @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?: components["parameters"]["cursor"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["hook-delivery-item"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-webhook-delivery": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/redeliver-webhook-delivery": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/ping-webhook": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/test-push-webhook": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - hook_id: components["parameters"]["hook-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "migrations/get-import-status": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - "migrations/start-import": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/spraints/socm/import */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - "migrations/cancel-import": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 503: components["responses"]["porter_maintenance"]; - }; - }; - "migrations/update-import": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @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; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 503: components["responses"]["porter_maintenance"]; - }; - }; - "migrations/get-commit-authors": { - parameters: { - query?: { - /** @description A user ID. Only return users with an ID greater than this ID. */ - since?: components["parameters"]["since-user"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["porter-author"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - "migrations/map-commit-author": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - author_id: number; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description The new Git author email. */ - email?: string; - /** @description The new Git author name. */ - name?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["porter-author"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - "migrations/get-large-files": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["porter-large-file"][]; - }; - }; - 503: components["responses"]["porter_maintenance"]; - }; - }; - "migrations/set-lfs-preference": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @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"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - "apps/get-repo-installation": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - }; - }; - "interactions/get-restrictions-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["interaction-limit-response"] | Record; - }; - }; - }; - }; - "interactions/set-restrictions-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - /** @description Response */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "interactions/remove-restrictions-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/list-invitations": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-invitation"][]; - }; - }; - }; - }; - "repos/delete-invitation": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the invitation. */ - invitation_id: components["parameters"]["invitation-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/update-invitation": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the invitation. */ - invitation_id: components["parameters"]["invitation-id"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** - * @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"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-invitation"]; - }; - }; - }; - }; - "issues/list-for-repo": { - parameters: { - query?: { - /** @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. */ - milestone?: string; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - /** @description 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; - /** @description Can be the name of an issue type. If the string `*` is passed, issues with any type are accepted. If the string `none` is passed, issues without type are returned. */ - type?: string; - /** @description The user that created the issue. */ - creator?: string; - /** @description A user that's mentioned in the issue. */ - mentioned?: string; - /** @description A list of comma separated label names. Example: `bug,ui,@high` */ - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description Only show results that were last 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"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/create": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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 closing down.**_ */ - 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[]; - /** - * @description The name of the issue type to associate with this issue. _NOTE: Only users with push access can set the type for new issues. The type is silently dropped otherwise._ - * @example Epic - */ - type?: string | null; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "issues/list-comments-for-repo": { - parameters: { - query?: { - /** @description The property to sort the results by. */ - sort?: components["parameters"]["sort"]; - /** @description Either `asc` or `desc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - /** @description Only show results that were last 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"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue-comment"][]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/get-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "issues/delete-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "issues/update-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "reactions/list-for-issue-comment": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "reactions/create-for-issue-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Reaction exists */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "reactions/delete-for-issue-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - /** @description The unique identifier of the reaction. */ - reaction_id: components["parameters"]["reaction-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "issues/list-events-for-repo": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue-event"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/get-event": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - event_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue-event"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - "issues/get": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "issues/update": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description The title of the issue. */ - title?: (string | number) | null; - /** @description The contents of the issue. */ - body?: string | null; - /** @description Username to assign to this issue. **This field is closing down.** */ - assignee?: string | null; - /** - * @description The open or closed state of the issue. - * @enum {string} - */ - state?: "open" | "closed"; - /** - * @description The reason for the state change. Ignored unless `state` is changed. - * @example not_planned - * @enum {string|null} - */ - state_reason?: "completed" | "not_planned" | "duplicate" | "reopened" | null; - 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. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped. */ - labels?: (string | { - id?: number; - name?: string; - description?: string | null; - color?: string | null; - })[]; - /** @description Usernames 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. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped. */ - assignees?: string[]; - /** - * @description The name of the issue type to associate with this issue or use `null` to remove the current issue type. Only users with push access can set the type for issues. Without push access to the repository, type changes are silently dropped. - * @example Epic - */ - type?: string | null; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "issues/add-assignees": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - 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[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - }; - }; - "issues/remove-assignees": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @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[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - }; - }; - "issues/check-user-can-be-assigned-to-issue": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - assignee: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response if `assignee` can be assigned to `issue_number` */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response if `assignee` can not be assigned to `issue_number` */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - "issues/list-comments": { - parameters: { - query?: { - /** @description Only show results that were last 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"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue-comment"][]; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - "issues/create-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/list-events": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue-event-for-issue"][]; - }; - }; - 410: components["responses"]["gone"]; - }; - }; - "issues/list-labels-on-issue": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - "issues/set-labels": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - 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/issues/labels#add-labels-to-an-issue)." */ - labels?: string[]; - } | string[] | { - labels?: { - name: string; - }[]; - } | { - name: string; - }[] | string; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/add-labels": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "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/issues/labels#set-labels-for-an-issue)." */ - labels?: string[]; - } | string[] | { - labels?: { - name: string; - }[]; - } | { - name: string; - }[] | string; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/remove-all-labels": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - "issues/remove-label": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - name: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - "issues/lock": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "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; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/unlock": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "reactions/list-for-issue": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - "reactions/create-for-issue": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "reactions/delete-for-issue": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - /** @description The unique identifier of the reaction. */ - reaction_id: components["parameters"]["reaction-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "issues/remove-sub-issue": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The id of the sub-issue to remove */ - sub_issue_id: number; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/issues/1/sub-issue */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - "issues/list-sub-issues": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - "issues/add-sub-issue": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The id of the sub-issue to add. The sub-issue must belong to the same repository owner as the parent issue */ - sub_issue_id: number; - /** @description Option that, when true, instructs the operation to replace the sub-issues current parent issue */ - replace_parent?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/issues/sub-issues/1 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/reprioritize-sub-issue": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The id of the sub-issue to reprioritize */ - sub_issue_id: number; - /** @description The id of the sub-issue to be prioritized after (either positional argument after OR before should be specified). */ - after_id?: number; - /** @description The id of the sub-issue to be prioritized before (either positional argument after OR before should be specified). */ - before_id?: number; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "issues/list-events-for-timeline": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the issue. */ - issue_number: components["parameters"]["issue-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["timeline-issue-events"][]; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - "repos/list-deploy-keys": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deploy-key"][]; - }; - }; - }; - }; - "repos/create-deploy-key": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deploy-key"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-deploy-key": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the key. */ - key_id: components["parameters"]["key-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["deploy-key"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/delete-deploy-key": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the key. */ - key_id: components["parameters"]["key-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "issues/list-labels-for-repo": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "issues/create-label": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/labels/bug */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["label"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/get-label": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - name: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["label"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "issues/delete-label": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - name: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "issues/update-label": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - name: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["label"]; - }; - }; - }; - }; - "repos/list-languages": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["language"]; - }; - }; - }; - }; - "licenses/get-for-repo": { - parameters: { - query?: { - /** @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`. */ - ref?: components["parameters"]["git-ref"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["license-content"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/merge-upstream": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the branch which should be updated to match upstream. */ - branch: string; - }; - }; - }; - responses: { - /** @description The branch has been successfully synced with the upstream repository */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["merged-upstream"]; - }; - }; - /** @description The branch could not be synced because of a merge conflict */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description The branch could not be synced for some other reason */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/merge": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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; - }; - }; - }; - responses: { - /** @description Successful Response (The resulting merge commit) */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["commit"]; - }; - }; - /** @description Response when already merged */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - /** @description Not Found when the base or head does not exist */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Conflict when there is a merge conflict */ - 409: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/list-milestones": { - parameters: { - query?: { - /** @description The state of the milestone. Either `open`, `closed`, or `all`. */ - state?: "open" | "closed" | "all"; - /** @description What to sort results by. Either `due_on` or `completeness`. */ - sort?: "due_on" | "completeness"; - /** @description The direction of the sort. Either `asc` or `desc`. */ - direction?: "asc" | "desc"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["milestone"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "issues/create-milestone": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "issues/get-milestone": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the milestone. */ - milestone_number: components["parameters"]["milestone-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "issues/delete-milestone": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the milestone. */ - milestone_number: components["parameters"]["milestone-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "issues/update-milestone": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the milestone. */ - milestone_number: components["parameters"]["milestone-number"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - }; - }; - "issues/list-labels-for-milestone": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the milestone. */ - milestone_number: components["parameters"]["milestone-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - }; - }; - "activity/list-repo-notifications-for-authenticated-user": { - parameters: { - query?: { - /** @description If `true`, show notifications marked as read. */ - all?: components["parameters"]["all"]; - /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ - participating?: components["parameters"]["participating"]; - /** @description Only show results that were last 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"]; - /** @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?: components["parameters"]["before"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["thread"][]; - }; - }; - }; - }; - "activity/mark-repo-notifications-as-read": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - url?: string; - }; - }; - }; - /** @description Reset Content */ - 205: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/get-pages": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["page"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/update-information-about-pages-site": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - 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/pages/configuring-a-custom-domain-for-your-github-pages-site)." */ - cname?: string | null; - /** @description Specify whether HTTPS should be enforced for the repository. */ - https_enforced?: boolean; - /** - * @description The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch. - * @enum {string} - */ - build_type?: "legacy" | "workflow"; - source?: ("gh-pages" | "master" | "master /docs") | { - /** @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"; - }; - } | unknown | unknown | unknown | unknown | unknown; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 400: components["responses"]["bad_request"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/create-pages-site": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": ({ - /** - * @description The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`. - * @enum {string} - */ - build_type?: "legacy" | "workflow"; - /** @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"; - }; - } | unknown | unknown) | null; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["page"]; - }; - }; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/delete-pages-site": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/list-pages-builds": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["page-build"][]; - }; - }; - }; - }; - "repos/request-pages-build": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["page-build-status"]; - }; - }; - }; - }; - "repos/get-latest-pages-build": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["page-build"]; - }; - }; - }; - }; - "repos/get-pages-build": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - build_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["page-build"]; - }; - }; - }; - }; - "repos/create-pages-deployment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The ID of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ - artifact_id?: number; - /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ - artifact_url?: string; - /** - * @description The target environment for this GitHub Pages deployment. - * @default github-pages - */ - environment?: string; - /** - * @description A unique string that represents the version of the build for this deployment. - * @default GITHUB_SHA - */ - pages_build_version: string; - /** @description The OIDC token issued by GitHub Actions certifying the origin of the deployment. */ - oidc_token: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["page-deployment"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-pages-deployment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the Pages deployment. You can also give the commit SHA of the deployment. */ - pages_deployment_id: components["parameters"]["pages-deployment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pages-deployment-status"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/cancel-pages-deployment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the Pages deployment. You can also give the commit SHA of the deployment. */ - pages_deployment_id: components["parameters"]["pages-deployment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 204: components["responses"]["no_content"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/get-pages-health-check": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pages-health-check"]; - }; - }; - /** @description Empty response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Custom domains are not available for GitHub Pages */ - 400: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - /** @description There isn't a CNAME for this page */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/check-private-vulnerability-reporting": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Private vulnerability reporting status */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @description Whether or not private vulnerability reporting is enabled for the repository. */ - enabled: boolean; - }; - }; - }; - 422: components["responses"]["bad_request"]; - }; - }; - "repos/enable-private-vulnerability-reporting": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 204: components["responses"]["no_content"]; - 422: components["responses"]["bad_request"]; - }; - }; - "repos/disable-private-vulnerability-reporting": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 204: components["responses"]["no_content"]; - 422: components["responses"]["bad_request"]; - }; - }; - "projects/list-for-repo": { - parameters: { - query?: { - /** @description Indicates the state of the projects to return. */ - state?: "open" | "closed" | "all"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - 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"]; - }; - }; - "projects/create-for-repo": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the project. */ - name: string; - /** @description The description of the project. */ - body?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "repos/get-custom-properties-values": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["custom-property-value"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/create-or-update-custom-properties-values": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description A list of custom property names and associated values to apply to the repositories. */ - properties: components["schemas"]["custom-property-value"][]; - }; - }; - }; - responses: { - /** @description No Content when custom property values are successfully created or updated */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "pulls/list": { - parameters: { - query?: { - /** @description Either `open`, `closed`, or `all` to filter by state. */ - state?: "open" | "closed" | "all"; - /** @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`. */ - head?: string; - /** @description Filter pulls by base branch name. Example: `gh-pages`. */ - base?: string; - /** @description What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ - sort?: "created" | "updated" | "popularity" | "long-running"; - /** @description The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ - direction?: "asc" | "desc"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "pulls/create": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The title of the new pull request. Required unless `issue` is specified. */ - title?: 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`. */ - head: string; - /** - * Format: repo.nwo - * @description The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization. - * @example octo-org/octo-repo - */ - head_repo?: 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/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ - draft?: boolean; - /** - * Format: int64 - * @description An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. - * @example 1 - */ - issue?: number; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "pulls/list-review-comments-for-repo": { - parameters: { - query?: { - sort?: "created" | "updated" | "created_at"; - /** @description The direction to sort results. Ignored without `sort` parameter. */ - direction?: "asc" | "desc"; - /** @description Only show results that were last 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"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"][]; - }; - }; - }; - }; - "pulls/get-review-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "pulls/delete-review-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "pulls/update-review-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The text of the reply to the review comment. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - }; - }; - "reactions/list-for-pull-request-review-comment": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a pull request review comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "reactions/create-for-pull-request-review-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the pull request review comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Reaction exists */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "reactions/delete-for-pull-request-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - /** @description The unique identifier of the reaction. */ - reaction_id: components["parameters"]["reaction-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "pulls/get": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Pass the appropriate [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 406: components["responses"]["unacceptable"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "pulls/update": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "codespaces/create-with-pr-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @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; - }; - }; - responses: { - /** @description Response when the codespace was successfully created */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "pulls/list-review-comments": { - parameters: { - query?: { - /** @description The property to sort the results by. */ - sort?: components["parameters"]["sort"]; - /** @description The direction to sort results. Ignored without `sort` parameter. */ - direction?: "asc" | "desc"; - /** @description Only show results that were last 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"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"][]; - }; - }; - }; - }; - "pulls/create-review-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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 closing down. 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. 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. - */ - 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/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. - * @enum {string} - */ - side?: "LEFT" | "RIGHT"; - /** @description **Required unless using `subject_type:file`**. 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/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/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; - /** - * @description The level at which the comment is targeted. - * @enum {string} - */ - subject_type?: "line" | "file"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "pulls/create-reply-for-review-comment": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - /** @description The unique identifier of the comment. */ - comment_id: components["parameters"]["comment-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The text of the review comment. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "pulls/list-commits": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["commit"][]; - }; - }; - }; - }; - "pulls/list-files": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["diff-entry"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "pulls/check-if-merged": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response if pull request has been merged */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Not Found if pull request has not been merged */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "pulls/merge": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @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 The merge method to use. - * @enum {string} - */ - merge_method?: "merge" | "squash" | "rebase"; - } | null; - }; - }; - responses: { - /** @description if merge was successful */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-merge-result"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Method Not Allowed if merge cannot be performed */ - 405: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - /** @description Conflict if sha was provided and pull request head did not match */ - 409: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "pulls/list-requested-reviewers": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review-request"]; - }; - }; - }; - }; - "pulls/request-reviewers": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - 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[]; - } | unknown | unknown; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-simple"]; - }; - }; - 403: components["responses"]["forbidden"]; - /** @description Unprocessable Entity if user is not a collaborator */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "pulls/remove-requested-reviewers": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - 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[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-simple"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "pulls/list-reviews": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description The list of reviews returns in chronological order. */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review"][]; - }; - }; - }; - }; - "pulls/create-review": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @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/pulls/reviews#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. 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. */ - 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; - }[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "pulls/get-review": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - /** @description The unique identifier of the review. */ - review_id: components["parameters"]["review-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "pulls/update-review": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - /** @description The unique identifier of the review. */ - review_id: components["parameters"]["review-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The body text of the pull request review. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "pulls/delete-pending-review": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - /** @description The unique identifier of the review. */ - review_id: components["parameters"]["review-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "pulls/list-comments-for-review": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - /** @description The unique identifier of the review. */ - review_id: components["parameters"]["review-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["review-comment"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "pulls/dismiss-review": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - /** @description The unique identifier of the review. */ - review_id: components["parameters"]["review-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The message for the pull request review dismissal */ - message: string; - /** - * @example "DISMISS" - * @enum {string} - */ - event?: "DISMISS"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "pulls/submit-review": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - /** @description The unique identifier of the review. */ - review_id: components["parameters"]["review-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "pulls/update-branch": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The number that identifies the pull request. */ - pull_number: components["parameters"]["pull-number"]; - }; - cookie?: never; - }; - 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/commits/commits#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; - }; - }; - responses: { - /** @description Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - url?: string; - }; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-readme": { - parameters: { - query?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ - ref?: string; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["content-file"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-readme-in-directory": { - parameters: { - query?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ - ref?: string; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The alternate path to look for a README file */ - dir: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["content-file"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/list-releases": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["release"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/create-release": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - 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. */ - target_commitish?: string; - /** @description The name of the release. */ - name?: string; - /** @description Text describing the contents of the tag. */ - body?: string; - /** - * @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; - /** - * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. - * @default true - * @enum {string} - */ - make_latest?: "true" | "false" | "legacy"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Not Found if the discussion category name is invalid */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-release-asset": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the asset. */ - asset_id: components["parameters"]["asset-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["release-asset"]; - }; - }; - 302: components["responses"]["found"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/delete-release-asset": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the asset. */ - asset_id: components["parameters"]["asset-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/update-release-asset": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the asset. */ - asset_id: components["parameters"]["asset-id"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["release-asset"]; - }; - }; - }; - }; - "repos/generate-release-notes": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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; - }; - }; - }; - responses: { - /** @description Name and body of generated release notes */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["release-notes-content"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/get-latest-release": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["release"]; - }; - }; - }; - }; - "repos/get-release-by-tag": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description tag parameter */ - tag: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["release"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/get-release": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the release. */ - release_id: components["parameters"]["release-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/delete-release": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the release. */ - release_id: components["parameters"]["release-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/update-release": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the release. */ - release_id: components["parameters"]["release-id"]; - }; - cookie?: never; - }; - 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. */ - 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 Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. - * @default true - * @enum {string} - */ - make_latest?: "true" | "false" | "legacy"; - /** @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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Not Found if the discussion category name is invalid */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - "repos/list-release-assets": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the release. */ - release_id: components["parameters"]["release-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["release-asset"][]; - }; - }; - }; - }; - "repos/upload-release-asset": { - parameters: { - query: { - name: string; - label?: string; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the release. */ - release_id: components["parameters"]["release-id"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/octet-stream": string; - }; - }; - responses: { - /** @description Response for successful upload */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["release-asset"]; - }; - }; - /** @description Response if you upload an asset with the same filename as another uploaded asset */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "reactions/list-for-release": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a release. */ - content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the release. */ - release_id: components["parameters"]["release-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "reactions/create-for-release": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the release. */ - release_id: components["parameters"]["release-id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the release. - * @enum {string} - */ - content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Reaction exists */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "reactions/delete-for-release": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the release. */ - release_id: components["parameters"]["release-id"]; - /** @description The unique identifier of the reaction. */ - reaction_id: components["parameters"]["reaction-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/get-branch-rules": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: components["parameters"]["branch"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-rule-detailed"][]; - }; - }; - }; - }; - "repos/get-repo-rulesets": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description Include rulesets configured at higher levels that apply to this repository */ - includes_parents?: boolean; - /** @description A comma-separated list of rule targets to filter by. - * If provided, only rulesets that apply to the specified targets will be returned. - * For example, `branch,tag,push`. - * */ - targets?: components["parameters"]["ruleset-targets"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-ruleset"][]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/create-repo-ruleset": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - /** @description Request body */ - requestBody: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name: string; - /** - * @description The target of the ruleset - * @default branch - * @enum {string} - */ - target?: "branch" | "tag" | "push"; - enforcement: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["repository-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/get-repo-rule-suites": { - parameters: { - query?: { - /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ - ref?: components["parameters"]["ref-in-query"]; - /** @description The time period to filter by. - * - * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for rule suites that occurred in the past 7 days (168 hours). */ - time_period?: components["parameters"]["time-period"]; - /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ - actor_name?: components["parameters"]["actor-name-in-query"]; - /** @description The rule suite results to filter on. When specified, only suites with this result will be returned. */ - rule_suite_result?: components["parameters"]["rule-suite-result"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["rule-suites"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/get-repo-rule-suite": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the rule suite result. - * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) - * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) - * for organizations. */ - rule_suite_id: components["parameters"]["rule-suite-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["rule-suite"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/get-repo-ruleset": { - parameters: { - query?: { - /** @description Include rulesets configured at higher levels that apply to this repository */ - includes_parents?: boolean; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/update-repo-ruleset": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - cookie?: never; - }; - /** @description Request body */ - requestBody?: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name?: string; - /** - * @description The target of the ruleset - * @enum {string} - */ - target?: "branch" | "tag" | "push"; - enforcement?: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["repository-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/delete-repo-ruleset": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/get-repo-ruleset-history": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ruleset-version"][]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "repos/get-repo-ruleset-version": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - /** @description The ID of the version */ - version_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ruleset-version-with-state"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "secret-scanning/list-alerts-for-repo": { - parameters: { - query?: { - /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ - state?: components["parameters"]["secret-scanning-alert-state"]; - /** @description A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. */ - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - /** @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`. */ - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - /** @description 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"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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"]; - /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ - validity?: components["parameters"]["secret-scanning-alert-validity"]; - /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ - is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; - /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ - is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; - /** @description A boolean value representing whether or not to hide literal secrets in the results. */ - hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["secret-scanning-alert"][]; - }; - }; - /** @description Repository is public or secret scanning is disabled for the repository */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "secret-scanning/get-alert": { - parameters: { - query?: { - /** @description A boolean value representing whether or not to hide literal secrets in the results. */ - hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @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["parameters"]["alert-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["secret-scanning-alert"]; - }; - }; - 304: components["responses"]["not_modified"]; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "secret-scanning/update-alert": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @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["parameters"]["alert-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - state: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["secret-scanning-alert"]; - }; - }; - /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ - 400: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description State does not match the resolution or resolution comment */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "secret-scanning/list-locations-for-alert": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @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["parameters"]["alert-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["secret-scanning-location"][]; - }; - }; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "secret-scanning/create-push-protection-bypass": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; - placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["secret-scanning-push-protection-bypass"]; - }; - }; - /** @description User does not have enough permissions to perform this action. */ - 403: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Placeholder ID not found, or push protection is disabled on this repository. */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Bad request, input data missing or incorrect. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "secret-scanning/get-scan-history": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["secret-scanning-scan-history"]; - }; - }; - /** @description Repository does not have GitHub Advanced Security or secret scanning enabled */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - "security-advisories/list-repository-advisories": { - parameters: { - query?: { - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "published"; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: number; - /** @description Filter by state of the repository advisories. Only advisories of this state will be returned. */ - state?: "triage" | "draft" | "published" | "closed"; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-advisory"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - "security-advisories/create-repository-advisory": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["repository-advisory-create"]; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "security-advisories/create-private-vulnerability-report": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["private-vulnerability-report-create"]; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "security-advisories/get-repository-advisory": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ - ghsa_id: components["parameters"]["ghsa_id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "security-advisories/update-repository-advisory": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ - ghsa_id: components["parameters"]["ghsa_id"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["repository-advisory-update"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["validation-error"]; - }; - }; - }; - }; - "security-advisories/create-repository-advisory-cve-request": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ - ghsa_id: components["parameters"]["ghsa_id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "security-advisories/create-fork": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ - ghsa_id: components["parameters"]["ghsa_id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 202: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "activity/list-stargazers-for-repo": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][] | components["schemas"]["stargazer"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/get-code-frequency-stats": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-frequency-stat"][]; - }; - }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; - /** @description Repository contains more than 10,000 commits */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/get-commit-activity-stats": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["commit-activity"][]; - }; - }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; - }; - }; - "repos/get-contributors-stats": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["contributor-activity"][]; - }; - }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; - }; - }; - "repos/get-participation-stats": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description The array order is oldest week (index 0) to most recent week. */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["participation-stats"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/get-punch-card-stats": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @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. */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["code-frequency-stat"][]; - }; - }; - 204: components["responses"]["no_content"]; - }; - }; - "repos/create-commit-status": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - sha: string; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @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 | null; - /** @description A short description of the status. */ - description?: string | null; - /** - * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. - * @default default - */ - context?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["status"]; - }; - }; - }; - }; - "activity/list-watchers-for-repo": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - "activity/get-repo-subscription": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description if you subscribe to the repository */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-subscription"]; - }; - }; - 403: components["responses"]["forbidden"]; - /** @description Not Found if you don't subscribe to the repository */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "activity/set-repo-subscription": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-subscription"]; - }; - }; - }; - }; - "activity/delete-repo-subscription": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/list-tags": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["tag"][]; - }; - }; - }; - }; - "repos/list-tag-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["tag-protection"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/create-tag-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description An optional glob pattern to match against when enforcing tag protection. */ - pattern: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["tag-protection"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/delete-tag-protection": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - /** @description The unique identifier of the tag protection. */ - tag_protection_id: components["parameters"]["tag-protection-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/download-tarball-archive": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - ref: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ - Location?: string; - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/list-teams": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/get-all-topics": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["topic"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "repos/replace-all-topics": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "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` will be saved as lowercase. */ - names: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["topic"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "repos/get-clones": { - parameters: { - query?: { - /** @description The time frame to display results for. */ - per?: components["parameters"]["per"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["clone-traffic"]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - "repos/get-top-paths": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["content-traffic"][]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - "repos/get-top-referrers": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["referrer-traffic"][]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - "repos/get-views": { - parameters: { - query?: { - /** @description The time frame to display results for. */ - per?: components["parameters"]["per"]; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["view-traffic"]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - "repos/transfer": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The username or organization name the repository will be transferred to. */ - new_owner: string; - /** @description The new name to be given to the repository. */ - new_name?: 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[]; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"]; - }; - }; - }; - }; - "repos/check-vulnerability-alerts": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response if repository is enabled with vulnerability alerts */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Not Found if repository is not enabled with vulnerability alerts */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/enable-vulnerability-alerts": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/disable-vulnerability-alerts": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/download-zipball-archive": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - ref: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ - Location?: string; - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "repos/create-using-template": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the template repository. The name is not case sensitive. */ - template_owner: string; - /** @description The name of the template repository without the `.git` extension. The name is not case sensitive. */ - template_repo: string; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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; - /** - * @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 - */ - 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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - }; - }; - "repos/list-public": { - parameters: { - query?: { - /** @description A repository ID. Only return repositories with an ID greater than this ID. */ - since?: components["parameters"]["since-repo"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "search/code": { - parameters: { - query: { - /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; - /** - * @deprecated - * @description **This field is closing down.** 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/search/search#ranking-search-results) - */ - sort?: "indexed"; - /** - * @deprecated - * @description **This field is closing down.** 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 number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "search/commits": { - parameters: { - query: { - /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; - /** @description Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "author-date" | "committer-date"; - /** @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?: components["parameters"]["order"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["commit-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - "search/issues-and-pull-requests": { - parameters: { - query: { - /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; - /** @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/search/search#ranking-search-results) */ - sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; - /** @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?: components["parameters"]["order"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description Set to `true` to use advanced search. - * Example: `http://api.github.com/search/issues?q={query}&advanced_search=true` */ - advanced_search?: components["parameters"]["issues-advanced-search"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["issue-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "search/labels": { - parameters: { - query: { - /** @description The id of the repository. */ - repository_id: number; - /** @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/search/search#constructing-a-search-query). */ - q: string; - /** @description Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "created" | "updated"; - /** @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?: components["parameters"]["order"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "search/repos": { - parameters: { - query: { - /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; - /** @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/search/search#ranking-search-results) */ - sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; - /** @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?: components["parameters"]["order"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["repo-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "search/topics": { - parameters: { - query: { - /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ - q: string; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["topic-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - "search/users": { - parameters: { - query: { - /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; - /** @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/search/search#ranking-search-results) */ - sort?: "followers" | "repositories" | "joined"; - /** @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?: components["parameters"]["order"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["user-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "teams/get-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "teams/delete-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "teams/update-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - }; - cookie?: never; - }; - 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. 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 The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: - * * `notifications_enabled` - team members receive notifications when the team is @mentioned. - * * `notifications_disabled` - no one receives notifications. - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** - * @description **Closing down notice**. 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; - }; - }; - }; - responses: { - /** @description Response when the updated information already exists */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "teams/list-discussions-legacy": { - parameters: { - query?: { - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion"][]; - }; - }; - }; - }; - "teams/create-discussion-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - }; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - "teams/get-discussion-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - "teams/delete-discussion-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/update-discussion-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title?: string; - /** @description The discussion post's body text. */ - body?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - "teams/list-discussion-comments-legacy": { - parameters: { - query?: { - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"][]; - }; - }; - }; - }; - "teams/create-discussion-comment-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - "teams/get-discussion-comment-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - /** @description The number that identifies the comment. */ - comment_number: components["parameters"]["comment-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - "teams/delete-discussion-comment-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - /** @description The number that identifies the comment. */ - comment_number: components["parameters"]["comment-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/update-discussion-comment-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - /** @description The number that identifies the comment. */ - comment_number: components["parameters"]["comment-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - "reactions/list-for-team-discussion-comment-legacy": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - /** @description The number that identifies the comment. */ - comment_number: components["parameters"]["comment-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - "reactions/create-for-team-discussion-comment-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - /** @description The number that identifies the comment. */ - comment_number: components["parameters"]["comment-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - "reactions/list-for-team-discussion-legacy": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - "reactions/create-for-team-discussion-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The number that identifies the discussion. */ - discussion_number: components["parameters"]["discussion-number"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - "teams/list-pending-invitations-legacy": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - }; - }; - "teams/list-members-legacy": { - parameters: { - query?: { - /** @description Filters members returned by their role in the team. */ - role?: "member" | "maintainer" | "all"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "teams/get-member-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description if user is a member */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description if user is not a member */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/add-member-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - /** @description Not Found if team synchronization is set up */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description 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: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/remove-member-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Not Found if team synchronization is setup */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/get-membership-for-user-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "teams/add-or-update-membership-for-user-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The role that this user should have in the team. - * @default member - * @enum {string} - */ - role?: "member" | "maintainer"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description Forbidden if team synchronization is set up */ - 403: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - /** @description Unprocessable Entity if you attempt to add an organization to a team */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/remove-membership-for-user-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description if team synchronization is set up */ - 403: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/list-projects-legacy": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-project"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "teams/check-permissions-for-project-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-project"]; - }; - }; - /** @description Not Found if project is not managed by this team */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/add-or-update-project-permissions-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - }; - cookie?: never; - }; - 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Forbidden if the project is not owned by the organization */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "teams/remove-project-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The unique identifier of the project. */ - project_id: components["parameters"]["project-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "teams/list-repos-legacy": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "teams/check-permissions-for-repo-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Alternative response with extra repository information */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-repository"]; - }; - }; - /** @description Response if repository is managed by this team */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Not Found if repository is not managed by this team */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/add-or-update-repo-permissions-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - 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"; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "teams/remove-repo-legacy": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "teams/list-child-legacy": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the team. */ - team_id: components["parameters"]["team-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description if child teams exist */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "users/get-authenticated": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "users/update-authenticated": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "users/list-blocked-by-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "users/check-blocked": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description If the user is blocked */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description If the user is not blocked */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - "users/block": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: 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"]; - }; - }; - "users/unblock": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "codespaces/list-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description ID of the Repository to filter on */ - repository_id?: components["parameters"]["repository-id-in-query"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "codespaces/create-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description Repository id for this codespace */ - repository_id: number; - /** @description Git ref (typically a branch name) for this codespace */ - ref?: string; - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @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 The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @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; - }; - }; - }; - responses: { - /** @description Response when the codespace was successfully created */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "codespaces/list-secrets-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["codespaces-secret"][]; - }; - }; - }; - }; - }; - "codespaces/get-public-key-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespaces-user-public-key"]; - }; - }; - }; - }; - "codespaces/get-secret-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespaces-secret"]; - }; - }; - }; - }; - "codespaces/create-or-update-secret-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: 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 the public key for the authenticated user](https://docs.github.com/rest/codespaces/secrets#get-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/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ - selected_repository_ids?: (number | string)[]; - }; - }; - }; - responses: { - /** @description Response after successfully creating a secret */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response after successfully updating a secret */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "codespaces/delete-secret-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "codespaces/list-repositories-for-secret-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "codespaces/set-repositories-for-secret-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @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/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description No Content when repositories were added to the selected list */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "codespaces/add-repository-for-secret-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "codespaces/remove-repository-for-secret-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the secret. */ - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description No Content when repository was removed from the selected list */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - "codespaces/get-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the codespace. */ - codespace_name: components["parameters"]["codespace-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "codespaces/delete-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the codespace. */ - codespace_name: components["parameters"]["codespace-name"]; - }; - cookie?: never; - }; - requestBody?: never; - 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"]; - }; - }; - "codespaces/update-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the codespace. */ - codespace_name: components["parameters"]["codespace-name"]; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @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[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "codespaces/export-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the codespace. */ - codespace_name: components["parameters"]["codespace-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "codespaces/get-export-details-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the codespace. */ - codespace_name: components["parameters"]["codespace-name"]; - /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ - export_id: components["parameters"]["export-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespace-export-details"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "codespaces/codespace-machines-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the codespace. */ - codespace_name: components["parameters"]["codespace-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "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"]; - }; - }; - "codespaces/publish-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the codespace. */ - codespace_name: components["parameters"]["codespace-name"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description A name for the new repository. */ - name?: string; - /** - * @description Whether the new repository should be private. - * @default false - */ - private?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespace-with-full-repository"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "codespaces/start-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the codespace. */ - codespace_name: components["parameters"]["codespace-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - /** @description Payment required */ - 402: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 500: components["responses"]["internal_error"]; - }; - }; - "codespaces/stop-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The name of the codespace. */ - codespace_name: components["parameters"]["codespace-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - 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"]; - }; - }; - "packages/list-docker-migration-conflicting-packages-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - }; - }; - "users/set-primary-email-visibility-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Denotes whether an email is publicly visible. - * @enum {string} - */ - visibility: "public" | "private"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "users/list-emails-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "users/add-email-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "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[]; - } | string[] | string; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "users/delete-email-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": { - /** @description Email addresses associated with the GitHub user account. */ - emails: string[]; - } | string[] | string; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: 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"]; - }; - }; - "users/list-followers-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "users/list-followed-by-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "users/check-person-is-followed-by-authenticated": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description if the person is followed by the authenticated user */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description if the person is not followed by the authenticated user */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - "users/follow": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: 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"]; - }; - }; - "users/unfollow": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "users/list-gpg-keys-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gpg-key"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "users/create-gpg-key-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description A descriptive name for the new key. */ - name?: string; - /** @description A GPG key in ASCII-armored format. */ - armored_public_key: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gpg-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "users/get-gpg-key-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the GPG key. */ - gpg_key_id: components["parameters"]["gpg-key-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gpg-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "users/delete-gpg-key-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the GPG key. */ - gpg_key_id: components["parameters"]["gpg-key-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: 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"]; - }; - }; - "apps/list-installations-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description You can find the permissions for the installation under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - installations: components["schemas"]["installation"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "apps/list-installation-repos-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the installation. */ - installation_id: components["parameters"]["installation-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description The access the user has to each repository is included in the hash under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": { - total_count: number; - repository_selection?: string; - repositories: components["schemas"]["repository"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "apps/add-repo-to-installation-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the installation. */ - installation_id: components["parameters"]["installation-id"]; - /** @description The unique identifier of the repository. */ - repository_id: components["parameters"]["repository-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "apps/remove-repo-from-installation-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the installation. */ - installation_id: components["parameters"]["installation-id"]; - /** @description The unique identifier of the repository. */ - repository_id: components["parameters"]["repository-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Returned when the application is installed on `all` repositories in the organization, or if this request would remove the last repository that the application has access to in the organization. */ - 422: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "interactions/get-restrictions-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Default response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["interaction-limit-response"] | Record; - }; - }; - /** @description Response when there are no restrictions */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "interactions/set-restrictions-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "interactions/remove-restrictions-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "issues/list-for-authenticated-user": { - parameters: { - query?: { - /** @description 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"; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - /** @description A list of comma separated label names. Example: `bug,ui,@high` */ - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description Only show results that were last 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"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - "users/list-public-ssh-keys-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["key"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "users/create-public-ssh-key-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description A descriptive name for the new key. - * @example Personal MacBook Air - */ - title?: string; - /** @description The public SSH key to add to your GitHub account. */ - key: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "users/get-public-ssh-key-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the key. */ - key_id: components["parameters"]["key-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "users/delete-public-ssh-key-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the key. */ - key_id: components["parameters"]["key-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "apps/list-subscriptions-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["user-marketplace-purchase"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - }; - }; - "apps/list-subscriptions-for-authenticated-user-stubbed": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["user-marketplace-purchase"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - }; - }; - "orgs/list-memberships-for-authenticated-user": { - parameters: { - query?: { - /** @description Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ - state?: "active" | "pending"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["org-membership"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "orgs/get-membership-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/update-membership-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The state that the membership should be in. Only `"active"` will be accepted. - * @enum {string} - */ - state: "active"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "migrations/list-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["migration"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "migrations/start-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Lock the repositories being migrated at the start of the migration - * @example true - */ - lock_repositories?: boolean; - /** - * @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; - /** - * @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[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "migrations/get-status-for-authenticated-user": { - parameters: { - query?: { - exclude?: string[]; - }; - header?: never; - path: { - /** @description The unique identifier of the migration. */ - migration_id: components["parameters"]["migration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "migrations/get-archive-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the migration. */ - migration_id: components["parameters"]["migration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 302: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "migrations/delete-archive-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the migration. */ - migration_id: components["parameters"]["migration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "migrations/unlock-repo-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the migration. */ - migration_id: components["parameters"]["migration-id"]; - /** @description repo_name parameter */ - repo_name: components["parameters"]["repo-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "migrations/list-repos-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The unique identifier of the migration. */ - migration_id: components["parameters"]["migration-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "orgs/list-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "packages/list-packages-for-authenticated-user": { - parameters: { - query: { - /** @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 selected visibility of the packages. This parameter is optional and only filters an existing result set. - * - * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. - * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ - visibility?: components["parameters"]["package-visibility"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 400: components["responses"]["package_es_list_error"]; - }; - }; - "packages/get-package-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package"]; - }; - }; - }; - }; - "packages/delete-package-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "packages/restore-package-for-authenticated-user": { - parameters: { - query?: { - /** @description package token */ - token?: string; - }; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { - parameters: { - query?: { - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The state of the package, either active or deleted. */ - state?: "active" | "deleted"; - }; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package-version"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "packages/get-package-version-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description Unique identifier of the package version. */ - package_version_id: components["parameters"]["package-version-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package-version"]; - }; - }; - }; - }; - "packages/delete-package-version-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description Unique identifier of the package version. */ - package_version_id: components["parameters"]["package-version-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "packages/restore-package-version-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description Unique identifier of the package version. */ - package_version_id: components["parameters"]["package-version-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "projects/create-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - 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; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - "users/list-public-emails-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/list-for-authenticated-user": { - parameters: { - query?: { - /** @description Limit results to repositories with the specified visibility. */ - visibility?: "all" | "public" | "private"; - /** @description Comma-separated list of values. Can include: - * * `owner`: Repositories that are owned by the authenticated user. - * * `collaborator`: Repositories that the user has been added to as a collaborator. - * * `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; - /** @description 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"; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - direction?: "asc" | "desc"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description Only show repositories 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-repo-date"]; - /** @description Only show repositories 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-repo-date"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/create-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @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 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; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions?: 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 Whether the repository is initialized with a minimal README. - * @default false - */ - auto_init?: boolean; - /** - * @description The desired language or platform to apply to the .gitignore. - * @example Haskell - */ - gitignore_template?: string; - /** - * @description The license keyword of the open source license for this repository. - * @example mit - */ - license_template?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_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 Required when using `squash_merge_commit_message`. - * - * The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description Required when using `merge_commit_message`. - * - * The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads?: boolean; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "repos/list-invitations-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository-invitation"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "repos/decline-invitation-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the invitation. */ - invitation_id: components["parameters"]["invitation-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - "repos/accept-invitation-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the invitation. */ - invitation_id: components["parameters"]["invitation-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - "users/list-social-accounts-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["social-account"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "users/add-social-account-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Full URLs for the social media profiles to add. - * @example [] - */ - account_urls: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["social-account"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "users/delete-social-account-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Full URLs for the social media profiles to delete. - * @example [] - */ - account_urls: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: 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"]; - }; - }; - "users/list-ssh-signing-keys-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ssh-signing-key"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "users/create-ssh-signing-key-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** - * @description A descriptive name for the new key. - * @example Personal MacBook Air - */ - title?: string; - /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ - key: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ssh-signing-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "users/get-ssh-signing-key-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the SSH signing key. */ - ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ssh-signing-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "users/delete-ssh-signing-key-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The unique identifier of the SSH signing key. */ - ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "activity/list-repos-starred-by-authenticated-user": { - parameters: { - query?: { - /** @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?: components["parameters"]["sort-starred"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["repository"][]; - "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "activity/check-repo-is-starred-by-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response if this repository is starred by you */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description Not Found if this repository is not starred by you */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - "activity/star-repo-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "activity/unstar-repo-for-authenticated-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: components["parameters"]["owner"]; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: components["parameters"]["repo"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "activity/list-watched-repos-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "teams/list-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["team-full"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "users/get-by-id": { - parameters: { - query?: never; - header?: never; - path: { - /** @description account_id parameter */ - account_id: components["parameters"]["account-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "users/list": { - parameters: { - query?: { - /** @description A user ID. Only return users with an ID greater than this ID. */ - since?: components["parameters"]["since-user"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - "users/get-by-username": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - "users/list-attestations-bulk": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description List of subject digests to fetch attestations for. */ - subject_digests: string[]; - /** @description Optional filter for fetching attestations with a given predicate type. - * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ - predicate_type?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @description Mapping of subject digest to bundles. */ - attestations_subject_digests?: { - [key: string]: { - /** @description The bundle of the attestation. */ - bundle?: { - mediaType?: string; - verificationMaterial?: { - [key: string]: unknown; - }; - dsseEnvelope?: { - [key: string]: unknown; - }; - }; - repository_id?: number; - bundle_url?: string; - }[] | null; - }; - /** @description Information about the current page. */ - page_info?: { - /** @description Indicates whether there is a next page. */ - has_next?: boolean; - /** @description Indicates whether there is a previous page. */ - has_previous?: boolean; - /** @description The cursor to the next page. */ - next?: string; - /** @description The cursor to the previous page. */ - previous?: string; - }; - }; - }; - }; - }; - }; - "users/delete-attestations-bulk": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @description List of subject digests associated with the artifact attestations to delete. */ - subject_digests: string[]; - } | { - /** @description List of unique IDs associated with the artifact attestations to delete. */ - attestation_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "users/delete-attestations-by-subject-digest": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - /** @description Subject Digest */ - subject_digest: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "users/delete-attestations-by-id": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - /** @description Attestation ID */ - attestation_id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "users/list-attestations": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - before?: components["parameters"]["pagination-before"]; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - after?: components["parameters"]["pagination-after"]; - /** @description Optional filter for fetching attestations with a given predicate type. - * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ - predicate_type?: string; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - /** @description Subject Digest */ - subject_digest: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - attestations?: { - /** @description The attestation's Sigstore Bundle. - * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ - bundle?: { - mediaType?: string; - verificationMaterial?: { - [key: string]: unknown; - }; - dsseEnvelope?: { - [key: string]: unknown; - }; - }; - repository_id?: number; - bundle_url?: string; - }[]; - }; - }; - }; - /** @description Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - "packages/list-docker-migration-conflicting-packages-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "activity/list-events-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - "activity/list-org-events-for-authenticated-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - /** @description The organization name. The name is not case sensitive. */ - org: components["parameters"]["org"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - "activity/list-public-events-for-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - "users/list-followers-for-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - "users/list-following-for-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - "users/check-following-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - target_user: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description if the user follows the target user */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description if the user does not follow the target user */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - "gists/list-for-user": { - parameters: { - query?: { - /** @description Only show results that were last 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"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "users/list-gpg-keys-for-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["gpg-key"][]; - }; - }; - }; - }; - "users/get-context-for-user": { - parameters: { - query?: { - /** @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`. */ - subject_type?: "organization" | "repository" | "issue" | "pull_request"; - /** @description Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ - subject_id?: string; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["hovercard"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - "apps/get-user-installation": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - }; - }; - "users/list-public-keys-for-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["key-simple"][]; - }; - }; - }; - }; - "orgs/list-for-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - }; - }; - "packages/list-packages-for-user": { - parameters: { - query: { - /** @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 selected visibility of the packages. This parameter is optional and only filters an existing result set. - * - * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. - * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ - visibility?: components["parameters"]["package-visibility"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 400: components["responses"]["package_es_list_error"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - "packages/get-package-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package"]; - }; - }; - }; - }; - "packages/delete-package-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "packages/restore-package-for-user": { - parameters: { - query?: { - /** @description package token */ - token?: string; - }; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "packages/get-all-package-versions-for-package-owned-by-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package-version"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "packages/get-package-version-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description Unique identifier of the package version. */ - package_version_id: components["parameters"]["package-version-id"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["package-version"]; - }; - }; - }; - }; - "packages/delete-package-version-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - /** @description Unique identifier of the package version. */ - package_version_id: components["parameters"]["package-version-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "packages/restore-package-version-for-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @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: components["parameters"]["package-type"]; - /** @description The name of the package. */ - package_name: components["parameters"]["package-name"]; - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - /** @description Unique identifier of the package version. */ - package_version_id: components["parameters"]["package-version-id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 204: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - "projects/list-for-user": { - parameters: { - query?: { - /** @description Indicates the state of the projects to return. */ - state?: "open" | "closed" | "all"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["project"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - "activity/list-received-events-for-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - "activity/list-received-public-events-for-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - "repos/list-for-user": { - parameters: { - query?: { - /** @description Limit results to repositories of the specified type. */ - type?: "all" | "owner" | "member"; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - direction?: "asc" | "desc"; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - "billing/get-github-actions-billing-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["actions-billing-usage"]; - }; - }; - }; - }; - "billing/get-github-packages-billing-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["packages-billing-usage"]; - }; - }; - }; - }; - "billing/get-shared-storage-billing-user": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["combined-billing-usage"]; - }; - }; - }; - }; - "billing/get-github-billing-usage-report-user": { - parameters: { - query?: { - /** @description If specified, only return results for a single year. The value of `year` is an integer with four digits representing a year. For example, `2025`. Default value is the current year. */ - year?: components["parameters"]["billing-usage-report-year"]; - /** @description If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the default `year` is used. */ - month?: components["parameters"]["billing-usage-report-month"]; - /** @description If specified, only return results for a single day. The value of `day` is an integer between `1` and `31`. If no `year` or `month` is specified, the default `year` and `month` are used. */ - day?: components["parameters"]["billing-usage-report-day"]; - /** @description If specified, only return results for a single hour. The value of `hour` is an integer between `0` and `23`. If no `year`, `month`, or `day` is specified, the default `year`, `month`, and `day` are used. */ - hour?: components["parameters"]["billing-usage-report-hour"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["billing_usage_report_user"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - "users/list-social-accounts-for-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["social-account"][]; - }; - }; - }; - }; - "users/list-ssh-signing-keys-for-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ssh-signing-key"][]; - }; - }; - }; - }; - "activity/list-repos-starred-by-user": { - parameters: { - query?: { - /** @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?: components["parameters"]["sort-starred"]; - /** @description The direction to sort the results by. */ - direction?: components["parameters"]["direction"]; - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["starred-repository"][] | components["schemas"]["repository"][]; - }; - }; + NewsPagingResponse: { + data?: components["schemas"]["News"][] | null; + /** Format: int32 */ + total?: number; }; - }; - "activity/list-repos-watched-by-user": { - parameters: { - query?: { - /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - per_page?: components["parameters"]["per-page"]; - /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ - page?: components["parameters"]["page"]; - }; - header?: never; - path: { - /** @description The handle for the GitHub user account. */ - username: components["parameters"]["username"]; - }; - cookie?: never; + Payment: { + paymentId?: string | null; + bookingId?: string | null; + /** Format: double */ + paymentAmount: number; + /** Format: date-time */ + paymentDate: string; + paymentMessage?: string | null; + paymentStatus: string; + paymentSignature?: string | null; + booking?: components["schemas"]["Booking"]; + }; + PaymentPagingResponse: { + data?: components["schemas"]["Payment"][] | null; + /** Format: int32 */ + total?: number; }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; + Price: { + priceId?: string | null; + branchId?: string | null; + type?: string | null; + isWeekend?: boolean | null; + /** Format: double */ + slotPrice: number; + branch?: components["schemas"]["Branch"]; + }; + PriceModel: { + branchId?: string | null; + type?: string | null; + isWeekend?: boolean | null; + /** Format: double */ + slotPrice: number; + }; + PutUserDetail: { + fullName: string; + userName?: string | null; + address?: string | null; + profilePicture?: string | null; + /** Format: int32 */ + yearOfBirth?: number | null; + phoneNumber?: string | null; + }; + QRCheckInModel: { + qrCodeData?: string | null; + }; + RefreshTokenModel: { + token?: string | null; + refreshToken?: string | null; + }; + RegisterModel: { + fullName: string; + /** Format: email */ + email: string; + password: string; + confirmPassword: string; }; - }; - "meta/get-all-versions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + ResetPasswordModel: { + /** Format: email */ + email: string; + token?: string | null; + password?: string | null; + /** Format: password */ + confirmPassword?: string | null; + }; + RevenueResponse: { + /** Format: double */ + revenue?: number; + /** Format: double */ + changePercentage?: number; + }; + Review: { + reviewId?: string | null; + reviewText?: string | null; + /** Format: date-time */ + reviewDate: string; + /** Format: int32 */ + rating?: number | null; + id?: string | null; + branchId?: string | null; + user?: components["schemas"]["IdentityUser"]; + branch?: components["schemas"]["Branch"]; + }; + ReviewModel: { + reviewText?: string | null; + /** Format: int32 */ + rating: number; + userId: string; + branchId: string; + }; + ReviewPagingResponse: { + data?: components["schemas"]["Review"][] | null; + /** Format: int32 */ + total?: number; }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; + SingleSingleValueTuple: Record; + SlotCheckModel: { + branchId?: string | null; + /** Format: date */ + slotDate?: string; + timeSlot: components["schemas"]["TimeSlotModel"]; }; - }; - "meta/get-zen": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + SlotModel: { + courtId?: string | null; + branchId?: string | null; + /** Format: date */ + slotDate?: string; + timeSlot: components["schemas"]["TimeSlotModel"]; }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": string; - }; - }; + TimeSlot: { + slotId?: string | null; + courtId?: string | null; + bookingId?: string | null; + /** Format: date */ + slotDate: string; + /** Format: double */ + price: number; + /** Format: time */ + slotStartTime: string; + /** Format: time */ + slotEndTime: string; + status: string; + /** Format: date-time */ + created_at?: string | null; + court?: components["schemas"]["Court"]; + booking?: components["schemas"]["Booking"]; }; - }; + TimeSlotModel: { + /** Format: date */ + slotDate?: string | null; + /** Format: time */ + slotStartTime: string; + /** Format: time */ + slotEndTime: string; + }; + UserDetail: { + userId?: string | null; + /** Format: double */ + balance?: number; + /** Format: double */ + point?: number | null; + fullName?: string | null; + address?: string | null; + profilePicture?: string | null; + /** Format: int32 */ + yearOfBirth?: number | null; + isVip?: boolean | null; + user?: components["schemas"]["IdentityUser"]; + }; + UserDetailsModel: { + /** Format: double */ + point?: number | null; + /** Format: double */ + balance?: number | null; + fullName: string; + address?: string | null; + profilePicture?: string | null; + /** Format: int32 */ + yearOfBirth?: number | null; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } +export type $defs = Record; +export type operations = Record; diff --git a/packages/CourtBooking/src/features/auth/components/login/index.jsx b/packages/CourtBooking/src/features/auth/components/login/index.jsx index e4906b3e..33c18764 100644 --- a/packages/CourtBooking/src/features/auth/components/login/index.jsx +++ b/packages/CourtBooking/src/features/auth/components/login/index.jsx @@ -1,72 +1,75 @@ -import React, { useState, useEffect } from "react"; +import React, { useState, useEffect } from 'react'; // import "./loginTest.scss"; -import { FaGoogle, FaFacebookF } from "react-icons/fa"; +import { FaGoogle, FaFacebookF } from 'react-icons/fa'; // import { loginApi } from "../../../user/api/usersApi"; import { validateFullName, validateEmail, validatePassword, validateConfirmPassword, -} from "../../../../components/shared/Validations/formValidation"; +} from '../../../../components/shared/Validations/formValidation'; // import axios from "axios"; -import { toast } from "react-toastify"; -import "react-toastify/dist/ReactToastify.css"; -import { GoogleLogin } from "@react-oauth/google"; -import ClipLoader from "react-spinners/ClipLoader"; +import { toast } from 'react-toastify'; +import 'react-toastify/dist/ReactToastify.css'; +import { GoogleLogin } from '@react-oauth/google'; +import ClipLoader from 'react-spinners/ClipLoader'; // import { ROUTERS } from "utils/router"; -import { FacebookAuthProvider, signInWithPopup } from "firebase/auth"; -import { auth } from "../../../../firebase.js"; +import { FacebookAuthProvider, signInWithPopup } from 'firebase/auth'; +import { auth } from '../../../../firebase.js'; // import { useAuth } from "../../AuthContext.jsx"; -import { jwtDecode } from "jwt-decode"; +import { jwtDecode } from 'jwt-decode'; +import { useGetQuery } from '../../../../api/hook.js'; // import { fetchUserById, fetchRoleByUserId } from "api/userApi"; const Login = () => { - const [password, setPassword] = useState(""); - const [confirmPassword, setConfirmPassword] = useState(""); - const [fullName, setFullName] = useState(""); - const [email, setEmail] = useState(""); + const [password, setPassword] = useState(''); + const [confirmPassword, setConfirmPassword] = useState(''); + const [fullName, setFullName] = useState(''); + const [email, setEmail] = useState(''); const [isLogin, setIsLogin] = useState(true); - const [message, setMessage] = useState(""); - const [messageType, setMessageType] = useState(""); + const [message, setMessage] = useState(''); + const [messageType, setMessageType] = useState(''); const [loading, setLoading] = useState(false); const [profile, setProfile] = useState(null); + const booking = useGetQuery('/api/Bookings/current-time', {}); + console.log('Current Booking Time:', booking.data); const [fullNameValidation, setFullNameValidation] = useState({ isValid: true, - message: "", + message: '', }); const [emailValidation, setEmailValidation] = useState({ isValid: true, - message: "", + message: '', }); const [passwordValidation, setPasswordValidation] = useState({ isValid: true, - message: "", + message: '', }); const [confirmPasswordValidation, setConfirmPasswordValidation] = useState({ isValid: true, - message: "", + message: '', }); // const { login } = useAuth(); useEffect(() => { - const container = document.getElementById("container"); - const registerBtn = document.getElementById("register"); - const loginBtn = document.getElementById("login"); + const container = document.getElementById('container'); + const registerBtn = document.getElementById('register'); + const loginBtn = document.getElementById('login'); - const addActiveClass = () => container.classList.add("active"); - const removeActiveClass = () => container.classList.remove("active"); + const addActiveClass = () => container.classList.add('active'); + const removeActiveClass = () => container.classList.remove('active'); if (registerBtn && loginBtn) { - registerBtn.addEventListener("click", addActiveClass); - loginBtn.addEventListener("click", removeActiveClass); + registerBtn.addEventListener('click', addActiveClass); + loginBtn.addEventListener('click', removeActiveClass); } return () => { if (registerBtn && loginBtn) { - registerBtn.removeEventListener("click", addActiveClass); - loginBtn.removeEventListener("click", removeActiveClass); + registerBtn.removeEventListener('click', addActiveClass); + loginBtn.removeEventListener('click', removeActiveClass); } }; }, []); @@ -179,16 +182,16 @@ const Login = () => { const loginGoogle = async (response) => { var token = response.credential; - console.log("Google Token:", token); + console.log('Google Token:', token); try { const res = await fetch( - "https://courtcaller.azurewebsites.net/api/authentication/google-login?token=" + + 'https://courtcaller.azurewebsites.net/api/authentication/google-login?token=' + token, { - method: "POST", + method: 'POST', headers: { - "Content-Type": "application/json", + 'Content-Type': 'application/json', }, } ); @@ -196,10 +199,10 @@ const Login = () => { const data = await res.json(); if (res.ok) { - localStorage.setItem("token", data.token); - localStorage.setItem("ggToken", token); + localStorage.setItem('token', data.token); + localStorage.setItem('ggToken', token); var decode = jwtDecode(data.token); - localStorage.setItem("userRole", decode.role); + localStorage.setItem('userRole', decode.role); const userData = { email: decode.email, role: decode.role, @@ -207,13 +210,13 @@ const Login = () => { login(userData); // navigate(ROUTERS.USER.HOME); } else { - console.error("Backend error:", data); - toast.error("Login Failed"); - throw new Error(data.message || "Google login failed"); + console.error('Backend error:', data); + toast.error('Login Failed'); + throw new Error(data.message || 'Google login failed'); } } catch (error) { - console.error("Error during login:", error); - toast.error("Login Failed"); + console.error('Error during login:', error); + toast.error('Login Failed'); } }; @@ -224,16 +227,16 @@ const Login = () => { const accessToken = result.user.stsTokenManager.accessToken; - console.log("Login successfully", result.user); - console.log("Access Token:", accessToken); + console.log('Login successfully', result.user); + console.log('Access Token:', accessToken); const res = await fetch( - "https://courtcaller.azurewebsites.net/api/authentication/facebook-login?token=" + + 'https://courtcaller.azurewebsites.net/api/authentication/facebook-login?token=' + accessToken, { - method: "POST", + method: 'POST', headers: { - "Content-Type": "application/json", + 'Content-Type': 'application/json', }, } ); @@ -241,8 +244,8 @@ const Login = () => { const data = await res.json(); if (res.ok) { - console.log("Login successful:", data); - localStorage.setItem("token", accessToken); + console.log('Login successful:', data); + localStorage.setItem('token', accessToken); var decode = jwtDecode(accessToken); const userData = { @@ -251,99 +254,99 @@ const Login = () => { login(userData); // navigate(ROUTERS.USER.HOME); } else { - console.error("Backend error:", data); - toast.error("Login Failed"); + console.error('Backend error:', data); + toast.error('Login Failed'); } } catch (error) { - console.error("Error:", error.message); - toast.error("Facebook login failed"); + console.error('Error:', error.message); + toast.error('Facebook login failed'); } }; return (
{/* Sign In Form */}
{isLogin && ( -
-
-

LOG IN

+
+
+

LOG IN

-
+
{ - console.log("Login Failed"); + console.log('Login Failed'); }} />
- + or use your account for login setEmail(e.target.value)} required className={`w-full bg-gray-100 text-black border-none rounded-lg px-4 py-3 text-sm mb-2 outline-none ${ - !emailValidation.isValid ? "shadow-red-500 shadow-md" : "" + !emailValidation.isValid ? 'shadow-red-500 shadow-md' : '' }`} /> {emailValidation.message && ( -

+

{emailValidation.message}

)} setPassword(e.target.value)} required className={`w-full bg-gray-100 text-black border-none rounded-lg px-4 py-3 text-sm mb-2 outline-none ${ !passwordValidation.isValid - ? "shadow-red-500 shadow-md" - : "" + ? 'shadow-red-500 shadow-md' + : '' }`} /> {passwordValidation.message && ( -

+

{passwordValidation.message}

)} -
- Forgot Password? + {message && (

{message}

@@ -357,85 +360,87 @@ const Login = () => {
{!isLogin && ( -
-
-

Create Account

+
+
+

+ Create Account +

- + or use your email for registration setFullName(e.target.value)} required className={`w-full bg-gray-100 text-black border-none rounded-lg px-4 py-3 text-sm mb-2 outline-none ${ !fullNameValidation.isValid - ? "shadow-red-500 shadow-md" - : "" + ? 'shadow-red-500 shadow-md' + : '' }`} /> {fullNameValidation.message && ( -

+

{fullNameValidation.message}

)} setEmail(e.target.value)} required className={`w-full bg-gray-100 text-black border-none rounded-lg px-4 py-3 text-sm mb-2 outline-none ${ - !emailValidation.isValid ? "shadow-red-500 shadow-md" : "" + !emailValidation.isValid ? 'shadow-red-500 shadow-md' : '' }`} /> {emailValidation.message && ( -

+

{emailValidation.message}

)} setPassword(e.target.value)} required className={`w-full bg-gray-100 text-black border-none rounded-lg px-4 py-3 text-sm mb-2 outline-none ${ !passwordValidation.isValid - ? "shadow-red-500 shadow-md" - : "" + ? 'shadow-red-500 shadow-md' + : '' }`} /> {passwordValidation.message && ( -

+

{passwordValidation.message}

)} setConfirmPassword(e.target.value)} required className={`w-full bg-gray-100 text-black border-none rounded-lg px-4 py-3 text-sm mb-2 outline-none ${ !confirmPasswordValidation.isValid - ? "shadow-red-500 shadow-md" - : "" + ? 'shadow-red-500 shadow-md' + : '' }`} /> {confirmPasswordValidation.message && ( -

+

{confirmPasswordValidation.message}

)} @@ -443,14 +448,14 @@ const Login = () => { {message && (

{message}

@@ -464,32 +469,32 @@ const Login = () => {
{/* Toggle Left Panel */}
-

+

badminton is joy

-

+

Enter your username & password to schedule now!!

@@ -499,20 +504,20 @@ const Login = () => {
-

+

badminton is life

-

+

Register with your personal details to use all of the site features!!

diff --git a/packages/CourtBooking/src/main.tsx b/packages/CourtBooking/src/main.tsx deleted file mode 100644 index eb7acfcc..00000000 --- a/packages/CourtBooking/src/main.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { StrictMode } from 'react'; -import ReactDOM from 'react-dom/client'; -import { RouterProvider, createRouter } from '@tanstack/react-router'; - -// Import the generated route tree -import { routeTree } from './routeTree.gen'; - -// Create a new router instance -const router = createRouter({ routeTree }); - -// Register the router instance for type safety -declare module '@tanstack/react-router' { - interface Register { - router: typeof router; - } -} - -// Render the app -const rootElement = document.getElementById('root')!; -if (!rootElement.innerHTML) { - const root = ReactDOM.createRoot(rootElement); - root.render( - - - - ); -} diff --git a/packages/CourtBooking/src/routeTree.gen.ts b/packages/CourtBooking/src/routeTree.gen.ts index 59499d9f..20f89d6a 100644 --- a/packages/CourtBooking/src/routeTree.gen.ts +++ b/packages/CourtBooking/src/routeTree.gen.ts @@ -10,6 +10,7 @@ import { Route as rootRouteImport } from './routes/__root' import { Route as AboutRouteImport } from './routes/about' +import { Route as PostRouteRouteImport } from './routes/post.route' import { Route as IndexRouteImport } from './routes/index' const AboutRoute = AboutRouteImport.update({ @@ -17,6 +18,11 @@ const AboutRoute = AboutRouteImport.update({ path: '/about', getParentRoute: () => rootRouteImport, } as any) +const PostRouteRoute = PostRouteRouteImport.update({ + id: '/post', + path: '/post', + getParentRoute: () => rootRouteImport, +} as any) const IndexRoute = IndexRouteImport.update({ id: '/', path: '/', @@ -25,27 +31,31 @@ const IndexRoute = IndexRouteImport.update({ export interface FileRoutesByFullPath { '/': typeof IndexRoute + '/post': typeof PostRouteRoute '/about': typeof AboutRoute } export interface FileRoutesByTo { '/': typeof IndexRoute + '/post': typeof PostRouteRoute '/about': typeof AboutRoute } export interface FileRoutesById { __root__: typeof rootRouteImport '/': typeof IndexRoute + '/post': typeof PostRouteRoute '/about': typeof AboutRoute } export interface FileRouteTypes { fileRoutesByFullPath: FileRoutesByFullPath - fullPaths: '/' | '/about' + fullPaths: '/' | '/post' | '/about' fileRoutesByTo: FileRoutesByTo - to: '/' | '/about' - id: '__root__' | '/' | '/about' + to: '/' | '/post' | '/about' + id: '__root__' | '/' | '/post' | '/about' fileRoutesById: FileRoutesById } export interface RootRouteChildren { IndexRoute: typeof IndexRoute + PostRouteRoute: typeof PostRouteRoute AboutRoute: typeof AboutRoute } @@ -58,6 +68,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AboutRouteImport parentRoute: typeof rootRouteImport } + '/post': { + id: '/post' + path: '/post' + fullPath: '/post' + preLoaderRoute: typeof PostRouteRouteImport + parentRoute: typeof rootRouteImport + } '/': { id: '/' path: '/' @@ -70,6 +87,7 @@ declare module '@tanstack/react-router' { const rootRouteChildren: RootRouteChildren = { IndexRoute: IndexRoute, + PostRouteRoute: PostRouteRoute, AboutRoute: AboutRoute, } export const routeTree = rootRouteImport diff --git a/packages/CourtBooking/src/router.tsx b/packages/CourtBooking/src/router.tsx index 176c4b47..f1ec0703 100644 --- a/packages/CourtBooking/src/router.tsx +++ b/packages/CourtBooking/src/router.tsx @@ -1,18 +1,23 @@ -// src/router.tsx +import { QueryClient } from '@tanstack/react-query'; import { createRouter as createTanStackRouter } from '@tanstack/react-router'; +import { routerWithQueryClient } from '@tanstack/react-router-with-query'; import { routeTree } from './routeTree.gen'; -import { NotFound } from './components/NotFound'; import { DefaultCatchBoundary } from './components/DefaultCatchBoundary'; +import { NotFound } from './components/NotFound'; export function createRouter() { - const router = createTanStackRouter({ - routeTree, - defaultErrorComponent: DefaultCatchBoundary, - defaultNotFoundComponent: () => , - scrollRestoration: true, - }); + const queryClient = new QueryClient(); - return router; + return routerWithQueryClient( + createTanStackRouter({ + routeTree, + context: { queryClient }, + defaultPreload: 'intent', + defaultErrorComponent: DefaultCatchBoundary, + defaultNotFoundComponent: () => , + }), + queryClient + ); } declare module '@tanstack/react-router' { diff --git a/packages/CourtBooking/src/routes/__root.tsx b/packages/CourtBooking/src/routes/__root.tsx index df09febf..d225fa71 100644 --- a/packages/CourtBooking/src/routes/__root.tsx +++ b/packages/CourtBooking/src/routes/__root.tsx @@ -1,18 +1,21 @@ /// - import { - Outlet, - createRootRoute, HeadContent, + Link, + Outlet, Scripts, + createRootRouteWithContext, } from '@tanstack/react-router'; -// import '../styles/app.css'; - +import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; +import * as React from 'react'; +import type { QueryClient } from '@tanstack/react-query'; import appCss from '../../styles/app.css?url'; -import type { ReactNode } from 'react'; -import { GoogleOAuthProvider } from '@react-oauth/google'; +import { DefaultCatchBoundary } from '../components/DefaultCatchBoundary'; +import { NotFound } from '../components/NotFound'; -export const Route = createRootRoute({ +export const Route = createRootRouteWithContext<{ + queryClient: QueryClient; +}>()({ head: () => ({ meta: [ { @@ -22,12 +25,36 @@ export const Route = createRootRoute({ name: 'viewport', content: 'width=device-width, initial-scale=1', }, + ], + links: [ + { rel: 'stylesheet', href: appCss }, + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/apple-touch-icon.png', + }, { - title: 'TanStack Start Starter', + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/favicon-16x16.png', }, ], - links: [{ rel: 'stylesheet', href: appCss }], }), + errorComponent: (props) => { + return ( + + + + ); + }, + notFoundComponent: () => , component: RootComponent, }); @@ -39,17 +66,35 @@ function RootComponent() { ); } -function RootDocument({ children }: Readonly<{ children: ReactNode }>) { +function RootDocument({ children }: { children: React.ReactNode }) { return ( - - +
+ + Home + {' '} + + Posts + +
+
{children} -
+ diff --git a/packages/CourtBooking/src/routes/index.tsx b/packages/CourtBooking/src/routes/index.tsx index 73f09510..c37d81d0 100644 --- a/packages/CourtBooking/src/routes/index.tsx +++ b/packages/CourtBooking/src/routes/index.tsx @@ -1,10 +1,17 @@ import { createFileRoute } from '@tanstack/react-router'; -import Login from '../features/auth/components/login'; - +import { useGetQuery } from '../api/hook'; export const Route = createFileRoute('/')({ - component: Index, + component: Home, }); -function Index() { - return
; +function Home() { + const booking = useGetQuery('/api/Bookings/current-time', { + baseUrl: '/api', + }); + console.log('Current Booking Time:', booking); + return ( +
+

Welcome Home!!!

+
+ ); } diff --git a/packages/CourtBooking/src/routes/post.route.tsx b/packages/CourtBooking/src/routes/post.route.tsx new file mode 100644 index 00000000..83c0f4f4 --- /dev/null +++ b/packages/CourtBooking/src/routes/post.route.tsx @@ -0,0 +1,9 @@ +import { createFileRoute } from '@tanstack/react-router' + +export const Route = createFileRoute('/post')({ + component: RouteComponent, +}) + +function RouteComponent() { + return
Hello "/post"!
+} diff --git a/packages/CourtBooking/tsconfig.json b/packages/CourtBooking/tsconfig.json index 1aa9ba92..41f41f45 100644 --- a/packages/CourtBooking/tsconfig.json +++ b/packages/CourtBooking/tsconfig.json @@ -1,4 +1,5 @@ { + "include": ["**/*.ts", "**/*.tsx"], "compilerOptions": { // Environment setup & latest features "lib": ["DOM", "DOM.Iterable", "ESNext"], diff --git a/packages/CourtBooking/vite.config.ts b/packages/CourtBooking/vite.config.ts index f8bb4b87..159f12da 100644 --- a/packages/CourtBooking/vite.config.ts +++ b/packages/CourtBooking/vite.config.ts @@ -1,5 +1,5 @@ import { defineConfig } from 'vite'; -// import react from '@vitejs/plugin-react'; +import react from '@vitejs/plugin-react'; import tsConfigPaths from 'vite-tsconfig-paths'; import { tanstackStart } from '@tanstack/react-start/plugin/vite'; import tailwindcss from '@tailwindcss/vite'; @@ -22,10 +22,10 @@ export default defineConfig({ target: 'react', autoCodeSplitting: true, }), - // react({ - // jsxRuntime: 'automatic', - // babel: {}, - // }), + react({ + jsxRuntime: 'automatic', + babel: {}, + }), tsConfigPaths({ projects: ['./tsconfig.json'], }), @@ -35,3 +35,19 @@ export default defineConfig({ tailwindcss(), ], }); + +// import { tanstackStart } from '@tanstack/react-start/plugin/vite'; +// import { defineConfig } from 'vite'; +// import tsConfigPaths from 'vite-tsconfig-paths'; + +// export default defineConfig({ +// server: { +// port: 3000, +// }, +// plugins: [ +// tsConfigPaths({ +// projects: ['./tsconfig.json'], +// }), +// tanstackStart(), +// ], +// }); From 1b63fd2dd61807d29ee0d5a27c6a458fb4674db6 Mon Sep 17 00:00:00 2001 From: ttd11204 Date: Wed, 16 Jul 2025 12:32:53 +0700 Subject: [PATCH 3/9] Refactor root route to import QueryClient and remove unused favicon links; update Home component and try to fetch api --- packages/CourtBooking/src/api/client.ts | 24 +- packages/CourtBooking/src/api/types.ts | 127512 ++++++++++++++++- packages/CourtBooking/src/routes/__root.tsx | 14 +- packages/CourtBooking/src/routes/index.tsx | 18 +- 4 files changed, 123460 insertions(+), 4108 deletions(-) diff --git a/packages/CourtBooking/src/api/client.ts b/packages/CourtBooking/src/api/client.ts index 65ffbbcd..63b090b0 100644 --- a/packages/CourtBooking/src/api/client.ts +++ b/packages/CourtBooking/src/api/client.ts @@ -2,22 +2,22 @@ import createClient from 'openapi-fetch'; import type { Middleware } from 'openapi-fetch'; import type { paths } from './types.ts'; -// const githubToken = import.meta.env.VITE_GITHUB_TOKEN; -// const baseUrl = 'https://api.github.com'; +const githubToken = import.meta.env.VITE_GITHUB_TOKEN; +const baseUrl = 'https://api.github.com'; -// const authMiddleware: Middleware = { -// onRequest: async ({ request }) => { -// request.headers.set('Authorization', `Bearer ${githubToken}`); -// return request; -// }, -// }; +const authMiddleware: Middleware = { + onRequest: async ({ request }) => { + request.headers.set('Authorization', `Bearer ${githubToken}`); + return request; + }, +}; -// const client = createClient({ baseUrl }); +const client = createClient({ baseUrl }); -// client.use(authMiddleware); +client.use(authMiddleware); -const baseUrl = 'https://localhost:7104/'; +// const baseUrl = 'https://localhost:7104/'; -const client = createClient({ baseUrl }); +// const client = createClient({ baseUrl }); export { client }; diff --git a/packages/CourtBooking/src/api/types.ts b/packages/CourtBooking/src/api/types.ts index 0cdf86a1..4d09cbc8 100644 --- a/packages/CourtBooking/src/api/types.ts +++ b/packages/CourtBooking/src/api/types.ts @@ -4,112 +4,60 @@ */ export interface paths { - "/api/authentication/login": { + "/": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * GitHub API Root + * @description Get Hypermedia links to resources accessible in GitHub's REST API + */ + get: operations["meta/root"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["LoginModel"]; - "text/json": components["schemas"]["LoginModel"]; - "application/*+json": components["schemas"]["LoginModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/authentication/register": { + "/advisories": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * List global security advisories + * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. + * + * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." + */ + get: operations["security-advisories/list-global-advisories"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["RegisterModel"]; - "text/json": components["schemas"]["RegisterModel"]; - "application/*+json": components["schemas"]["RegisterModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/authentication/confirm-email": { + "/advisories/{ghsa_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - email?: string; - token?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Get a global security advisory + * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. + */ + get: operations["security-advisories/get-global-advisory"]; put?: never; post?: never; delete?: never; @@ -118,46 +66,29 @@ export interface paths { patch?: never; trace?: never; }; - "/api/authentication/register-admin": { + "/app": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * 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/apps/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. + */ + get: operations["apps/get-authenticated"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["RegisterModel"]; - "text/json": components["schemas"]["RegisterModel"]; - "application/*+json": components["schemas"]["RegisterModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/authentication/register-staff": { + "/app-manifests/{code}/conversions": { parameters: { query?: never; header?: never; @@ -166,268 +97,145 @@ export interface paths { }; get?: never; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["RegisterModel"]; - "text/json": components["schemas"]["RegisterModel"]; - "application/*+json": components["schemas"]["RegisterModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * 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`. + */ + post: operations["apps/create-from-manifest"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/authentication/google-login": { + "/app/hook/config": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * 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)." + * + * 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-config-for-app"]; put?: never; - post: { - parameters: { - query?: { - token?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; - patch?: never; + /** + * 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)." + * + * 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. + */ + patch: operations["apps/update-webhook-config-for-app"]; trace?: never; }; - "/api/authentication/facebook-login": { + "/app/hook/deliveries": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * List deliveries for an app webhook + * @description 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"]; put?: never; - post: { - parameters: { - query?: { - token?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/authentication/forget-password": { + "/app/hook/deliveries/{delivery_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * Get a delivery for an app webhook + * @description 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"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ForgetPasswordModel"]; - "text/json": components["schemas"]["ForgetPasswordModel"]; - "application/*+json": components["schemas"]["ForgetPasswordModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/authentication/reset-password": { + "/app/hook/deliveries/{delivery_id}/attempts": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - token?: string; - email?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + get?: never; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ResetPasswordModel"]; - "text/json": components["schemas"]["ResetPasswordModel"]; - "application/*+json": components["schemas"]["ResetPasswordModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Redeliver a delivery for an app webhook + * @description 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"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/authentication/refresh": { + "/app/installation-requests": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * List installation requests for the authenticated app + * @description Lists all the pending installation requests for the authenticated GitHub App. + */ + get: operations["apps/list-installation-requests-for-authenticated-app"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["RefreshTokenModel"]; - "text/json": components["schemas"]["RefreshTokenModel"]; - "application/*+json": components["schemas"]["RefreshTokenModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/current-time": { + "/app/installations": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * List installations for the authenticated app + * @description The permissions the installation has are included under the `permissions` 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. + */ + get: operations["apps/list-installations"]; put?: never; post?: never; delete?: never; @@ -436,290 +244,174 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Bookings/CheckAuthor": { + "/app/installations/{installation_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Get an installation for the authenticated app + * @description 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"]; put?: never; post?: never; - delete?: never; + /** + * Delete an installation for the authenticated app + * @description Uninstalls a GitHub App on a user, organization, or enterprise 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/apps/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. + */ + delete: operations["apps/delete-installation"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings": { + "/app/installations/{installation_id}/access_tokens": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - pageNumber?: number; - pageSize?: number; - searchQuery?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["BookingPagingResponse"]; - "application/json": components["schemas"]["BookingPagingResponse"]; - "text/json": components["schemas"]["BookingPagingResponse"]; - }; - }; - }; - }; + get?: never; put?: never; - post?: never; + /** + * 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. + * + * Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don't use `repositories` or `repository_ids` to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner. + * + * Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted. + * + * 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/create-installation-access-token"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/{id}": { + "/app/installations/{installation_id}/suspended": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Booking"]; - "application/json": components["schemas"]["Booking"]; - "text/json": components["schemas"]["Booking"]; - }; - }; - }; - }; - put?: never; + get?: never; + /** + * Suspend an app installation + * @description Suspends a GitHub App on a user, organization, or enterprise 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"]; post?: never; - delete: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Unsuspend an app installation + * @description 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. + */ + delete: operations["apps/unsuspend-installation"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/userId/{userId}": { + "/applications/{client_id}/grant": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - userId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Booking"]; - "application/json": components["schemas"]["Booking"]; - "text/json": components["schemas"]["Booking"]; - }; - }; - }; - }; + get?: never; put?: never; post?: never; - delete?: never; + /** + * Delete an app authorization + * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an 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). + */ + delete: operations["apps/delete-authorization"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/status/{status}": { + "/applications/{client_id}/token": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - status: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Booking"][]; - "application/json": components["schemas"]["Booking"][]; - "text/json": components["schemas"]["Booking"][]; - }; - }; - }; - }; + get?: never; put?: never; - post?: never; - delete?: never; + /** + * Check a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. Invalid tokens will return `404 NOT FOUND`. + */ + post: operations["apps/check-token"]; + /** + * Delete an app token + * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. + */ + delete: operations["apps/delete-token"]; options?: never; head?: never; - patch?: never; + /** + * Reset a token + * @description OAuth applications and GitHub applications with OAuth authorizations 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. Invalid tokens will return `404 NOT FOUND`. + */ + patch: operations["apps/reset-token"]; trace?: never; }; - "/api/Bookings/search/{start}/{end}": { + "/applications/{client_id}/token/scoped": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - start: string; - end: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Booking"][]; - "application/json": components["schemas"]["Booking"][]; - "text/json": components["schemas"]["Booking"][]; - }; - }; - }; - }; + get?: never; put?: never; - post?: never; + /** + * Create a scoped access token + * @description Use a non-scoped user access token to create a repository-scoped and/or permission-scoped user access token. You can specify + * which repositories the token can access and which permissions are granted to the + * token. + * + * Invalid tokens will return `404 NOT FOUND`. + */ + post: operations["apps/scope-token"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/search/{userId}": { + "/apps/{app_slug}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path: { - userId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Booking"][]; - "application/json": components["schemas"]["Booking"][]; - "text/json": components["schemas"]["Booking"][]; - }; - }; - }; - }; + /** + * 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`). + */ + get: operations["apps/get-by-slug"]; put?: never; post?: never; delete?: never; @@ -728,238 +420,118 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Bookings/reserve-slot": { + "/assignments/{assignment_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * Get an assignment + * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-an-assignment"]; put?: never; - post: { - parameters: { - query?: { - userId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SlotModel"][]; - "text/json": components["schemas"]["SlotModel"][]; - "application/*+json": components["schemas"]["SlotModel"][]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/cancel/{bookingId}": { + "/assignments/{assignment_id}/accepted_assignments": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * List accepted assignments for an assignment + * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/list-accepted-assignments-for-an-assignment"]; put?: never; post?: never; - delete: { - parameters: { - query?: never; - header?: never; - path: { - bookingId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/delete/{bookingId}": { + "/assignments/{assignment_id}/grades": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * Get assignment grades + * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-assignment-grades"]; put?: never; post?: never; - delete: { - parameters: { - query?: never; - header?: never; - path: { - bookingId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/flex": { + "/classrooms": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * List classrooms + * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. + */ + get: operations["classroom/list-classrooms"]; put?: never; - post: { - parameters: { - query?: { - userId?: string; - numberOfSlot?: number; - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Booking"]; - "application/json": components["schemas"]["Booking"]; - "text/json": components["schemas"]["Booking"]; - }; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/fix-slot": { + "/classrooms/{classroom_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * Get a classroom + * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/get-a-classroom"]; put?: never; - post: { - parameters: { - query?: { - numberOfMonths?: number; - dayOfWeek?: string[]; - startDate?: string; - userId?: string; - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TimeSlotModel"][]; - "text/json": components["schemas"]["TimeSlotModel"][]; - "application/*+json": components["schemas"]["TimeSlotModel"][]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/sortBooking/{sortBy}": { + "/classrooms/{classroom_id}/assignments": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - isAsc?: boolean; - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path: { - sortBy: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Booking"][]; - "application/json": components["schemas"]["Booking"][]; - "text/json": components["schemas"]["Booking"][]; - }; - }; - }; - }; + /** + * List assignments for a classroom + * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/list-assignments-for-a-classroom"]; put?: never; post?: never; delete?: never; @@ -968,38 +540,18 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Bookings/checkbookingtypeflex": { + "/codes_of_conduct": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - userId?: string; - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["CheckBookingTypeFlexModel"]; - "application/json": components["schemas"]["CheckBookingTypeFlexModel"]; - "text/json": components["schemas"]["CheckBookingTypeFlexModel"]; - }; - }; - }; - }; + /** + * Get all codes of conduct + * @description Returns array of all GitHub's codes of conduct. + */ + get: operations["codes-of-conduct/get-all-codes-of-conduct"]; put?: never; post?: never; delete?: never; @@ -1008,33 +560,18 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Bookings/qrcode/{bookingId}": { + "/codes_of_conduct/{key}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - bookingId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Get a code of conduct + * @description Returns information about the specified GitHub code of conduct. + */ + get: operations["codes-of-conduct/get-conduct-code"]; put?: never; post?: never; delete?: never; @@ -1043,76 +580,50 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Bookings/daily-bookings": { + "/credentials/revoke": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["DailyBookingResponse"]; - "application/json": components["schemas"]["DailyBookingResponse"]; - "text/json": components["schemas"]["DailyBookingResponse"]; - }; - }; - }; - }; + get?: never; put?: never; - post?: never; + /** + * Revoke a list of credentials + * @description Submit a list of credentials to be revoked. This endpoint is intended to revoke credentials the caller does not own and may have found exposed on GitHub.com or elsewhere. It can also be used for credentials associated with an old user account that you no longer have access to. Credential owners will be notified of the revocation. + * + * This endpoint currently accepts the following credential types: + * - Personal access tokens (classic) + * - Fine-grained personal access tokens + * + * Revoked credentials may impact users on GitHub Free, Pro, & Team and GitHub Enterprise Cloud, and GitHub Enterprise Cloud with Enterprise Managed Users. + * GitHub cannot reactivate any credentials that have been revoked; new credentials will need to be generated. + * + * To prevent abuse, this API is limited to only 60 unauthenticated requests per hour and a max of 1000 tokens per API request. + * + * > [!NOTE] + * > Any authenticated requests will return a 403. + */ + post: operations["credentials/revoke"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/weekly-bookings": { + "/emojis": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["DailyBookingResponse"]; - "application/json": components["schemas"]["DailyBookingResponse"]; - "text/json": components["schemas"]["DailyBookingResponse"]; - }; - }; - }; - }; + /** + * Get emojis + * @description Lists all the emojis available to use on GitHub. + */ + get: operations["emojis/get"]; put?: never; post?: never; delete?: never; @@ -1121,72 +632,54 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Bookings/monthly-bookings": { + "/enterprises/{enterprise}/code-security/configurations": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["DailyBookingResponse"]; - "application/json": components["schemas"]["DailyBookingResponse"]; - "text/json": components["schemas"]["DailyBookingResponse"]; - }; - }; - }; - }; + /** + * Get code security configurations for an enterprise + * @description Lists all code security configurations available in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-configurations-for-enterprise"]; put?: never; - post?: never; + /** + * Create a code security configuration for an enterprise + * @description Creates a code security configuration in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + post: operations["code-security/create-configuration-for-enterprise"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/bookings-from-start-of-week": { + "/enterprises/{enterprise}/code-security/configurations/defaults": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Get default code security configurations for an enterprise + * @description Lists the default code security configurations for an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-default-configurations-for-enterprise"]; put?: never; post?: never; delete?: never; @@ -1195,108 +688,93 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Bookings/weekly-bookings-from-start-of-month": { + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Retrieve a code security configuration of an enterprise + * @description Gets a code security configuration available in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-single-configuration-for-enterprise"]; put?: never; post?: never; - delete?: never; + /** + * Delete a code security configuration for an enterprise + * @description Deletes a code security configuration from an enterprise. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + delete: operations["code-security/delete-configuration-for-enterprise"]; options?: never; head?: never; - patch?: never; + /** + * Update a custom code security configuration for an enterprise + * @description Updates a code security configuration in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + patch: operations["code-security/update-enterprise-configuration"]; trace?: never; }; - "/api/Bookings/monthly-bookings-from-start-of-year": { + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + get?: never; put?: never; - post?: never; + /** + * Attach an enterprise configuration to repositories + * @description Attaches an enterprise code security configuration to repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + post: operations["code-security/attach-enterprise-configuration"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Bookings/daily-revenue": { + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["RevenueResponse"]; - "application/json": components["schemas"]["RevenueResponse"]; - "text/json": components["schemas"]["RevenueResponse"]; - }; - }; - }; - }; - put?: never; + get?: never; + /** + * Set a code security configuration as a default for an enterprise + * @description Sets a code security configuration as a default to be applied to new repositories in your enterprise. + * + * This configuration will be applied by default to the matching repository type when created, but only for organizations within the enterprise that do not already have a default code security configuration set. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + put: operations["code-security/set-configuration-as-default-for-enterprise"]; post?: never; delete?: never; options?: never; @@ -1304,37 +782,22 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Bookings/weekly-revenue": { + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["RevenueResponse"]; - "application/json": components["schemas"]["RevenueResponse"]; - "text/json": components["schemas"]["RevenueResponse"]; - }; - }; - }; - }; + /** + * Get repositories associated with an enterprise code security configuration + * @description Lists the repositories associated with an enterprise code security configuration in an organization. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-repositories-for-enterprise-configuration"]; put?: never; post?: never; delete?: never; @@ -1343,37 +806,24 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Bookings/monthly-revenue": { + "/enterprises/{enterprise}/dependabot/alerts": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["RevenueResponse"]; - "application/json": components["schemas"]["RevenueResponse"]; - "text/json": components["schemas"]["RevenueResponse"]; - }; - }; - }; - }; + /** + * List Dependabot alerts for an enterprise + * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. + * + * The authenticated user must be a member of the enterprise to use this endpoint. + * + * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. + */ + get: operations["dependabot/list-alerts-for-enterprise"]; put?: never; post?: never; delete?: never; @@ -1382,33 +832,24 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Bookings/revenue-from-start-of-week": { + "/enterprises/{enterprise}/secret-scanning/alerts": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * List secret scanning alerts for an enterprise + * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * + * Alerts are only returned for organizations in the enterprise for which the authenticated user is 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). + * + * The authenticated user must be a member of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope or `security_events` scope to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-enterprise"]; put?: never; post?: never; delete?: never; @@ -1417,33 +858,19 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Bookings/weekly-revenue-from-start-of-month": { + "/events": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * List public events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-events"]; put?: never; post?: never; delete?: never; @@ -1452,33 +879,31 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Bookings/monthly-revenue-from-start-of-year": { + "/feeds": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Get feeds + * @description Lists the feeds available to the authenticated user. The response provides a URL for each feed. You can then get a specific feed by sending a request to one of the feed URLs. + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using `uri_template`. For more information, see "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-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. + * + * By default, timeline resources are returned in JSON. You can specify the `application/atom+xml` type in the `Accept` header to return timeline resources in Atom format. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * > [!NOTE] + * > Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + get: operations["activity/get-feeds"]; put?: never; post?: never; delete?: never; @@ -1487,119 +912,47 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Branches": { + "/gists": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - pageNumber?: number; - pageSize?: number; - searchQuery?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["BranchPagingResponse"]; - "application/json": components["schemas"]["BranchPagingResponse"]; - "text/json": components["schemas"]["BranchPagingResponse"]; - }; - }; - }; - }; + /** + * List gists for the authenticated user + * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + get: operations["gists/list"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "multipart/form-data": { - BranchAddress: string; - BranchName: string; - BranchPhone: string; - Description?: string; - BranchPicture?: string; - /** Format: time */ - OpenTime: string; - /** Format: time */ - CloseTime: string; - OpenDay: string; - Status: string; - BranchPictures?: string[]; - }; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Branch"]; - "application/json": components["schemas"]["Branch"]; - "text/json": components["schemas"]["Branch"]; - }; - }; - }; - }; + /** + * Create a gist + * @description 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. + */ + post: operations["gists/create"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Branches/HomePage": { + "/gists/public": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - pageNumber?: number; - pageSize?: number; - status?: string; - searchQuery?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["BranchPagingResponse"]; - "application/json": components["schemas"]["BranchPagingResponse"]; - "text/json": components["schemas"]["BranchPagingResponse"]; - }; - }; - }; - }; + /** + * List public gists + * @description List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api), 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. + */ + get: operations["gists/list-public"]; put?: never; post?: never; delete?: never; @@ -1608,252 +961,143 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Branches/{id}": { + "/gists/starred": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Branch"]; - "application/json": components["schemas"]["Branch"]; - "text/json": components["schemas"]["Branch"]; - }; - }; - }; - }; - put: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "multipart/form-data": { - BranchAddress: string; - BranchName: string; - BranchPhone: string; - Description?: string; - BranchPicture?: string; - /** Format: time */ - OpenTime: string; - /** Format: time */ - CloseTime: string; - OpenDay: string; - Status: string; - ExistingImages?: string[]; - }; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * List starred gists + * @description List the authenticated user's starred gists: + */ + get: operations["gists/list-starred"]; + put?: never; post?: never; - delete: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Branches/status": { + "/gists/{gist_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - status?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Branch"][]; - "application/json": components["schemas"]["Branch"][]; - "text/json": components["schemas"]["Branch"][]; - }; - }; - }; - }; + /** + * Get a gist + * @description Gets a specified gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/get"]; put?: never; post?: never; - delete?: never; + /** Delete a gist */ + delete: operations["gists/delete"]; options?: never; head?: never; - patch?: never; + /** + * Update a gist + * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files + * from the previous version of the gist that aren't explicitly changed during an edit + * are unchanged. + * + * At least one of `description` or `files` is required. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + patch: operations["gists/update"]; trace?: never; }; - "/api/Branches/courtId/{courtId}": { + "/gists/{gist_id}/comments": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - courtId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Branch"][]; - "application/json": components["schemas"]["Branch"][]; - "text/json": components["schemas"]["Branch"][]; - }; - }; - }; - }; + /** + * List gist comments + * @description Lists the comments on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/list-comments"]; put?: never; - post?: never; + /** + * Create a gist comment + * @description Creates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + post: operations["gists/create-comment"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Branches/lastBranch/{userId}": { + "/gists/{gist_id}/comments/{comment_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - userId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Branch"]; - "application/json": components["schemas"]["Branch"]; - "text/json": components["schemas"]["Branch"]; - }; - }; - }; - }; + /** + * Get a gist comment + * @description Gets a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/get-comment"]; put?: never; post?: never; - delete?: never; + /** Delete a gist comment */ + delete: operations["gists/delete-comment"]; options?: never; head?: never; - patch?: never; + /** + * Update a gist comment + * @description Updates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + patch: operations["gists/update-comment"]; trace?: never; }; - "/api/Branches/sortBranch/{sortBy}": { + "/gists/{gist_id}/commits": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - isAsc?: boolean; - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path: { - sortBy: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Branch"][]; - "application/json": components["schemas"]["Branch"][]; - "text/json": components["schemas"]["Branch"][]; - }; - }; - }; - }; + /** List gist commits */ + get: operations["gists/list-commits"]; put?: never; post?: never; delete?: never; @@ -1862,128 +1106,63 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Branches/sortBranchByDistance": { + "/gists/{gist_id}/forks": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - Latitude?: number; - Longitude?: number; - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["BranchDistancePagingResponse"]; - "application/json": components["schemas"]["BranchDistancePagingResponse"]; - "text/json": components["schemas"]["BranchDistancePagingResponse"]; - }; - }; - }; - }; + /** List gist forks */ + get: operations["gists/list-forks"]; put?: never; - post?: never; + /** Fork a gist */ + post: operations["gists/fork"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Branches/GetBranchByPrice/{minPrice}&&{maxPrice}": { + "/gists/{gist_id}/star": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - minPrice?: number; - maxPrice?: number; - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path: { - minPrice: string; - maxPrice: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["BranchPagingResponse"]; - "application/json": components["schemas"]["BranchPagingResponse"]; - "text/json": components["schemas"]["BranchPagingResponse"]; - }; - }; - }; - }; - put?: never; + /** Check if a gist is starred */ + get: operations["gists/check-is-starred"]; + /** + * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["gists/star"]; post?: never; - delete?: never; + /** Unstar a gist */ + delete: operations["gists/unstar"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Branches/GetBranchByRating/{rating}": { + "/gists/{gist_id}/{sha}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - rating?: number; - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path: { - rating: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["BranchPagingResponse"]; - "application/json": components["schemas"]["BranchPagingResponse"]; - "text/json": components["schemas"]["BranchPagingResponse"]; - }; - }; - }; - }; + /** + * Get a gist revision + * @description Gets a specified gist revision. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/get-revision"]; put?: never; post?: never; delete?: never; @@ -1992,188 +1171,62 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Courts": { + "/gitignore/templates": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - pageNumber?: number; - pageSize?: number; - searchQuery?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["CourtPagingResponse"]; - "application/json": components["schemas"]["CourtPagingResponse"]; - "text/json": components["schemas"]["CourtPagingResponse"]; - }; - }; - }; - }; + /** + * Get all gitignore templates + * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). + */ + get: operations["gitignore/get-all-templates"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["CourtModel"]; - "text/json": components["schemas"]["CourtModel"]; - "application/*+json": components["schemas"]["CourtModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Court"]; - "application/json": components["schemas"]["Court"]; - "text/json": components["schemas"]["Court"]; - }; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Courts/{id}": { + "/gitignore/templates/{name}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Court"]; - "application/json": components["schemas"]["Court"]; - "text/json": components["schemas"]["Court"]; - }; - }; - }; - }; - put: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["CourtModel"]; - "text/json": components["schemas"]["CourtModel"]; - "application/*+json": components["schemas"]["CourtModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Get a gitignore template + * @description Get the content of a gitignore template. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw .gitignore contents. + */ + get: operations["gitignore/get-template"]; + put?: never; post?: never; - delete: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Courts/{status}": { + "/installation/repositories": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - status: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Court"][]; - "application/json": components["schemas"]["Court"][]; - "text/json": components["schemas"]["Court"][]; - }; - }; - }; - }; + /** + * List repositories accessible to the app installation + * @description List repositories that an app installation can access. + */ + get: operations["apps/list-repos-accessible-to-installation"]; put?: never; post?: never; delete?: never; @@ -2182,80 +1235,52 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Courts/{sortBy}": { + "/installation/token": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - isAsc?: boolean; - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path: { - sortBy: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Court"][]; - "application/json": components["schemas"]["Court"][]; - "text/json": components["schemas"]["Court"][]; - }; - }; - }; - }; + get?: never; put?: never; post?: never; - delete?: never; + /** + * Revoke an installation access token + * @description 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/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. + */ + delete: operations["apps/revoke-installation-access-token"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/numberOfCourt/{branchId}": { + "/issues": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - branchId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": number; - "application/json": number; - "text/json": number; - }; - }; - }; - }; + /** + * List issues assigned to the authenticated user + * @description 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 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/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list"]; put?: never; post?: never; delete?: never; @@ -2264,83 +1289,38 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Courts/AvailableCourts": { + "/licenses": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * Get all commonly used licenses + * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: operations["licenses/get-all-commonly-used"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SlotModel"]; - "text/json": components["schemas"]["SlotModel"]; - "application/*+json": components["schemas"]["SlotModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Court"][]; - "application/json": components["schemas"]["Court"][]; - "text/json": components["schemas"]["Court"][]; - }; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Courts/GetCourtsByBranchId": { + "/licenses/{license}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - branchId?: string; - pageNumber?: number; - pageSize?: number; - searchQuery?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["CourtPagingResponse"]; - "application/json": components["schemas"]["CourtPagingResponse"]; - "text/json": components["schemas"]["CourtPagingResponse"]; - }; - }; - }; - }; + /** + * Get a license + * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: operations["licenses/get"]; put?: never; post?: never; delete?: never; @@ -2349,7 +1329,7 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Location": { + "/markdown": { parameters: { query?: never; header?: never; @@ -2358,37 +1338,18 @@ export interface paths { }; get?: never; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["LocationModel"]; - "text/json": components["schemas"]["LocationModel"]; - "application/*+json": components["schemas"]["LocationModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Render a Markdown document + * @description Depending on what is rendered in the Markdown, you may need to provide additional token scopes for labels, such as `issues:read` or `pull_requests:read`. + */ + post: operations["markdown/render"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Location/get-geolocation": { + "/markdown/raw": { parameters: { query?: never; header?: never; @@ -2397,227 +1358,97 @@ export interface paths { }; get?: never; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": string; - "text/json": string; - "application/*+json": string; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * 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. + */ + post: operations["markdown/render-raw"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Location/pathdistance": { + "/marketplace_listing/accounts/{account_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * 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. + * + * 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["LocationModel"]; - "text/json": components["schemas"]["LocationModel"]; - "application/*+json": components["schemas"]["LocationModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/mail/send": { + "/marketplace_listing/plans": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * List plans + * @description 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "multipart/form-data": { - ToEmail?: string; - Subject?: string; - Body?: string; - Attachments?: string[]; - }; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/News": { + "/marketplace_listing/plans/{plan_id}/accounts": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - pageNumber?: number; - pageSize?: number; - searchQuery?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["NewsPagingResponse"]; - "application/json": components["schemas"]["NewsPagingResponse"]; - "text/json": components["schemas"]["NewsPagingResponse"]; - }; - }; - }; - }; + /** + * 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. + * + * 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan"]; put?: never; - post: { - parameters: { - query: { - Title: string; - Content: string; - Image?: string; - Status: string; - IsHomepageSlideshow: boolean; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "multipart/form-data": { - /** Format: binary */ - NewsImage?: string; - }; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["News"]; - "application/json": components["schemas"]["News"]; - "text/json": components["schemas"]["News"]; - }; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/News/NewsPage": { + "/marketplace_listing/stubbed/accounts/{account_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - pageNumber?: number; - pageSize?: number; - IsHomepageSlideshow?: boolean; - status?: string; - searchQuery?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["NewsPagingResponse"]; - "application/json": components["schemas"]["NewsPagingResponse"]; - "text/json": components["schemas"]["NewsPagingResponse"]; - }; - }; - }; - }; + /** + * 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. + * + * 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account-stubbed"]; put?: never; post?: never; delete?: never; @@ -2626,35 +1457,20 @@ export interface paths { patch?: never; trace?: never; }; - "/api/News/SlideShowImage": { + "/marketplace_listing/stubbed/plans": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["News"][]; - "application/json": components["schemas"]["News"][]; - "text/json": components["schemas"]["News"][]; - }; - }; - }; - }; + /** + * List plans (stubbed) + * @description 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans-stubbed"]; put?: never; post?: never; delete?: never; @@ -2663,104 +1479,48 @@ export interface paths { patch?: never; trace?: never; }; - "/api/News/{id}": { + "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["News"]; - "application/json": components["schemas"]["News"]; - "text/json": components["schemas"]["News"]; - }; - }; - }; - }; + /** + * 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. + * + * 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/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan-stubbed"]; put?: never; post?: never; - delete: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/News/EditNews": { + "/meta": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - put: { - parameters: { - query: { - id?: string; - Title: string; - Content: string; - Image?: string; - Status: string; - IsHomepageSlideshow: boolean; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "multipart/form-data": { - /** Format: binary */ - NewsImage?: string; - }; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * 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://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * The API's response also includes a list of GitHub's domain names. + * + * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. + * + * > [!NOTE] + * > This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. + */ + get: operations["meta/get"]; + put?: never; post?: never; delete?: never; options?: never; @@ -2768,103 +1528,44 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Payments": { + "/networks/{owner}/{repo}/events": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Payment"][]; - "application/json": components["schemas"]["Payment"][]; - "text/json": components["schemas"]["Payment"][]; - }; - }; - }; - }; + /** + * List public events for a network of repositories + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-events-for-repo-network"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["Payment"]; - "text/json": components["schemas"]["Payment"]; - "application/*+json": components["schemas"]["Payment"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Payment"]; - "application/json": components["schemas"]["Payment"]; - "text/json": components["schemas"]["Payment"]; - }; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Payments/GetPayments": { + "/notifications": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["PaymentPagingResponse"]; - "application/json": components["schemas"]["PaymentPagingResponse"]; - "text/json": components["schemas"]["PaymentPagingResponse"]; - }; - }; - }; - }; - put?: never; + /** + * List notifications for the authenticated user + * @description List all notifications for the current user, sorted by most recently updated. + */ + get: operations["activity/list-notifications-for-authenticated-user"]; + /** + * Mark notifications as read + * @description Marks all notifications as "read" for the current user. 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/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + put: operations["activity/mark-notifications-as-read"]; post?: never; delete?: never; options?: never; @@ -2872,178 +1573,103 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Payments/GetPaymentsByDate": { + "/notifications/threads/{thread_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - day?: number; - month?: number; - year?: number; - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["PaymentPagingResponse"]; - "application/json": components["schemas"]["PaymentPagingResponse"]; - "text/json": components["schemas"]["PaymentPagingResponse"]; - }; - }; - }; - }; + /** + * Get a thread + * @description Gets information about a notification thread. + */ + get: operations["activity/get-thread"]; put?: never; post?: never; - delete?: never; + /** + * Mark a thread as done + * @description Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications. + */ + delete: operations["activity/mark-thread-as-done"]; options?: never; head?: never; - patch?: never; + /** + * Mark a thread as read + * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. + */ + patch: operations["activity/mark-thread-as-read"]; trace?: never; }; - "/api/Payments/bookingid/{bookingId}": { + "/notifications/threads/{thread_id}/subscription": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - bookingId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Payment"]; - "application/json": components["schemas"]["Payment"]; - "text/json": components["schemas"]["Payment"]; - }; - }; - }; - }; - put?: never; + /** + * 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/activity/watching#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. + */ + get: operations["activity/get-thread-subscription-for-authenticated-user"]; + /** + * 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**. + * + * 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/activity/notifications#delete-a-thread-subscription) endpoint. + */ + put: operations["activity/set-thread-subscription"]; post?: never; - delete?: never; + /** + * 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/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + delete: operations["activity/delete-thread-subscription"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Payments/{id}": { + "/octocat": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Payment"]; - "application/json": components["schemas"]["Payment"]; - "text/json": components["schemas"]["Payment"]; - }; - }; - }; - }; + /** + * Get Octocat + * @description Get the octocat as ASCII art + */ + get: operations["meta/get-octocat"]; put?: never; post?: never; - delete: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Payments/SearchByDate": { + "/organizations": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - start?: string; - end?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Payment"][]; - "application/json": components["schemas"]["Payment"][]; - "text/json": components["schemas"]["Payment"][]; - }; - }; - }; - }; + /** + * List organizations + * @description Lists all organizations, 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/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. + */ + get: operations["orgs/list"]; put?: never; post?: never; delete?: never; @@ -3052,42 +1678,46 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Payments/GeneratePaymentToken/{bookingId}": { + "/organizations/{org}/dependabot/repository-access": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - bookingId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Lists the repositories Dependabot can access in an organization + * @description Lists repositories that organization admins have allowed Dependabot to access when updating dependencies. + * > [!NOTE] + * > This operation supports both server-to-server and user-to-server access. + * Unauthorized users will not see the existence of this endpoint. + */ + get: operations["dependabot/repository-access-for-org"]; put?: never; post?: never; delete?: never; options?: never; head?: never; - patch?: never; + /** + * Updates Dependabot's repository access list for an organization + * @description Updates repositories according to the list of repositories that organization admins have given Dependabot access to when they've updated dependencies. + * + * > [!NOTE] + * > This operation supports both server-to-server and user-to-server access. + * Unauthorized users will not see the existence of this endpoint. + * + * **Example request body:** + * ```json + * { + * "repository_ids_to_add": [123, 456], + * "repository_ids_to_remove": [789] + * } + * ``` + */ + patch: operations["dependabot/update-repository-access-for-org"]; trace?: never; }; - "/api/Payments/ProcessPayment": { + "/organizations/{org}/dependabot/repository-access/default-level": { parameters: { query?: never; header?: never; @@ -3095,141 +1725,113 @@ export interface paths { cookie?: never; }; get?: never; - put?: never; - post: { - parameters: { - query?: { - role?: string; - token?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Set the default repository access level for Dependabot + * @description Sets the default level of repository access Dependabot will have while performing an update. Available values are: + * - 'public' - Dependabot will only have access to public repositories, unless access is explicitly granted to non-public repositories. + * - 'internal' - Dependabot will only have access to public and internal repositories, unless access is explicitly granted to private repositories. + * + * Unauthorized users will not see the existence of this endpoint. + * + * This operation supports both server-to-server and user-to-server access. + */ + put: operations["dependabot/set-repository-access-default-level"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Payments/ProcessPaymentByBalance": { + "/organizations/{org}/settings/billing/usage": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * Get billing usage report for an organization + * @description Gets a report of the total usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account. + * + * **Note:** This endpoint is only available to organizations with access to the enhanced billing platform. For more information, see "[About the enhanced billing platform](https://docs.github.com/billing/using-the-new-billing-platform)." + */ + get: operations["billing/get-github-billing-usage-report-org"]; put?: never; - post: { - parameters: { - query?: { - token?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Payments/SortPayment/{sortBy}": { + "/orgs/{org}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - isAsc?: boolean; - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path: { - sortBy: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Payment"][]; - "application/json": components["schemas"]["Payment"][]; - "text/json": components["schemas"]["Payment"][]; - }; - }; - }; - }; + /** + * Get an organization + * @description Gets information about an organization. + * + * When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, outside collaborators, guest collaborators, repository collaborators, or everyone with access to any repository within the organization to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * To see the full details about an organization, the authenticated user must be an organization owner. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. + * + * To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. + */ + get: operations["orgs/get"]; put?: never; post?: never; - delete?: never; + /** + * Delete an organization + * @description Deletes an organization and all its repositories. + * + * The organization login will be unavailable for 90 days after deletion. + * + * Please review the Terms of Service regarding account deletion before using this endpoint: + * + * https://docs.github.com/site-policy/github-terms/github-terms-of-service + */ + delete: operations["orgs/delete"]; options?: never; head?: never; - patch?: never; + /** + * Update an organization + * @description > [!WARNING] + * > **Closing down 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). + * + * > [!WARNING] + * > **Closing down notice:** Code security product enablement for new repositories through the organization API is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization) to set defaults instead. For more information on setting a default security configuration, see the [changelog](https://github.blog/changelog/2024-07-09-sunsetting-security-settings-defaults-parameters-in-the-organizations-rest-api/). + * + * Updates the organization's profile and member privileges. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` or `repo` scope to use this endpoint. + */ + patch: operations["orgs/update"]; trace?: never; }; - "/api/Payments/GetDailyRevenue": { + "/orgs/{org}/actions/cache/usage": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": number; - "application/json": number; - "text/json": number; - }; - }; - }; - }; + /** + * Get GitHub Actions cache usage for an organization + * @description 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. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-for-org"]; put?: never; post?: never; delete?: never; @@ -3238,38 +1840,21 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Payments/GetRevenueByDate": { + "/orgs/{org}/actions/cache/usage-by-repository": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - start?: string; - end?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": number; - "application/json": number; - "text/json": number; - }; - }; - }; - }; + /** + * List repositories with GitHub Actions cache usage for an organization + * @description 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. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; put?: never; post?: never; delete?: never; @@ -3278,75 +1863,45 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Prices/branchId/{branchId}/type/{type}": { + "/orgs/{org}/actions/hosted-runners": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - isWeekend?: boolean; - }; - header?: never; - path: { - branchId: string; - type: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * List GitHub-hosted runners for an organization + * @description Lists all GitHub-hosted runners configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_runner:org` scope to use this endpoint. + */ + get: operations["actions/list-hosted-runners-for-org"]; put?: never; - post?: never; + /** + * Create a GitHub-hosted runner for an organization + * @description Creates a GitHub-hosted runner for an organization. + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + post: operations["actions/create-hosted-runner-for-org"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Prices/branchId/{branchId}": { + "/orgs/{org}/actions/hosted-runners/images/github-owned": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - branchId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Price"][]; - "application/json": components["schemas"]["Price"][]; - "text/json": components["schemas"]["Price"][]; - }; - }; - }; - }; + /** + * Get GitHub-owned images for GitHub-hosted runners in an organization + * @description Get the list of GitHub-owned images available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-github-owned-images-for-org"]; put?: never; post?: never; delete?: never; @@ -3355,139 +1910,59 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Prices/{id}": { + "/orgs/{org}/actions/hosted-runners/images/partner": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Price"]; - "application/json": components["schemas"]["Price"]; - "text/json": components["schemas"]["Price"]; - }; - }; - }; - }; + /** + * Get partner images for GitHub-hosted runners in an organization + * @description Get the list of partner images available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-partner-images-for-org"]; put?: never; post?: never; - delete: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Prices/PostPrice": { + "/orgs/{org}/actions/hosted-runners/limits": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * Get limits on GitHub-hosted runners for an organization + * @description Get the GitHub-hosted runners limits for an organization. + */ + get: operations["actions/get-hosted-runners-limits-for-org"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PriceModel"]; - "text/json": components["schemas"]["PriceModel"]; - "application/*+json": components["schemas"]["PriceModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Price"]; - "application/json": components["schemas"]["Price"]; - "text/json": components["schemas"]["Price"]; - }; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Prices/UpdatePrice": { + "/orgs/{org}/actions/hosted-runners/machine-sizes": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - put: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PriceModel"]; - "text/json": components["schemas"]["PriceModel"]; - "application/*+json": components["schemas"]["PriceModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Get GitHub-hosted runners machine specs for an organization + * @description Get the list of machine specs available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-machine-specs-for-org"]; + put?: never; post?: never; delete?: never; options?: never; @@ -3495,268 +1970,135 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Prices/showprice": { + "/orgs/{org}/actions/hosted-runners/platforms": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * Get platforms for GitHub-hosted runners in an organization + * @description Get the list of platforms available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-platforms-for-org"]; put?: never; - post: { - parameters: { - query?: { - isVip?: boolean; - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Prices/sortPrice/{sortBy}": { + "/orgs/{org}/actions/hosted-runners/{hosted_runner_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - isAsc?: boolean; - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path: { - sortBy: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Price"][]; - "application/json": components["schemas"]["Price"][]; - "text/json": components["schemas"]["Price"][]; - }; - }; - }; - }; + /** + * Get a GitHub-hosted runner for an organization + * @description Gets a GitHub-hosted runner configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + get: operations["actions/get-hosted-runner-for-org"]; put?: never; post?: never; - delete?: never; + /** + * Delete a GitHub-hosted runner for an organization + * @description Deletes a GitHub-hosted runner for an organization. + */ + delete: operations["actions/delete-hosted-runner-for-org"]; options?: never; head?: never; - patch?: never; + /** + * Update a GitHub-hosted runner for an organization + * @description Updates a GitHub-hosted runner for an organization. + * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + patch: operations["actions/update-hosted-runner-for-org"]; trace?: never; }; - "/api/Reviews": { + "/orgs/{org}/actions/oidc/customization/sub": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - pageNumber?: number; - pageSize?: number; - searchQuery?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["ReviewPagingResponse"]; - "application/json": components["schemas"]["ReviewPagingResponse"]; - "text/json": components["schemas"]["ReviewPagingResponse"]; - }; - }; - }; - }; - put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ReviewModel"]; - "text/json": components["schemas"]["ReviewModel"]; - "application/*+json": components["schemas"]["ReviewModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Review"]; - "application/json": components["schemas"]["Review"]; - "text/json": components["schemas"]["Review"]; - }; - }; - }; - }; + /** + * Get the customization template for an OIDC subject claim for an organization + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["oidc/get-oidc-custom-sub-template-for-org"]; + /** + * Set the customization template for an OIDC subject claim for an organization + * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + put: operations["oidc/update-oidc-custom-sub-template-for-org"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Reviews/{id}": { + "/orgs/{org}/actions/permissions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Review"]; - "application/json": components["schemas"]["Review"]; - "text/json": components["schemas"]["Review"]; - }; - }; - }; - }; - put: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ReviewModel"]; - "text/json": components["schemas"]["ReviewModel"]; - "application/*+json": components["schemas"]["ReviewModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Get GitHub Actions permissions for an organization + * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-permissions-organization"]; + /** + * Set GitHub Actions permissions for an organization + * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-permissions-organization"]; post?: never; - delete: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Reviews/GetReviewsByBranch/{id}": { + "/orgs/{org}/actions/permissions/repositories": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Review"][]; - "application/json": components["schemas"]["Review"][]; - "text/json": components["schemas"]["Review"][]; - }; - }; - }; - }; - put?: never; + /** + * 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; + /** + * 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)." + * + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; post?: never; delete?: never; options?: never; @@ -3764,78 +2106,55 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Reviews/SearchByUser/{id}": { + "/orgs/{org}/actions/permissions/repositories/{repository_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Review"][]; - "application/json": components["schemas"]["Review"][]; - "text/json": components["schemas"]["Review"][]; - }; - }; - }; - }; - put?: never; + get?: never; + /** + * 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/enable-selected-repository-github-actions-organization"]; post?: never; - delete?: never; + /** + * 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/disable-selected-repository-github-actions-organization"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Reviews/SearchByDate/{start}/{end}": { + "/orgs/{org}/actions/permissions/selected-actions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - start: string; - end: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Review"][]; - "application/json": components["schemas"]["Review"][]; - "text/json": components["schemas"]["Review"][]; - }; - }; - }; - }; - put?: never; + /** + * Get allowed actions and reusable workflows for an organization + * @description 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-allowed-actions-organization"]; + /** + * Set allowed actions and reusable workflows for an organization + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-allowed-actions-organization"]; post?: never; delete?: never; options?: never; @@ -3843,38 +2162,31 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Reviews/SearchByRating/{rating}": { + "/orgs/{org}/actions/permissions/workflow": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - rating: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Review"][]; - "application/json": components["schemas"]["Review"][]; - "text/json": components["schemas"]["Review"][]; - }; - }; - }; - }; - put?: never; + /** + * Get default workflow permissions for an organization + * @description 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; + /** + * Set default workflow permissions for an organization + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; post?: never; delete?: never; options?: never; @@ -3882,119 +2194,82 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Reviews/SortReview/{sortBy}": { + "/orgs/{org}/actions/runner-groups": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - isAsc?: boolean; - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path: { - sortBy: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["Review"][]; - "application/json": components["schemas"]["Review"][]; - "text/json": components["schemas"]["Review"][]; - }; - }; - }; - }; + /** + * List self-hosted runner groups for an organization + * @description Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runner-groups-for-org"]; put?: never; - post?: never; + /** + * Create a self-hosted runner group for an organization + * @description Creates a new self-hosted runner group for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["actions/create-self-hosted-runner-group-for-org"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Reviews/GetRatingPercentageOfABranch/{branchId}": { + "/orgs/{org}/actions/runner-groups/{runner_group_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - branchId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": number[]; - "application/json": number[]; - "text/json": number[]; - }; - }; - }; - }; + /** + * Get a self-hosted runner group for an organization + * @description Gets a specific self-hosted runner group for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-group-for-org"]; put?: never; post?: never; - delete?: never; + /** + * Delete a self-hosted runner group from an organization + * @description Deletes a self-hosted runner group for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-group-from-org"]; options?: never; head?: never; - patch?: never; + /** + * Update a self-hosted runner group for an organization + * @description Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + patch: operations["actions/update-self-hosted-runner-group-for-org"]; trace?: never; }; - "/api/Reviews/AverageRating/{branchId}": { + "/orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - branchId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": number; - "application/json": number; - "text/json": number; - }; - }; - }; - }; + /** + * List GitHub-hosted runners in a group for an organization + * @description Lists the GitHub-hosted runners in an organization group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-github-hosted-runners-in-group-for-org"]; put?: never; post?: never; delete?: never; @@ -4003,36 +2278,27 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Roles": { + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["IdentityRole"][]; - "application/json": components["schemas"]["IdentityRole"][]; - "text/json": components["schemas"]["IdentityRole"][]; - }; - }; - }; - }; - put?: never; + /** + * List repository access to a self-hosted runner group in an organization + * @description Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-repo-access-to-self-hosted-runner-group-in-org"]; + /** + * Set repository access for a self-hosted runner group in an organization + * @description Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-repo-access-to-self-hosted-runner-group-in-org"]; post?: never; delete?: never; options?: never; @@ -4040,77 +2306,55 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Roles/roleId/{id}": { + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["IdentityRole"]; - "application/json": components["schemas"]["IdentityRole"]; - "text/json": components["schemas"]["IdentityRole"]; - }; - }; - }; - }; - put?: never; + get?: never; + /** + * Add repository access to a self-hosted runner group in an organization + * @description Adds a repository to the list of 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)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/add-repo-access-to-self-hosted-runner-group-in-org"]; post?: never; - delete?: never; + /** + * Remove repository access to a self-hosted runner group in an organization + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-repo-access-to-self-hosted-runner-group-in-org"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Roles/userId/{userId}": { + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - userId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": string[]; - "application/json": string[]; - "text/json": string[]; - }; - }; - }; - }; - put?: never; + /** + * List self-hosted runners in a group for an organization + * @description Lists self-hosted runners that are in a specific organization group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-in-group-for-org"]; + /** + * Set self-hosted runners in a group for an organization + * @description Replaces the list of self-hosted runners that are part of an organization runner group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-self-hosted-runners-in-group-for-org"]; post?: never; delete?: never; options?: never; @@ -4118,7 +2362,7 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Roles/{id}": { + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { parameters: { query?: never; header?: never; @@ -4126,136 +2370,66 @@ export interface paths { cookie?: never; }; get?: never; - put: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": string; - "text/json": string; - "application/*+json": string; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Add a self-hosted runner to a group for an organization + * @description Adds a self-hosted runner to a runner group configured in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/add-self-hosted-runner-to-group-for-org"]; post?: never; - delete?: never; + /** + * Remove a self-hosted runner from a group for an organization + * @description Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-self-hosted-runner-from-group-for-org"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots": { + "/orgs/{org}/actions/runners": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["TimeSlot"][]; - "application/json": components["schemas"]["TimeSlot"][]; - "text/json": components["schemas"]["TimeSlot"][]; - }; - }; - }; - }; + /** + * List self-hosted runners for an organization + * @description Lists all self-hosted runners configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-self-hosted-runners-for-org"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TimeSlot"]; - "text/json": components["schemas"]["TimeSlot"]; - "application/*+json": components["schemas"]["TimeSlot"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["TimeSlot"]; - "application/json": components["schemas"]["TimeSlot"]; - "text/json": components["schemas"]["TimeSlot"]; - }; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots/page": { + "/orgs/{org}/actions/runners/downloads": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - pageNumber?: number; - pageSize?: number; - searchQuery?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["TimeSlot"][]; - "application/json": components["schemas"]["TimeSlot"][]; - "text/json": components["schemas"]["TimeSlot"][]; - }; - }; - }; - }; + /** + * List runner applications for an organization + * @description Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-runner-applications-for-org"]; put?: never; post?: never; delete?: never; @@ -4264,316 +2438,217 @@ export interface paths { patch?: never; trace?: never; }; - "/api/TimeSlots/GetTimeSlotsByCourtId": { + "/orgs/{org}/actions/runners/generate-jitconfig": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - courtId?: string; - pageNumber?: number; - pageSize?: number; - searchQuery?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["TimeSlot"][]; - "application/json": components["schemas"]["TimeSlot"][]; - "text/json": components["schemas"]["TimeSlot"][]; - }; - }; - }; - }; + get?: never; put?: never; - post?: never; + /** + * Create configuration for a just-in-time runner for an organization + * @description Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the organization. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/generate-runner-jitconfig-for-org"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots/{id}": { + "/orgs/{org}/actions/runners/registration-token": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["TimeSlot"]; - "application/json": components["schemas"]["TimeSlot"]; - "text/json": components["schemas"]["TimeSlot"]; - }; - }; - }; - }; - put: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SlotModel"]; - "text/json": components["schemas"]["SlotModel"]; - "application/*+json": components["schemas"]["SlotModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - post?: never; + get?: never; + put?: never; + /** + * 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. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-registration-token-for-org"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots/bookingId/{bookingId}": { + "/orgs/{org}/actions/runners/remove-token": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - bookingId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["TimeSlot"][]; - "application/json": components["schemas"]["TimeSlot"][]; - "text/json": components["schemas"]["TimeSlot"][]; - }; - }; - }; - }; + get?: never; put?: never; - post?: never; + /** + * 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. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-remove-token-for-org"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots/isBooked": { + "/orgs/{org}/actions/runners/{runner_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * Get a self-hosted runner for an organization + * @description Gets a specific self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/get-self-hosted-runner-for-org"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SlotModel"]; - "text/json": components["schemas"]["SlotModel"]; - "application/*+json": components["schemas"]["SlotModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": boolean; - "application/json": boolean; - "text/json": boolean; - }; - }; - }; - }; - delete?: never; + post?: never; + /** + * 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-org"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots/changeSlot/{slotId}": { + "/orgs/{org}/actions/runners/{runner_id}/labels": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - put: { - parameters: { - query?: never; - header?: never; - path: { - slotId: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SlotModel"]; - "text/json": components["schemas"]["SlotModel"]; - "application/*+json": components["schemas"]["SlotModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["TimeSlot"]; - "application/json": components["schemas"]["TimeSlot"]; - "text/json": components["schemas"]["TimeSlot"]; - }; - }; - }; - }; - post?: never; - delete?: never; + /** + * List labels for a self-hosted runner for an organization + * @description Lists all labels for a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; + /** + * Set custom labels for a self-hosted runner for an organization + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; + /** + * Add custom labels to a self-hosted runner for an organization + * @description Adds custom labels to a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need 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 for an organization + * @description Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots/userId/{userId}": { + "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path: { - userId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["TimeSlot"][]; - "application/json": components["schemas"]["TimeSlot"][]; - "text/json": components["schemas"]["TimeSlot"][]; - }; - }; - }; - }; + get?: never; put?: never; post?: never; - delete?: never; + /** + * Remove a custom label from a self-hosted runner for an organization + * @description 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. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots/sortSlot/{sortBy}": { + "/orgs/{org}/actions/secrets": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - isAsc?: boolean; - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path: { - sortBy: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["TimeSlot"][]; - "application/json": components["schemas"]["TimeSlot"][]; - "text/json": components["schemas"]["TimeSlot"][]; - }; - }; - }; - }; + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-org-secrets"]; put?: never; post?: never; delete?: never; @@ -4582,85 +2657,108 @@ export interface paths { patch?: never; trace?: never; }; - "/api/TimeSlots/checkin/qr": { + "/orgs/{org}/actions/secrets/public-key": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * 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. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-public-key"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["QRCheckInModel"]; - "text/json": components["schemas"]["QRCheckInModel"]; - "application/*+json": components["schemas"]["QRCheckInModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots/lock": { + "/orgs/{org}/actions/secrets/{secret_name}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SlotModel"]; - "text/json": components["schemas"]["SlotModel"]; - "application/*+json": components["schemas"]["SlotModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/create-or-update-org-secret"]; + post?: never; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-org-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; + /** + * 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`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-selected-repos-for-org-secret"]; + /** + * 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/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-selected-repos-for-org-secret"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots/release": { + "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { parameters: { query?: never; header?: never; @@ -4668,117 +2766,142 @@ export interface paths { cookie?: never; }; get?: never; - put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SlotModel"]; - "text/json": components["schemas"]["SlotModel"]; - "application/*+json": components["schemas"]["SlotModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - delete?: never; + /** + * 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`. For more information about setting the visibility, see [Create or + * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/add-selected-repo-to-org-secret"]; + post?: never; + /** + * 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/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-selected-repo-from-org-secret"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots/confirm": { + "/orgs/{org}/actions/variables": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; + /** + * List organization variables + * @description Lists all organization variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-org-variables"]; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SlotCheckModel"]; - "text/json": components["schemas"]["SlotCheckModel"]; - "application/*+json": components["schemas"]["SlotCheckModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Create an organization variable + * @description Creates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-org-variable"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots/unavailable_slot": { + "/orgs/{org}/actions/variables/{name}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - date?: string; - branchId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["TimeSlotModel"][]; - "application/json": components["schemas"]["TimeSlotModel"][]; - "text/json": components["schemas"]["TimeSlotModel"][]; - }; - }; - }; - }; + /** + * Get an organization variable + * @description Gets a specific variable in an organization. + * + * The authenticated user must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-variable"]; put?: never; post?: never; + /** + * Delete an organization variable + * @description Deletes an organization variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-org-variable"]; + options?: never; + head?: never; + /** + * Update an organization variable + * @description Updates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + patch: operations["actions/update-org-variable"]; + trace?: never; + }; + "/orgs/{org}/actions/variables/{name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories for an organization variable + * @description Lists all repositories that can access an organization variable + * that is available to selected repositories. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-selected-repos-for-org-variable"]; + /** + * Set selected repositories for an organization variable + * @description Replaces all repositories for an organization variable that is available + * to selected repositories. Organization variables that are available to selected + * repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-selected-repos-for-org-variable"]; + post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/TimeSlots/add_timeslot_if_exist_booking": { + "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": { parameters: { query?: never; header?: never; @@ -4786,44 +2909,34 @@ export interface paths { cookie?: never; }; get?: never; - put?: never; - post: { - parameters: { - query?: { - bookingId?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SlotModel"][]; - "text/json": components["schemas"]["SlotModel"][]; - "application/*+json": components["schemas"]["SlotModel"][]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["TimeSlot"][]; - "application/json": components["schemas"]["TimeSlot"][]; - "text/json": components["schemas"]["TimeSlot"][]; - }; - }; - }; - }; - delete?: never; + /** + * Add selected repository to an organization variable + * @description Adds a repository to an organization variable that is available to selected repositories. + * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/add-selected-repo-to-org-variable"]; + post?: never; + /** + * Remove selected repository from an organization variable + * @description Removes a repository from an organization variable that is + * available to selected repositories. Organization variables that are available to + * selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-selected-repo-from-org-variable"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Training/train-model": { + "/orgs/{org}/attestations/bulk-list": { parameters: { query?: never; header?: never; @@ -4832,202 +2945,98 @@ export interface paths { }; get?: never; put?: never; - post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * List attestations by bulk subject digests + * @description List a collection of artifact attestations associated with any entry in a list of subject digests owned by an organization. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + post: operations["orgs/list-attestations-bulk"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Training/weekly-growth": { + "/orgs/{org}/attestations/delete-request": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["SingleSingleValueTuple"]; - "application/json": components["schemas"]["SingleSingleValueTuple"]; - "text/json": components["schemas"]["SingleSingleValueTuple"]; - }; - }; - }; - }; + get?: never; put?: never; - post?: never; + /** + * Delete attestations in bulk + * @description Delete artifact attestations in bulk by either subject digests or unique ID. + */ + post: operations["orgs/delete-attestations-bulk"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/UserDetails": { + "/orgs/{org}/attestations/digest/{subject_digest}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["UserDetail"][]; - "application/json": components["schemas"]["UserDetail"][]; - "text/json": components["schemas"]["UserDetail"][]; - }; - }; - }; - }; + get?: never; put?: never; post?: never; - delete?: never; + /** + * Delete attestations by subject digest + * @description Delete an artifact attestation by subject digest. + */ + delete: operations["orgs/delete-attestations-by-subject-digest"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/UserDetails/{id}": { + "/orgs/{org}/attestations/{attestation_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["UserDetail"]; - "application/json": components["schemas"]["UserDetail"]; - "text/json": components["schemas"]["UserDetail"]; - }; - }; - }; - }; - put: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["UserDetailsModel"]; - "text/json": components["schemas"]["UserDetailsModel"]; - "application/*+json": components["schemas"]["UserDetailsModel"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + get?: never; + put?: never; post?: never; - delete?: never; + /** + * Delete attestations by ID + * @description Delete an artifact attestation by unique ID that is associated with a repository owned by an org. + */ + delete: operations["orgs/delete-attestations-by-id"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/UserDetails/foruser/{id}": { + "/orgs/{org}/attestations/{subject_digest}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - put: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PutUserDetail"]; - "text/json": components["schemas"]["PutUserDetail"]; - "application/*+json": components["schemas"]["PutUserDetail"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by an organization. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["orgs/list-attestations"]; + put?: never; post?: never; delete?: never; options?: never; @@ -5035,37 +3044,18 @@ export interface paths { patch?: never; trace?: never; }; - "/api/UserDetails/GetUserDetailByUserId/{userId}": { + "/orgs/{org}/blocks": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - userId: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["UserDetail"]; - "application/json": components["schemas"]["UserDetail"]; - "text/json": components["schemas"]["UserDetail"]; - }; - }; - }; - }; + /** + * List users blocked by an organization + * @description List the users blocked by an organization. + */ + get: operations["orgs/list-blocked-users"]; put?: never; post?: never; delete?: never; @@ -5074,158 +3064,125 @@ export interface paths { patch?: never; trace?: never; }; - "/api/UserDetails/GetUserDetailByUserEmail/{userEmail}": { + "/orgs/{org}/blocks/{username}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - userEmail: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["UserDetail"][]; - "application/json": components["schemas"]["UserDetail"][]; - "text/json": components["schemas"]["UserDetail"][]; - }; - }; - }; - }; - put?: never; + /** + * Check if a user is blocked by an organization + * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. + */ + get: operations["orgs/check-blocked-user"]; + /** + * Block a user from an organization + * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. + */ + put: operations["orgs/block-user"]; post?: never; - delete?: never; + /** + * Unblock a user from an organization + * @description Unblocks the given user on behalf of the specified organization. + */ + delete: operations["orgs/unblock-user"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/UserDetails/SortUser/{sortBy}": { + "/orgs/{org}/campaigns": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - isAsc?: boolean; - pageNumber?: number; - pageSize?: number; - }; - header?: never; - path: { - sortBy: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["UserDetail"][]; - "application/json": components["schemas"]["UserDetail"][]; - "text/json": components["schemas"]["UserDetail"][]; - }; - }; - }; - }; + /** + * List campaigns for an organization + * @description Lists campaigns in an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + get: operations["campaigns/list-org-campaigns"]; put?: never; - post?: never; + /** + * Create a campaign for an organization + * @description Create a campaign for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + * + * Fine-grained tokens must have the "Code scanning alerts" repository permissions (read) on all repositories included + * in the campaign. + */ + post: operations["campaigns/create-campaign"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/UserDetails/CountUser": { + "/orgs/{org}/campaigns/{campaign_number}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": number; - "application/json": number; - "text/json": number; - }; - }; - }; - }; + /** + * Get a campaign for an organization + * @description Gets a campaign for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + get: operations["campaigns/get-campaign-summary"]; put?: never; post?: never; - delete?: never; + /** + * Delete a campaign for an organization + * @description Deletes a campaign in an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + delete: operations["campaigns/delete-campaign"]; options?: never; head?: never; - patch?: never; + /** + * Update a campaign + * @description Updates a campaign in an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + patch: operations["campaigns/update-campaign"]; trace?: never; }; - "/api/Users": { + "/orgs/{org}/code-scanning/alerts": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - pageNumber?: number; - pageSize?: number; - searchQuery?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["IdentityUserPagingResponse"]; - "application/json": components["schemas"]["IdentityUserPagingResponse"]; - "text/json": components["schemas"]["IdentityUserPagingResponse"]; - }; - }; - }; - }; + /** + * List code scanning alerts for an organization + * @description 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)." + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` or `repo`s cope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-alerts-for-org"]; put?: never; post?: never; delete?: never; @@ -5234,73 +3191,55 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Users/{id}": { + "/orgs/{org}/code-security/configurations": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["IdentityUser"]; - "application/json": components["schemas"]["IdentityUser"]; - "text/json": components["schemas"]["IdentityUser"]; - }; - }; - }; - }; + /** + * Get code security configurations for an organization + * @description Lists all code security configurations available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-configurations-for-org"]; put?: never; - post?: never; + /** + * Create a code security configuration + * @description Creates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + post: operations["code-security/create-configuration"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Users/{id}/ban": { + "/orgs/{org}/code-security/configurations/defaults": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - put: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + /** + * Get default code security configurations + * @description Lists the default code security configurations for an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-default-configurations"]; + put?: never; post?: never; delete?: never; options?: never; @@ -5308,7 +3247,7 @@ export interface paths { patch?: never; trace?: never; }; - "/api/Users/{id}/unban": { + "/orgs/{org}/code-security/configurations/detach": { parameters: { query?: never; header?: never; @@ -5316,135 +3255,110 @@ export interface paths { cookie?: never; }; get?: never; - put: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + put?: never; post?: never; - delete?: never; + /** + * Detach configurations from repositories + * @description Detach code security configuration(s) from a set of repositories. + * Repositories will retain their settings but will no longer be associated with the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + delete: operations["code-security/detach-configuration"]; options?: never; head?: never; patch?: never; trace?: never; }; - "/api/Users/GetUserDetailByUserEmail/{userEmail}": { + "/orgs/{org}/code-security/configurations/{configuration_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path: { - userEmail: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "text/plain": components["schemas"]["IdentityUser"][]; - "application/json": components["schemas"]["IdentityUser"][]; - "text/json": components["schemas"]["IdentityUser"][]; - }; - }; - }; - }; + /** + * Get a code security configuration + * @description Gets a code security configuration available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-configuration"]; put?: never; post?: never; - delete?: never; + /** + * Delete a code security configuration + * @description Deletes the desired code security configuration from an organization. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + delete: operations["code-security/delete-configuration"]; options?: never; head?: never; - patch?: never; + /** + * Update a code security configuration + * @description Updates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + patch: operations["code-security/update-configuration"]; trace?: never; }; - "/VNPayAPI": { + "/orgs/{org}/code-security/configurations/{configuration_id}/attach": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: { - amount?: number; - infor?: string; - orderinfor?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + get?: never; put?: never; - post?: never; + /** + * Attach a configuration to repositories + * @description Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + post: operations["code-security/attach-configuration"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/VNpayAPI/paymentconfirm": { + "/orgs/{org}/code-security/configurations/{configuration_id}/defaults": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - put?: never; + get?: never; + /** + * Set a code security configuration as a default for an organization + * @description Sets a code security configuration as a default to be applied to new repositories in your organization. + * + * This configuration will be applied to the matching repository type (all, none, public, private and internal) by default when they are created. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + put: operations["code-security/set-configuration-as-default"]; post?: never; delete?: never; options?: never; @@ -5452,319 +3366,121759 @@ export interface paths { patch?: never; trace?: never; }; -} + "/orgs/{org}/code-security/configurations/{configuration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repositories associated with a code security configuration + * @description Lists the repositories associated with a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-repositories-for-configuration"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces for the organization + * @description Lists the codespaces associated to a specified organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-in-organization"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/access": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Manage access control for organization codespaces + * @deprecated + * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/set-codespaces-access"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/access/selected_users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add users to Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/set-codespaces-access-users"]; + /** + * Remove users from Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will no longer be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-codespaces-access-users"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization secrets + * @description Lists all Codespaces development environment secrets available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-org-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization public key + * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization secret + * @description Gets an organization development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/create-or-update-org-secret"]; + post?: never; + /** + * Delete an organization secret + * @description Deletes an organization development environment secret using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-org-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization development environment 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/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/set-selected-repos-for-org-secret"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization development environment 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/codespaces/organization-secrets#create-or-update-an-organization-secret). + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/add-selected-repo-to-org-secret"]; + post?: never; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization development environment 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/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/remove-selected-repo-from-org-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/copilot/billing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Copilot seat information and settings for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets information about an organization's Copilot subscription, including seat breakdown + * and feature policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-copilot-business-in-your-organization)." + * + * Only organization owners can view details about the organization's Copilot Business or Copilot Enterprise subscription. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/get-copilot-organization-details"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/copilot/billing/seats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List all Copilot seat assignments for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Lists all Copilot seats for which an organization with a Copilot Business or Copilot Enterprise subscription is currently being billed. + * Only organization owners can view assigned seats. + * + * Each seat object contains information about the assigned user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. + * For more information about activity data, see "[Reviewing user activity data for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/list-copilot-seats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/copilot/billing/selected_teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add teams to the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Purchases a GitHub Copilot seat for all users within each specified team. + * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." + * + * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." + * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." + * + * The response contains the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + post: operations["copilot/add-copilot-seats-for-teams"]; + /** + * Remove teams from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Sets seats for all members of each team specified to "pending cancellation". + * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through another team. + * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * The response contains the total number of seats set to "pending cancellation". + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/copilot/billing/selected_users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add users to the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Purchases a GitHub Copilot seat for each user specified. + * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." + * + * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." + * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." + * + * The response contains the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + post: operations["copilot/add-copilot-seats-for-users"]; + /** + * Remove users from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Sets seats for all users specified to "pending cancellation". + * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through team membership. + * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * The response contains the total number of seats set to "pending cancellation". + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/copilot/metrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Copilot metrics for an organization + * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the organization contained **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. + * + * The response contains metrics for up to 28 days prior. Metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization. + * Only organization owners and owners and billing managers of the parent enterprise can view Copilot metrics. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/copilot-metrics-for-organization"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/dependabot/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Dependabot alerts for an organization + * @description Lists Dependabot alerts for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/list-alerts-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/dependabot/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/list-org-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/dependabot/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/get-org-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["dependabot/create-or-update-org-secret"]; + post?: never; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["dependabot/delete-org-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/list-selected-repos-for-org-secret"]; + /** + * 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/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["dependabot/set-selected-repos-for-org-secret"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["dependabot/add-selected-repo-to-org-secret"]; + post?: never; + /** + * 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/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["dependabot/remove-selected-repo-from-org-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/docker/conflicts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get list of conflicting packages during Docker migration for organization + * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-organization"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public organization events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-org-events"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/failed_invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["orgs/list-failed-invitations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization webhooks + * @description List webhooks for an organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/list-webhooks"]; + put?: never; + /** + * Create an organization webhook + * @description Create a hook that posts payloads in JSON format. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or + * edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + post: operations["orgs/create-webhook"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/hooks/{hook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/orgs/webhooks#get-a-webhook-configuration-for-an-organization). + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook"]; + put?: never; + post?: never; + /** + * Delete an organization webhook + * @description Delete a webhook for an organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + delete: operations["orgs/delete-webhook"]; + options?: never; + head?: never; + /** + * 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/orgs/webhooks#update-a-webhook-configuration-for-an-organization)". + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + patch: operations["orgs/update-webhook"]; + trace?: never; + }; + "/orgs/{org}/hooks/{hook_id}/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/orgs/webhooks#get-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook-config-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * 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/orgs/webhooks#update-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + patch: operations["orgs/update-webhook-config-for-org"]; + trace?: never; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deliveries for an organization webhook + * @description Returns a list of webhook deliveries for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/list-webhook-deliveries"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a webhook delivery for an organization webhook + * @description Returns a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook-delivery"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Redeliver a delivery for an organization webhook + * @description Redeliver a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + post: operations["orgs/redeliver-webhook-delivery"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/hooks/{hook_id}/pings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Ping an organization webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) + * to be sent to the hook. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + post: operations["orgs/ping-webhook"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get route stats by actor + * @description Get API request count statistics for an actor broken down by route within a specified time frame. + */ + get: operations["api-insights/get-route-stats-by-actor"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/subject-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get subject stats + * @description Get API request statistics for all subjects within an organization within a specified time frame. Subjects can be users or GitHub Apps. + */ + get: operations["api-insights/get-subject-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/summary-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get summary stats + * @description Get overall statistics of API requests made within an organization by all users and apps within a specified time frame. + */ + get: operations["api-insights/get-summary-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/summary-stats/users/{user_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get summary stats by user + * @description Get overall statistics of API requests within the organization for a user. + */ + get: operations["api-insights/get-summary-stats-by-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get summary stats by actor + * @description Get overall statistics of API requests within the organization made by a specific actor. Actors can be GitHub App installations, OAuth apps or other tokens on behalf of a user. + */ + get: operations["api-insights/get-summary-stats-by-actor"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/time-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get time stats + * @description Get the number of API requests and rate-limited requests made within an organization over a specified time period. + */ + get: operations["api-insights/get-time-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/time-stats/users/{user_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get time stats by user + * @description Get the number of API requests and rate-limited requests made within an organization by a specific user over a specified time period. + */ + get: operations["api-insights/get-time-stats-by-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get time stats by actor + * @description Get the number of API requests and rate-limited requests made within an organization by a specific actor within a specified time period. + */ + get: operations["api-insights/get-time-stats-by-actor"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/insights/api/user-stats/{user_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get user stats + * @description Get API usage statistics within an organization for a user broken down by the type of access. + */ + get: operations["api-insights/get-user-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization installation for the authenticated app + * @description 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. + */ + get: operations["apps/get-org-installation"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:read` scope to use this endpoint. + */ + get: operations["orgs/list-app-installations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/interaction-limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["interactions/get-restrictions-for-org"]; + /** + * 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. + */ + put: operations["interactions/set-restrictions-for-org"]; + post?: never; + /** + * 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. + */ + delete: operations["interactions/remove-restrictions-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`, or `hiring_manager`. If the invitee is not a GitHub + * member, the `login` field in the return hash will be `null`. + */ + get: operations["orgs/list-pending-invitations"]; + put?: never; + /** + * 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. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + post: operations["orgs/create-invitation"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/invitations/{invitation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Cancel an organization invitation + * @description 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/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + delete: operations["orgs/cancel-invitation"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/invitations/{invitation_id}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["orgs/list-invitation-teams"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/issue-types": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue types for an organization + * @description Lists all issue types for an organization. OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint. + */ + get: operations["orgs/list-issue-types"]; + put?: never; + /** + * Create issue type for an organization + * @description Create a new issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + * + * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + * personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["orgs/create-issue-type"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/issue-types/{issue_type_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Update issue type for an organization + * @description Updates an issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + * + * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + * personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/update-issue-type"]; + post?: never; + /** + * Delete issue type for an organization + * @description Deletes an issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + * + * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + * personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/delete-issue-type"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization issues assigned to the authenticated user + * @description List issues in an organization assigned to the authenticated user. + * + * > [!NOTE] + * > GitHub's REST API 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/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["orgs/list-members"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/members/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check organization membership for a user + * @description Check if a user is, publicly or privately, a member of the organization. + */ + get: operations["orgs/check-membership-for-user"]; + put?: never; + post?: never; + /** + * 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. + * + * > [!NOTE] + * > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team. + */ + delete: operations["orgs/remove-member"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/members/{username}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces for a user in organization + * @description Lists the codespaces that a member of an organization has for repositories in that organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-codespaces-for-user-in-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete a codespace from the organization + * @description Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-from-organization"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Stop a codespace for an organization user + * @description Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/stop-in-organization"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/members/{username}/copilot": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Copilot seat assignment details for a user + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets the GitHub Copilot seat details for a member of an organization who currently has access to GitHub Copilot. + * + * The seat object contains information about the user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. + * For more information about activity data, see "[Reviewing user activity data for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization)." + * + * Only organization owners can view Copilot seat assignment details for members of their organization. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/get-copilot-seat-details-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/memberships/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. The `state` parameter in the response can be used to identify the user's membership status. + */ + get: operations["orgs/get-membership-for-user"]; + /** + * Set organization membership for a user + * @description 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/orgs/members#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, organization owners are limited to creating 50 organization invitations for an organization within a 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. + */ + put: operations["orgs/set-membership-for-user"]; + post?: never; + /** + * 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. + * + * 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. + * + * > [!NOTE] + * > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team. + */ + delete: operations["orgs/remove-membership-for-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/migrations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization migrations + * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). + * + * A list of `repositories` is only returned for export migrations. + */ + get: operations["migrations/list-for-org"]; + put?: never; + /** + * Start an organization migration + * @description Initiates the generation of a migration archive. + */ + post: operations["migrations/start-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/migrations/{migration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization migration status + * @description 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. + */ + get: operations["migrations/get-status-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/migrations/{migration_id}/archive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download an organization migration archive + * @description Fetches the URL to a migration archive. + */ + get: operations["migrations/download-archive-for-org"]; + put?: never; + post?: never; + /** + * Delete an organization migration archive + * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + delete: operations["migrations/delete-archive-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + delete: operations["migrations/unlock-repo-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/migrations/{migration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories in an organization migration + * @description List all the repositories for this organization migration. + */ + get: operations["migrations/list-repos-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all organization roles for an organization + * @description Lists the organization roles available in this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-roles"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/teams/{team_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove all organization roles for a team + * @description Removes all assigned organization roles from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-all-org-roles-team"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Assign an organization role to a team + * @description Assigns an organization role to a team in an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/assign-team-to-org-role"]; + post?: never; + /** + * Remove an organization role from a team + * @description Removes an organization role from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-org-role-team"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/users/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove all organization roles for a user + * @description Revokes all assigned organization roles from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-all-org-roles-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/users/{username}/{role_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Assign an organization role to a user + * @description Assigns an organization role to a member of an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/assign-user-to-org-role"]; + post?: never; + /** + * Remove an organization role from a user + * @description Remove an organization role from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-org-role-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/{role_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization role + * @description Gets an organization role that is available to this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/get-org-role"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/{role_id}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List teams that are assigned to an organization role + * @description Lists the teams that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-role-teams"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/organization-roles/{role_id}/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users that are assigned to an organization role + * @description Lists organization members that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-role-users"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/outside_collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List outside collaborators for an organization + * @description List all users who are outside collaborators of an organization. + */ + get: operations["orgs/list-outside-collaborators"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/outside_collaborators/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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://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/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"]; + post?: never; + /** + * Remove outside collaborator from an organization + * @description Removing a user from this list will remove them from all the organization's repositories. + */ + delete: operations["orgs/remove-outside-collaborator"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List packages for an organization + * @description Lists packages in an organization readable by the user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-organization"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package for an organization + * @description Gets a specific package in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-organization"]; + put?: never; + post?: never; + /** + * Delete a package for an organization + * @description 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore a package for an organization + * @description 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List package versions for a package owned by an organization + * @description Lists package versions for a package owned by an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package version for an organization + * @description Gets a specific package version in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-organization"]; + put?: never; + post?: never; + /** + * Delete package version for an organization + * @description 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore package version for an organization + * @description 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/personal-access-token-requests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List requests to access organization resources with fine-grained personal access tokens + * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grant-requests"]; + put?: never; + /** + * Review requests to access organization resources with fine-grained personal access tokens + * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/review-pat-grant-requests-in-bulk"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/personal-access-token-requests/{pat_request_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Review a request to access organization resources with a fine-grained personal access token + * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/review-pat-grant-request"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories requested to be accessed by a fine-grained personal access token + * @description Lists the repositories a fine-grained personal access token request is requesting access to. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grant-request-repositories"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/personal-access-tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List fine-grained personal access tokens with access to organization resources + * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grants"]; + put?: never; + /** + * Update the access to organization resources via fine-grained personal access tokens + * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/update-pat-accesses"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/personal-access-tokens/{pat_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Update the access a fine-grained personal access token has to organization resources + * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/update-pat-access"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories a fine-grained personal access token has access to + * @description Lists the repositories a fine-grained personal access token has access to. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grant-repositories"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/private-registries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List private registries for an organization + * @description + * Lists all private registry configurations available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["private-registries/list-org-private-registries"]; + put?: never; + /** + * Create a private registry for an organization + * @description + * Creates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["private-registries/create-org-private-registry"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/private-registries/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get private registries public key for an organization + * @description + * Gets the org public key, which is needed to encrypt private registry secrets. You need to encrypt a secret before you can create or update secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["private-registries/get-org-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/private-registries/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a private registry for an organization + * @description + * Get the configuration of a single private registry defined for an organization, omitting its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["private-registries/get-org-private-registry"]; + put?: never; + post?: never; + /** + * Delete a private registry for an organization + * @description + * Delete a private registry configuration at the organization-level. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["private-registries/delete-org-private-registry"]; + options?: never; + head?: never; + /** + * Update a private registry for an organization + * @description + * Updates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + patch: operations["private-registries/update-org-private-registry"]; + trace?: never; + }; + "/orgs/{org}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-for-org"]; + put?: never; + /** + * Create an organization project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/properties/schema": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all custom properties for an organization + * @description Gets all custom properties defined for an organization. + * Organization members can read these properties. + */ + get: operations["orgs/get-all-custom-properties"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Create or update custom properties for an organization + * @description Creates new or updates existing custom properties defined for an organization in a batch. + * + * If the property already exists, the existing property will be replaced with the new values. + * Missing optional values will fall back to default values, previous values will be overwritten. + * E.g. if a property exists with `values_editable_by: org_and_repo_actors` and it's updated without specifying `values_editable_by`, it will be updated to default value `org_actors`. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + patch: operations["orgs/create-or-update-custom-properties"]; + trace?: never; + }; + "/orgs/{org}/properties/schema/{custom_property_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a custom property for an organization + * @description Gets a custom property that is defined for an organization. + * Organization members can read these properties. + */ + get: operations["orgs/get-custom-property"]; + /** + * Create or update a custom property for an organization + * @description Creates a new or updates an existing custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + put: operations["orgs/create-or-update-custom-property"]; + post?: never; + /** + * Remove a custom property for an organization + * @description Removes a custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + delete: operations["orgs/remove-custom-property"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/properties/values": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List custom property values for organization repositories + * @description Lists organization repositories with all of their custom property values. + * Organization members can read these properties. + */ + get: operations["orgs/list-custom-properties-values-for-repos"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Create or update custom property values for organization repositories + * @description Create new or update existing custom property values for repositories in a batch that belong to an organization. + * Each target repository will have its custom property values updated to match the values provided in the request. + * + * A maximum of 30 repositories can be updated in a single request. + * + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_values_editor` in the organization. + */ + patch: operations["orgs/create-or-update-custom-properties-values-for-repos"]; + trace?: never; + }; + "/orgs/{org}/public_members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public organization members + * @description Members of an organization can choose to have their membership publicized or not. + */ + get: operations["orgs/list-public-members"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/public_members/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check public organization membership for a user + * @description Check if the provided user is a public member of the organization. + */ + get: operations["orgs/check-public-membership-for-user"]; + /** + * 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.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["orgs/set-public-membership-for-authenticated-user"]; + post?: never; + /** + * Remove public organization membership for the authenticated user + * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. + */ + delete: operations["orgs/remove-public-membership-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization repositories + * @description Lists repositories for the specified organization. + * + * > [!NOTE] + * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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)." + */ + get: operations["repos/list-for-org"]; + put?: never; + /** + * Create an organization repository + * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + post: operations["repos/create-in-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/rulesets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all organization repository rulesets + * @description Get all the repository rulesets for an organization. + */ + get: operations["repos/get-org-rulesets"]; + put?: never; + /** + * Create an organization repository ruleset + * @description Create a repository ruleset for an organization. + */ + post: operations["repos/create-org-ruleset"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/rulesets/rule-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization rule suites + * @description Lists suites of rule evaluations at the organization level. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-org-rule-suites"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/rulesets/rule-suites/{rule_suite_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization rule suite + * @description Gets information about a suite of rule evaluations from within an organization. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-org-rule-suite"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/rulesets/{ruleset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization repository ruleset + * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. + */ + get: operations["repos/get-org-ruleset"]; + /** + * Update an organization repository ruleset + * @description Update a ruleset for an organization. + */ + put: operations["repos/update-org-ruleset"]; + post?: never; + /** + * Delete an organization repository ruleset + * @description Delete a ruleset for an organization. + */ + delete: operations["repos/delete-org-ruleset"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/rulesets/{ruleset_id}/history": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get organization ruleset history + * @description Get the history of an organization ruleset. + */ + get: operations["orgs/get-org-ruleset-history"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/rulesets/{ruleset_id}/history/{version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get organization ruleset version + * @description Get a version of an organization ruleset. + */ + get: operations["orgs/get-org-ruleset-version"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secret scanning alerts for an organization + * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/list-alerts-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/security-advisories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository security advisories for an organization + * @description Lists repository security advisories for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + get: operations["security-advisories/list-org-repository-advisories"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/security-managers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List security manager teams + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + get: operations["orgs/list-security-manager-teams"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/security-managers/teams/{team_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Add a security manager team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + put: operations["orgs/add-security-manager-team"]; + post?: never; + /** + * Remove a security manager team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + delete: operations["orgs/remove-security-manager-team"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/settings/billing/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions billing for an organization + * @description 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)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + get: operations["billing/get-github-actions-billing-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/settings/billing/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Packages billing for an organization + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + get: operations["billing/get-github-packages-billing-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/settings/billing/shared-storage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get shared storage billing for an organization + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + get: operations["billing/get-shared-storage-billing-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/settings/network-configurations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List hosted compute network configurations for an organization + * @description Lists all hosted compute network configurations configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + get: operations["hosted-compute/list-network-configurations-for-org"]; + put?: never; + /** + * Create a hosted compute network configuration for an organization + * @description Creates a hosted compute network configuration for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + post: operations["hosted-compute/create-network-configuration-for-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/settings/network-configurations/{network_configuration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a hosted compute network configuration for an organization + * @description Gets a hosted compute network configuration configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + get: operations["hosted-compute/get-network-configuration-for-org"]; + put?: never; + post?: never; + /** + * Delete a hosted compute network configuration from an organization + * @description Deletes a hosted compute network configuration from an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + delete: operations["hosted-compute/delete-network-configuration-from-org"]; + options?: never; + head?: never; + /** + * Update a hosted compute network configuration for an organization + * @description Updates a hosted compute network configuration for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + patch: operations["hosted-compute/update-network-configuration-for-org"]; + trace?: never; + }; + "/orgs/{org}/settings/network-settings/{network_settings_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a hosted compute network settings resource for an organization + * @description Gets a hosted compute network settings resource configured for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + get: operations["hosted-compute/get-network-settings-for-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/team/{team_slug}/copilot/metrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Copilot metrics for a team + * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. + * + * The response contains metrics for up to 28 days prior. Metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization containing the team within GitHub settings. + * Only organization owners for the organization that contains this team and owners and billing managers of the parent enterprise can view Copilot metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/copilot-metrics-for-team"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List teams + * @description Lists all teams in an organization that are visible to the authenticated user. + */ + get: operations["teams/list"]; + put?: never; + /** + * 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://docs.github.com/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://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + post: operations["teams/create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a team by name + * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-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}`. + */ + get: operations["teams/get-by-name"]; + put?: never; + post?: never; + /** + * Delete a team + * @description 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}`. + */ + delete: operations["teams/delete-in-org"]; + options?: never; + head?: never; + /** + * Update a team + * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + patch: operations["teams/update-in-org"]; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussions + * @description List all discussions on a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussions-in-org"]; + put?: never; + /** + * Create a discussion + * @description Creates a new discussion post on a team's page. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-in-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion + * @description Get a specific discussion on a team's page. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-in-org"]; + put?: never; + post?: never; + /** + * Delete a discussion + * @description Delete a discussion from a team's page. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-in-org"]; + options?: never; + head?: never; + /** + * Update a discussion + * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-in-org"]; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussion comments + * @description List all comments on a team discussion. + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussion-comments-in-org"]; + put?: never; + /** + * Create a discussion comment + * @description Creates a new comment on a team discussion. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-comment-in-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion comment + * @description Get a specific comment on a team discussion. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-comment-in-org"]; + put?: never; + post?: never; + /** + * Delete a discussion comment + * @description Deletes a comment on a team discussion. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-comment-in-org"]; + options?: never; + head?: never; + /** + * Update a discussion comment + * @description Edits the body text of a discussion comment. + * + * > [!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}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-comment-in-org"]; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion comment + * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-comment-in-org"]; + put?: never; + /** + * Create reaction for a team discussion comment + * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-comment-in-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["reactions/delete-for-team-discussion-comment"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion + * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-in-org"]; + put?: never; + /** + * Create reaction for a team discussion + * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-in-org"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["reactions/delete-for-team-discussion"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + get: operations["teams/list-pending-invitations-in-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team members + * @description Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/list-members-in-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/memberships/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get team membership for a user + * @description 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 [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-in-org"]; + /** + * Add or update team membership for a user + * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * 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. + * + * > [!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}`. + */ + put: operations["teams/add-or-update-membership-for-user-in-org"]; + post?: never; + /** + * Remove team membership for a user + * @description 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. + * + * 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. + * + * > [!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}`. + */ + delete: operations["teams/remove-membership-for-user-in-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/list-projects-in-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/check-permissions-for-project-in-org"]; + /** + * Add or update team project permissions + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + put: operations["teams/add-or-update-project-permissions-in-org"]; + post?: never; + /** + * Remove a project from a team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["teams/remove-project-in-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team repositories + * @description 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`. + */ + get: operations["teams/list-repos-in-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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/using-the-rest-api/getting-started-with-the-rest-api#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. + * + * If the repository is private, you must have at least `read` permission for that repository, and your token must have the `repo` or `admin:org` scope. Otherwise, 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}`. + */ + get: operations["teams/check-permissions-for-repo-in-org"]; + /** + * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * > [!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/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"]; + post?: never; + /** + * 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. + * + * > [!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}`. + */ + delete: operations["teams/remove-repo-in-org"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/teams/{team_slug}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List child teams + * @description 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`. + */ + get: operations["teams/list-child-in-org"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/orgs/{org}/{security_product}/{enablement}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Enable or disable a security feature for an organization + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** The ability to enable or disable a security feature for all eligible repositories in an organization is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. For more information, see the [changelog](https://github.blog/changelog/2024-07-22-deprecation-of-api-endpoint-to-enable-or-disable-a-security-feature-for-an-organization/). + * + * Enables or disables the specified security feature for all eligible repositories in an organization. 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)." + * + * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. + */ + post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/columns/cards/{card_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/get-card"]; + put?: never; + post?: never; + /** + * Delete a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects/delete-card"]; + options?: never; + head?: never; + /** + * Update an existing project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + patch: operations["projects/update-card"]; + trace?: never; + }; + "/projects/columns/cards/{card_id}/moves": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Move a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/move-card"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/columns/{column_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/get-column"]; + put?: never; + post?: never; + /** + * Delete a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects/delete-column"]; + options?: never; + head?: never; + /** + * Update an existing project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + patch: operations["projects/update-column"]; + trace?: never; + }; + "/projects/columns/{column_id}/cards": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List project cards + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-cards"]; + put?: never; + /** + * Create a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-card"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/columns/{column_id}/moves": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Move a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/move-column"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/get"]; + put?: never; + post?: never; + /** + * Delete a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects/delete"]; + options?: never; + head?: never; + /** + * Update a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + patch: operations["projects/update"]; + trace?: never; + }; + "/projects/{project_id}/collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List project collaborators + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-collaborators"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/{project_id}/collaborators/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Add project collaborator + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + put: operations["projects/add-collaborator"]; + post?: never; + /** + * Remove user as a collaborator + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects/remove-collaborator"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/{project_id}/collaborators/{username}/permission": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get project permission for a user + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/get-permission-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects/{project_id}/columns": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List project columns + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-columns"]; + put?: never; + /** + * Create a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-column"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/rate_limit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get rate limit status for the authenticated user + * @description > [!NOTE] + * > Accessing this endpoint does not count against your REST API rate limit. + * + * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: + * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. + * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search/search)." + * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." + * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." + * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." + * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `dependency_sbom` object provides your rate limit status for requesting SBOMs from the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." + * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." + * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/about-the-rest-api/api-versions)." + * + * > [!NOTE] + * > The `rate` object is closing down. 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. + */ + get: operations["rate-limit/get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository + * @description 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. + * + * > [!NOTE] + * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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)." + */ + get: operations["repos/get"]; + put?: never; + post?: never; + /** + * Delete a repository + * @description Deleting a repository requires admin access. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + * + * OAuth app tokens and personal access tokens (classic) need the `delete_repo` scope to use this endpoint. + */ + delete: operations["repos/delete"]; + options?: never; + head?: never; + /** + * Update a repository + * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. + */ + patch: operations["repos/update"]; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/artifacts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List artifacts for a repository + * @description Lists all artifacts for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-artifacts-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-artifact"]; + put?: never; + post?: never; + /** + * Delete an artifact + * @description Deletes an artifact for a workflow run. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-artifact"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 + * the response header to find the URL for the download. The `:archive_format` must be `zip`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-artifact"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/cache/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions cache usage for a repository + * @description 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/caches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GitHub Actions caches for a repository + * @description Lists the GitHub Actions caches for a repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-list"]; + put?: never; + post?: never; + /** + * Delete GitHub Actions caches for a repository (using a cache key) + * @description 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. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-key"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/caches/{cache_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete a GitHub Actions cache for a repository (using a cache ID) + * @description Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-id"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-job-for-workflow-run"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 + * 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-job-logs-for-workflow-run"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Re-run a job from a workflow run + * @description Re-run a job and its dependent jobs in a workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-job-for-workflow-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/oidc/customization/sub": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the customization template for an OIDC subject claim for a repository + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; + /** + * Set the customization template for an OIDC subject claim for a repository + * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/organization-secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository organization secrets + * @description Lists all organization secrets shared with a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-organization-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/organization-variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository organization variables + * @description Lists all organization variables shared with a repository. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-organization-variables"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/permissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 and reusable workflows allowed to run in the repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-permissions-repository"]; + /** + * Set GitHub Actions permissions for a repository + * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-permissions-repository"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/permissions/access": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the level of access for workflows outside of the repository + * @description 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 private repositories. + * For more information, see "[Allowing access to components in a private 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-a-private-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-workflow-access-to-repository"]; + /** + * Set the level of access for workflows outside of the repository + * @description 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 private repositories. + * For more information, see "[Allowing access to components in a private 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-a-private-repository)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-workflow-access-to-repository"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get allowed actions and reusable workflows for a repository + * @description 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-allowed-actions-repository"]; + /** + * Set allowed actions and reusable workflows for a repository + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-allowed-actions-repository"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/permissions/workflow": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default workflow permissions for a repository + * @description 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; + /** + * Set default workflow permissions for a repository + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List self-hosted runners for a repository + * @description Lists all self-hosted runners configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/downloads": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List runner applications for a repository + * @description Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-runner-applications-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create configuration for a just-in-time runner for a repository + * @description Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the repository. + * + * OAuth tokens and personal access tokens (classic) need the`repo` scope to use this endpoint. + */ + post: operations["actions/generate-runner-jitconfig-for-repo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/registration-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-registration-token-for-repo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/remove-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a remove token for a repository + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an repository. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-remove-token-for-repo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a self-hosted runner for a repository + * @description Gets a specific self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-for-repo"]; + put?: never; + post?: never; + /** + * 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-repo"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for a self-hosted runner for a repository + * @description Lists all labels for a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; + /** + * Set custom labels for a self-hosted runner for a repository + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need 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 for a repository + * @description Adds custom labels to a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need 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 for a repository + * @description Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove a custom label from a self-hosted runner for a repository + * @description 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. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + get: operations["actions/list-workflow-runs-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a workflow run + * @description Gets a specific workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run"]; + put?: never; + post?: never; + /** + * Delete a workflow run + * @description Deletes a specific workflow run. + * + * Anyone with write access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-workflow-run"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the review history for a workflow run + * @description Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-reviews-for-run"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Approve a workflow run for a fork pull request + * @description 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/approve-workflow-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List workflow run artifacts + * @description Lists artifacts for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-workflow-run-artifacts"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a workflow run attempt + * @description Gets a specific workflow run attempt. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run-attempt"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List jobs for a workflow run attempt + * @description Lists jobs for a specific workflow run attempt. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-jobs-for-workflow-run-attempt"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download workflow run attempt logs + * @description 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-workflow-run-attempt-logs"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Cancel a workflow run + * @description Cancels a workflow run using its `id`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/cancel-workflow-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Review custom deployment protection rules for a workflow run + * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * > [!NOTE] + * > GitHub Apps can only review their own custom deployment protection rules. To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + post: operations["actions/review-custom-gates-for-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Force cancel a workflow run + * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. + * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/force-cancel-workflow-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List jobs for a workflow run + * @description Lists jobs for a workflow run. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-jobs-for-workflow-run"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 + * `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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-workflow-run-logs"]; + put?: never; + post?: never; + /** + * Delete workflow run logs + * @description Deletes all logs for a workflow run. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-workflow-run-logs"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get pending deployments for a workflow run + * @description 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-pending-deployments-for-run"]; + put?: never; + /** + * Review pending deployments for a workflow run + * @description 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/review-pending-deployments-for-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Re-run a workflow + * @description Re-runs your workflow run using its `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-workflow"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Re-run failed jobs from a workflow run + * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-workflow-failed-jobs"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get workflow run usage + * @description > [!WARNING] + * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. + * + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run-usage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/create-or-update-repo-secret"]; + post?: never; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-repo-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository variables + * @description Lists all repository variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-variables"]; + put?: never; + /** + * Create a repository variable + * @description Creates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-repo-variable"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/variables/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository variable + * @description Gets a specific variable in a repository. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-variable"]; + put?: never; + post?: never; + /** + * Delete a repository variable + * @description Deletes a repository variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-repo-variable"]; + options?: never; + head?: never; + /** + * Update a repository variable + * @description Updates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + patch: operations["actions/update-repo-variable"]; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository workflows + * @description Lists the workflows in a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-repo-workflows"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/disable-workflow"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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`. + * + * 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)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-workflow-dispatch"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/enable-workflow"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List workflow runs for a workflow + * @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/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + get: operations["actions/list-workflow-runs"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get workflow usage + * @description > [!WARNING] + * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. + * + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-usage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/activity": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository activities + * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. + * + * For more information about viewing repository activity, + * see "[Viewing activity and data for your repository](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository)." + */ + get: operations["repos/list-activities"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/assignees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List assignees + * @description 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/assignees/{assignee}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user can be assigned + * @description 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. + */ + get: operations["issues/check-user-can-be-assigned"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/attestations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create an attestation + * @description Store an artifact attestation and associate it with a repository. + * + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. + * + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + post: operations["repos/create-attestation"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/attestations/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with a repository. + * + * The authenticated user making the request must have read access to the repository. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["repos/list-attestations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/autolinks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all autolinks of a repository + * @description Gets all autolinks that are configured for a repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/list-autolinks"]; + put?: never; + /** + * Create an autolink reference for a repository + * @description Users with admin access to the repository can create an autolink. + */ + post: operations["repos/create-autolink"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/autolinks/{autolink_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an autolink reference of a repository + * @description 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"]; + put?: never; + post?: never; + /** + * Delete an autolink reference from a repository + * @description 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"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if Dependabot security updates are enabled for a repository + * @description Shows whether Dependabot security updates are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + get: operations["repos/check-automated-security-fixes"]; + /** + * Enable Dependabot security updates + * @description Enables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + put: operations["repos/enable-automated-security-fixes"]; + post?: never; + /** + * Disable Dependabot security updates + * @description Disables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + delete: operations["repos/disable-automated-security-fixes"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List branches */ + get: operations["repos/list-branches"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a branch */ + get: operations["repos/get-branch"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-branch-protection"]; + /** + * 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://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. + */ + put: operations["repos/update-branch-protection"]; + post?: never; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/delete-branch-protection"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-admin-branch-protection"]; + put?: never; + /** + * 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://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"]; + /** + * 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://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"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-pull-request-review-protection"]; + put?: never; + post?: never; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/delete-pull-request-review-protection"]; + options?: never; + head?: never; + /** + * 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://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. + */ + patch: operations["repos/update-pull-request-review-protection"]; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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. + */ + get: operations["repos/get-commit-signature-protection"]; + put?: never; + /** + * 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://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"]; + /** + * 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://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"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-status-checks-protection"]; + put?: never; + post?: never; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/remove-status-check-protection"]; + options?: never; + head?: never; + /** + * 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://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"]; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-all-status-check-contexts"]; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + put: operations["repos/set-status-check-contexts"]; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + post: operations["repos/add-status-check-contexts"]; + /** + * 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://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/remove-status-check-contexts"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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. + */ + get: operations["repos/get-access-restrictions"]; + put?: never; + post?: never; + /** + * 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://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. + */ + delete: operations["repos/delete-access-restrictions"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + get: operations["repos/get-apps-with-access-to-protected-branch"]; + /** + * 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://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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + put: operations["repos/set-app-access-restrictions"]; + /** + * 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://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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + post: operations["repos/add-app-access-restrictions"]; + /** + * 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://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 GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + delete: operations["repos/remove-app-access-restrictions"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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"]; + /** + * 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://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. + */ + put: operations["repos/set-team-access-restrictions"]; + /** + * 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://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. + */ + post: operations["repos/add-team-access-restrictions"]; + /** + * 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://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. + */ + delete: operations["repos/remove-team-access-restrictions"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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"]; + /** + * 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://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. | + */ + put: operations["repos/set-user-access-restrictions"]; + /** + * 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://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. | + */ + post: operations["repos/add-user-access-restrictions"]; + /** + * 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://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. + * + * | 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. | + */ + delete: operations["repos/remove-user-access-restrictions"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/rename": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Rename a branch + * @description 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 authenticated user must have push access to the branch. If the branch is the default branch, the authenticated user must also have admin or owner permissions. + * + * In order to rename the default branch, fine-grained access tokens also need the `administration:write` repository permission. + */ + post: operations["repos/rename-branch"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a check run + * @description Creates a new check run for a specific commit in a repository. + * + * To create a check run, you must use a GitHub App. OAuth apps and authenticated users are not able to create a check suite. + * + * 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. + * + * > [!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. + */ + post: operations["checks/create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a check run + * @description Gets a single check run using its `id`. + * + * > [!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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a check run + * @description Updates a check run for a specific commit in a repository. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + patch: operations["checks/update"]; + trace?: never; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check run annotations + * @description Lists annotations for a check run using the annotation `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-annotations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Rerequest a check run + * @description 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`, the `status` of the check suite it belongs to is reset to `queued` and the `conclusion` is cleared. The check run itself is not updated. GitHub apps recieving the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) with the `rerequested` action should then decide if the check run should be reset or updated and call the [update `check_run` endpoint](https://docs.github.com/rest/checks/runs#update-a-check-run) to update the check_run if desired. + * + * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". + */ + post: operations["checks/rerequest-run"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a check suite + * @description Creates a check suite manually. By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/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/checks/suites#update-repository-preferences-for-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`. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + post: operations["checks/create-suite"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-suites/preferences": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * 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/checks/suites#create-a-check-suite). + * You must have admin permissions in the repository to set preferences for check suites. + */ + patch: operations["checks/set-suites-preferences"]; + trace?: never; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a check suite + * @description Gets a single check suite using its `id`. + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/get-suite"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check runs in a check suite + * @description Lists check runs for a check suite using its `id`. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-for-suite"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + */ + post: operations["checks/rerequest-suite"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List code scanning alerts for a repository + * @description Lists code scanning alerts. + * + * 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). + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-alerts-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code scanning alert + * @description Gets a single code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-alert"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a code scanning alert + * @description Updates the status of a single code scanning alert. + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + patch: operations["code-scanning/update-alert"]; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the status of an autofix for a code scanning alert + * @description Gets the status and description of an autofix for a code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-autofix"]; + put?: never; + /** + * Create an autofix for a code scanning alert + * @description Creates an autofix for a code scanning alert. + * + * If a new autofix is to be created as a result of this request or is currently being generated, then this endpoint will return a 202 Accepted response. + * + * If an autofix already exists for a given alert, then this endpoint will return a 200 OK response. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + post: operations["code-scanning/create-autofix"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Commit an autofix for a code scanning alert + * @description Commits an autofix for a code scanning alert. + * + * If an autofix is committed as a result of this request, then this endpoint will return a 201 Created response. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + post: operations["code-scanning/commit-autofix"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List instances of a code scanning alert + * @description Lists all instances of the specified code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-alert-instances"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/analyses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List code scanning analyses for a repository + * @description 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. + * + * > [!WARNING] + * > **Closing down notice:** The `tool_name` field is closing down 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. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-recent-analyses"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code scanning analysis for a repository + * @description Gets a specified code scanning analysis for a repository. + * + * 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/sarif+json`**: Instead of returning a summary of the analysis, this endpoint returns a subset of the analysis data that was uploaded. The data 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). It also returns additional data such as the `github/alertNumber` and `github/alertUrl` properties. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-analysis"]; + put?: never; + post?: never; + /** + * Delete a code scanning analysis from a repository + * @description Deletes a specified code scanning analysis from a repository. + * + * 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` + * * `category` + * + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + delete: operations["code-scanning/delete-analysis"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List CodeQL databases for a repository + * @description Lists the CodeQL databases that are available in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-codeql-databases"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a CodeQL database for a repository + * @description Gets a CodeQL database for a language in a repository. + * + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-codeql-database"]; + put?: never; + post?: never; + /** + * Delete a CodeQL database + * @description Deletes a CodeQL database for a language in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + delete: operations["code-scanning/delete-codeql-database"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a CodeQL variant analysis + * @description Creates a new CodeQL variant analysis, which will run a CodeQL query against one or more repositories. + * + * Get started by learning more about [running CodeQL queries at scale with Multi-Repository Variant Analysis](https://docs.github.com/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis). + * + * Use the `owner` and `repo` parameters in the URL to specify the controller repository that + * will be used for running GitHub Actions workflows and storing the results of the CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["code-scanning/create-variant-analysis"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the summary of a CodeQL variant analysis + * @description Gets the summary of a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-variant-analysis"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the analysis status of a repository in a CodeQL variant analysis + * @description Gets the analysis status of a repository in a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-variant-analysis-repo-task"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/default-setup": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code scanning default setup configuration + * @description Gets a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-default-setup"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a code scanning default setup configuration + * @description Updates a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + patch: operations["code-scanning/update-default-setup"]; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Upload an analysis as SARIF data + * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." + * + * 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 number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. + * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." + * + * + * | **SARIF data** | **Maximum values** | **Additional limits** | + * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| + * | Runs per file | 20 | | + * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | + * | Rules per run | 25,000 | | + * | Tool extensions per run | 100 | | + * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | + * | Location per result | 1,000 | Only 100 locations will be included. | + * | Tags per rule | 20 | Only 10 tags will be included. | + * + * + * The `202 Accepted` response includes an `id` value. + * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + * + * This endpoint is limited to 1,000 requests per hour for each user or app installation calling it. + */ + post: operations["code-scanning/upload-sarif"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get information about a SARIF upload + * @description 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/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-sarif"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/code-security-configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["code-security/get-configuration-for-repository"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codeowners/errors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List CODEOWNERS errors + * @description List any syntax errors that are detected in the CODEOWNERS + * file. + * + * 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)." + */ + get: operations["repos/codeowners-errors"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces in a repository for the authenticated user + * @description Lists the codespaces associated to a specified repository and the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/list-in-repository-for-authenticated-user"]; + put?: never; + /** + * Create a codespace in a repository + * @description Creates a codespace owned by the authenticated user in the specified repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/create-with-repo-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/devcontainers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List devcontainer configurations in a repository for the authenticated user + * @description 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/machines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List available machine types for a repository + * @description List the machine types available for a given repository based on its configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/repo-machines-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/new": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default attributes for a codespace + * @description Gets the default attributes for codespaces created by the user with the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/permissions_check": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if permissions defined by a devcontainer have been accepted by the authenticated user + * @description Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/check-permissions-for-devcontainer"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository secrets + * @description Lists all development environment secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/list-repo-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * If the repository is private, OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/get-repo-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository secret + * @description Gets a single repository development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. + */ + put: operations["codespaces/create-or-update-repo-secret"]; + post?: never; + /** + * Delete a repository secret + * @description Deletes a development environment secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. + */ + delete: operations["codespaces/delete-repo-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * The `permissions` hash returned in the response contains the base role permissions of the collaborator. The `role_name` is the highest role assigned to the collaborator after considering all sources of grants, including: repo, teams, organization, and enterprise. + * There is presently not a way to differentiate between an organization level grant and a repository level grant from this endpoint response. + * + * Team members will include the members of child teams. + * + * The authenticated user must have write, maintain, or admin privileges on the repository to use this endpoint. For organization-owned repositories, the authenticated user needs to be a member of the organization. + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + get: operations["repos/list-collaborators"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/collaborators/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * Team members will include the members of child teams. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + get: operations["repos/check-collaborator"]; + /** + * Add a repository collaborator + * @description Add a user to a repository with a specified level of access. If the repository is owned by an organization, this API does not add the user to the organization - a user that has repository access without being an organization member is called an "outside collaborator" (if they are not an Enterprise Managed User) or a "repository collaborator" if they are an Enterprise Managed User. These users are exempt from some organization policies - see "[Adding outside collaborators to repositories](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization)" to learn more about these collaborator types. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * + * Adding an outside collaborator may be restricted by enterprise and organization administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)" and "[Setting permissions for adding outside collaborators](https://docs.github.com/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators)" for organization settings. + * + * 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 role 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * 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 [API](https://docs.github.com/rest/collaborators/invitations). + * + * For Enterprise Managed Users, this endpoint does not send invitations - these users are automatically added to organizations and repositories. Enterprise Managed Users can only be added to organizations and repositories within their enterprise. + * + * **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"]; + post?: never; + /** + * Remove a repository collaborator + * @description Removes a collaborator from a repository. + * + * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. + * + * This endpoint also: + * - Cancels any outstanding invitations sent by the collaborator + * - Unassigns the user from any issues + * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. + * - Unstars the repository + * - Updates access permissions to packages + * + * Removing a user as a collaborator has the following effects on forks: + * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. + * - If the user had their own fork of the repository, the fork will be deleted. + * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. + * + * > [!NOTE] + * > A user can still have access to the repository through organization permissions like base repository permissions. + * + * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. + * + * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". + */ + delete: operations["repos/remove-collaborator"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository permissions for a user + * @description Checks the repository permission and role of a collaborator. + * + * The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the + * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. + * The `role_name` attribute provides the name of the assigned role, including custom roles. The + * `permission` can also be used to determine which base level of access the collaborator has to the repository. + * + * The calculated permissions are the highest role assigned to the collaborator after considering all sources of grants, including: repo, teams, organization, and enterprise. + * There is presently not a way to differentiate between an organization level grant and a repository level grant from this endpoint response. + */ + get: operations["repos/get-collaborator-permission-level"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commit comments for a repository + * @description Lists the commit comments for a specified repository. Comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["repos/list-commit-comments-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a commit comment + * @description Gets a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["repos/get-commit-comment"]; + put?: never; + post?: never; + /** Delete a commit comment */ + delete: operations["repos/delete-commit-comment"]; + options?: never; + head?: never; + /** + * Update a commit comment + * @description Updates the contents of a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["repos/update-commit-comment"]; + trace?: never; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a commit comment + * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + get: operations["reactions/list-for-commit-comment"]; + put?: never; + /** + * Create reaction for a commit comment + * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). 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"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + delete: operations["reactions/delete-for-commit-comment"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commits + * @description **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. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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/list-commits"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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. + */ + get: operations["repos/list-branches-for-head-commit"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commit comments + * @description Lists the comments for a specified commit. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["repos/list-comments-for-commit"]; + put?: never; + /** + * Create a commit comment + * @description Create a comment for a commit using its `:commit_sha`. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["repos/create-commit-comment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests associated with a commit + * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, it will return merged and open pull requests associated with the commit. + * + * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. + */ + get: operations["repos/list-pull-requests-associated-with-commit"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a commit + * @description 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 and the default JSON media type is requested, 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." Pagination query parameters are not supported for these media types. + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.sha`**: Returns the commit's SHA-1 hash. 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. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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/get-commit"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check runs for a Git reference + * @description Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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. + * + * If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-for-ref"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check suites for a Git reference + * @description Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-suites-for-ref"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **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` + */ + get: operations["repos/get-combined-status-for-ref"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/statuses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + get: operations["repos/list-commit-statuses-for-ref"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/community/profile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get community profile metrics + * @description Returns all community profile metrics for a repository. The repository cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the 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 + * the recommended community health files are present. For more information, see + * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + get: operations["repos/get-community-profile-metrics"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/compare/{basehead}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Compare two commits + * @description Compares two commits against one another. You can compare refs (branches or tags) and commit SHAs in the same repository, or you can compare refs and commit SHAs that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." + * + * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. + * + * The API response includes details about the files that were changed between the two commits. This includes the status of the change (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. + * + * When calling this endpoint without any paging parameter (`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. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: + * + * - The list of changed files is only shown on the first page of results, and it includes up to 300 changed files for the entire comparison. + * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. + * + * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: + * + * | 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. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/contents/{path}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository content + * @description Gets the contents of a file or directory in a repository. Specify the file path or directory with the `path` parameter. If you omit the `path` parameter, you will receive the contents of the repository's root directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents for files and symlinks. + * - **`application/vnd.github.html+json`**: Returns the file contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + * - **`application/vnd.github.object+json`**: Returns the contents in a consistent object format regardless of the content type. For example, instead of an array of objects for a directory, the response will be an object with an `entries` attribute containing the array of objects. + * + * 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 [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 and the symlink's target is a normal file in the repository, then the API responds with the content of the file. Otherwise, the API responds with an object describing the symlink itself. + * + * If the content is a submodule, the `submodule_git_url` field 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. + * + * **Notes**: + * + * - To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). + * - 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/git/trees#get-a-tree). + * - Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. + * - 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 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. + */ + get: operations["repos/get-content"]; + /** + * Create or update file contents + * @description Creates a new file or replaces an existing file in a repository. + * + * > [!NOTE] + * > If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The `workflow` scope is also required in order to modify files in the `.github/workflows` directory. + */ + put: operations["repos/create-or-update-file-contents"]; + post?: never; + /** + * Delete a file + * @description 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. + * + * > [!NOTE] + * > If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + delete: operations["repos/delete-file"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/contributors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 caches contributor data to improve performance. + * + * 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. + */ + get: operations["repos/list-contributors"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependabot/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Dependabot alerts for a repository + * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/list-alerts-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a Dependabot alert + * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/get-alert"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a Dependabot alert + * @description The authenticated user must have access to security alerts for the repository to use this endpoint. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + patch: operations["dependabot/update-alert"]; + trace?: never; + }; + "/repos/{owner}/{repo}/dependabot/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["dependabot/list-repo-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependabot/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the repository is private. + */ + get: operations["dependabot/get-repo-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["dependabot/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["dependabot/create-or-update-repo-secret"]; + post?: never; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["dependabot/delete-repo-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a diff of the dependencies between commits + * @description 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependency-graph/sbom": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Export a software bill of materials (SBOM) for a repository. + * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. + */ + get: operations["dependency-graph/export-sbom"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dependency-graph/snapshots": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a snapshot of dependencies for a repository + * @description Create a new snapshot of a repository's dependencies. + * + * The authenticated user must have access to the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["dependency-graph/create-repository-snapshot"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/deployments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deployments + * @description Simple filtering of deployments is available via query parameters: + */ + get: operations["repos/list-deployments"]; + put?: never; + /** + * Create a deployment + * @description 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/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. + * + * 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. + * + * 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + post: operations["repos/create-deployment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a deployment */ + get: operations["repos/get-deployment"]; + put?: never; + post?: never; + /** + * Delete a deployment + * @description 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. + * + * 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/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + delete: operations["repos/delete-deployment"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deployment statuses + * @description Users with pull access can view deployment statuses for a deployment: + */ + get: operations["repos/list-deployment-statuses"]; + put?: never; + /** + * Create a deployment status + * @description Users with `push` access can create deployment statuses for a given deployment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. + */ + post: operations["repos/create-deployment-status"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a deployment status + * @description Users with pull access can view a deployment status for a deployment: + */ + get: operations["repos/get-deployment-status"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/dispatches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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)." + * + * 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 input example shows how you can use the `client_payload` as a test to debug your workflow. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-dispatch-event"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environments + * @description Lists the environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-all-environments"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment + * @description > [!NOTE] + * > To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-environment"]; + /** + * Create or update an environment + * @description 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] + * > To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." + * + * > [!NOTE] + * > To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/create-or-update-environment"]; + post?: never; + /** + * Delete an environment + * @description OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/delete-an-environment"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deployment branch policies + * @description Lists the deployment branch policies for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-deployment-branch-policies"]; + put?: never; + /** + * Create a deployment branch policy + * @description Creates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-deployment-branch-policy"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a deployment branch policy + * @description Gets a deployment branch or tag policy for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-deployment-branch-policy"]; + /** + * Update a deployment branch policy + * @description Updates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/update-deployment-branch-policy"]; + post?: never; + /** + * Delete a deployment branch policy + * @description Deletes a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/delete-deployment-branch-policy"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all deployment protection rules for an environment + * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-all-deployment-protection-rules"]; + put?: never; + /** + * Create a custom deployment protection rule on an environment + * @description Enable a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app), as well as the [guide to creating custom deployment protection rules](https://docs.github.com/actions/managing-workflow-runs-and-deployments/managing-deployments/creating-custom-deployment-protection-rules). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-deployment-protection-rule"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List custom deployment rule integrations available for an environment + * @description Gets all custom deployment protection rule integrations that are available for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-custom-deployment-rule-integrations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a custom deployment protection rule + * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-custom-deployment-protection-rule"]; + put?: never; + post?: never; + /** + * Disable a custom protection rule for an environment + * @description Disables a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/disable-deployment-protection-rule"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environment secrets + * @description Lists all secrets available in an environment without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-environment-secrets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment public key + * @description 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, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-public-key"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment secret + * @description Gets a single environment secret without revealing its encrypted value. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-secret"]; + /** + * Create or update an environment secret + * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/create-or-update-environment-secret"]; + post?: never; + /** + * Delete an environment secret + * @description Deletes a secret in an environment using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-environment-secret"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environment variables + * @description Lists all environment variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-environment-variables"]; + put?: never; + /** + * Create an environment variable + * @description Create an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-environment-variable"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment variable + * @description Gets a specific variable in an environment. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-variable"]; + put?: never; + post?: never; + /** + * Delete an environment variable + * @description Deletes an environment variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-environment-variable"]; + options?: never; + head?: never; + /** + * Update an environment variable + * @description Updates an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + patch: operations["actions/update-environment-variable"]; + trace?: never; + }; + "/repos/{owner}/{repo}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-repo-events"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/forks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List forks */ + get: operations["repos/list-forks"]; + put?: never; + /** + * Create a fork + * @description 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?tags=dotcom-rest-api). + * + * > [!NOTE] + * > Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. + */ + post: operations["repos/create-fork"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/blobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create a blob */ + post: operations["git/create-blob"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/blobs/{file_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a blob + * @description The `content` in the response will always be Base64 encoded. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw blob data. + * - **`application/vnd.github+json`**: Returns a JSON representation of the blob with `content` as a base64 encoded string. This is the default if no media type is specified. + * + * **Note** This endpoint supports blobs up to 100 megabytes in size. + */ + get: operations["git/get-blob"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a commit + * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-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 the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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. | + */ + post: operations["git/create-commit"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/commits/{commit_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a commit object + * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." + * + * **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. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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["git/get-commit"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/matching-refs/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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/pulls/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`. + */ + get: operations["git/list-matching-refs"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/ref/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * > [!NOTE] + * > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/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)". + */ + get: operations["git/get-ref"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/refs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + */ + post: operations["git/create-ref"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/refs/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete a reference + * @description Deletes the provided reference. + */ + delete: operations["git/delete-ref"]; + options?: never; + head?: never; + /** + * Update a reference + * @description Updates the provided reference to point to a new SHA. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + */ + patch: operations["git/update-ref"]; + trace?: never; + }; + "/repos/{owner}/{repo}/git/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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/git/refs#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/git/refs#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. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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. | + */ + post: operations["git/create-tag"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/tags/{tag_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a tag + * @description **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. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * 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 their 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["git/get-tag"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/trees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + * + * 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/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." + * + * Returns an error if you try to delete a file that does not exist. + */ + post: operations["git/create-tree"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/git/trees/{tree_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a tree + * @description Returns a single tree using the SHA1 value or ref name 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. + * + * > [!NOTE] + * > The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. + */ + get: operations["git/get-tree"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository webhooks + * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. + */ + get: operations["repos/list-webhooks"]; + put?: never; + /** + * Create a repository webhook + * @description 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. + */ + post: operations["repos/create-webhook"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." + */ + get: operations["repos/get-webhook"]; + put?: never; + post?: never; + /** + * Delete a repository webhook + * @description Delete a webhook for an organization. + * + * The authenticated user must be a repository owner, or have admin access in the repository, to delete the webhook. + */ + delete: operations["repos/delete-webhook"]; + options?: never; + head?: never; + /** + * 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/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." + */ + patch: operations["repos/update-webhook"]; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/webhooks/repos#get-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:repo_hook` or `repo` scope to use this endpoint. + */ + get: operations["repos/get-webhook-config-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * 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/webhooks/repos#update-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:repo_hook` or `repo` scope to use this endpoint. + */ + patch: operations["repos/update-webhook-config-for-repo"]; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deliveries for a repository webhook + * @description Returns a list of webhook deliveries for a webhook configured in a repository. + */ + get: operations["repos/list-webhook-deliveries"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a delivery for a repository webhook + * @description Returns a delivery for a webhook configured in a repository. + */ + get: operations["repos/get-webhook-delivery"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Redeliver a delivery for a repository webhook + * @description Redeliver a webhook delivery for a webhook configured in a repository. + */ + post: operations["repos/redeliver-webhook-delivery"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Ping a repository webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + post: operations["repos/ping-webhook"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + * + * > [!NOTE] + * > Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + post: operations["repos/test-push-webhook"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/import": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an import status + * @deprecated + * @description View the progress of an import. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + * + * **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/migrations/source-imports#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/migrations/source-imports#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/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#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/migrations/source-imports#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. + */ + get: operations["migrations/get-import-status"]; + /** + * Start an import + * @deprecated + * @description Start a source import to a GitHub repository using GitHub Importer. + * Importing into a GitHub repository with GitHub Actions enabled is not supported and will + * return a status `422 Unprocessable Entity` response. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + put: operations["migrations/start-import"]; + post?: never; + /** + * Cancel an import + * @deprecated + * @description Stop an import for a repository. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + delete: operations["migrations/cancel-import"]; + options?: never; + head?: never; + /** + * Update an import + * @deprecated + * @description 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. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/update-import"]; + trace?: never; + }; + "/repos/{owner}/{repo}/import/authors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get commit authors + * @deprecated + * @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 `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + get: operations["migrations/get-commit-authors"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/import/authors/{author_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Map a commit author + * @deprecated + * @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. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/map-commit-author"]; + trace?: never; + }; + "/repos/{owner}/{repo}/import/large_files": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get large files + * @deprecated + * @description List files larger than 100MB found during the import + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + get: operations["migrations/get-large-files"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/import/lfs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update Git LFS preference + * @deprecated + * @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.com). + * + * You can learn more about our LFS feature and working with large files [on our help + * site](https://docs.github.com/repositories/working-with-files/managing-large-files). + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/set-lfs-preference"]; + trace?: never; + }; + "/repos/{owner}/{repo}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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-repo-installation"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/interaction-limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["interactions/get-restrictions-for-repo"]; + /** + * 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. + */ + put: operations["interactions/set-restrictions-for-repo"]; + post?: never; + /** + * 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. + */ + delete: operations["interactions/remove-restrictions-for-repo"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository invitations + * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + get: operations["repos/list-invitations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/invitations/{invitation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Delete a repository invitation */ + delete: operations["repos/delete-invitation"]; + options?: never; + head?: never; + /** Update a repository invitation */ + patch: operations["repos/update-invitation"]; + trace?: never; + }; + "/repos/{owner}/{repo}/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository issues + * @description List issues in a repository. Only open issues will be listed. + * + * > [!NOTE] + * > GitHub's REST API 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/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-for-repo"]; + put?: never; + /** + * Create an issue + * @description 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/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue comments for a repository + * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. + * + * By default, issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-comments-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an issue comment + * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/get-comment"]; + put?: never; + post?: never; + /** + * Delete an issue comment + * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + delete: operations["issues/delete-comment"]; + options?: never; + head?: never; + /** + * Update an issue comment + * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["issues/update-comment"]; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for an issue comment + * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + get: operations["reactions/list-for-issue-comment"]; + put?: never; + /** + * Create reaction for an issue comment + * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). 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"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + delete: operations["reactions/delete-for-issue-comment"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue events for a repository + * @description Lists events for a repository. + */ + get: operations["issues/list-events-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/events/{event_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an issue event + * @description Gets a single event by the event id. + */ + get: operations["issues/get-event"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an issue + * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api#follow-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] + * > GitHub's REST API 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/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update an issue + * @description Issue owners and users with push access or Triage role can edit an issue. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["issues/update"]; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add assignees to an issue + * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + post: operations["issues/add-assignees"]; + /** + * Remove assignees from an issue + * @description Removes one or more assignees from an issue. + */ + delete: operations["issues/remove-assignees"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user can be assigned to a issue + * @description Checks if a user has permission to be assigned to a specific issue. + * + * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned-to-issue"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue comments + * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * Issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-comments"]; + put?: never; + /** + * Create an issue comment + * @description You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * 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. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/create-comment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue events + * @description Lists all events for an issue. + */ + get: operations["issues/list-events"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for an issue + * @description Lists all labels for an issue. + */ + get: operations["issues/list-labels-on-issue"]; + /** + * Set labels for an issue + * @description Removes any previous labels and sets the new labels for an issue. + */ + put: operations["issues/set-labels"]; + /** + * Add labels to an issue + * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. + */ + post: operations["issues/add-labels"]; + /** + * Remove all labels from an issue + * @description Removes all labels from an issue. + */ + delete: operations["issues/remove-all-labels"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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. + */ + delete: operations["issues/remove-label"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Lock an issue + * @description 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["issues/lock"]; + post?: never; + /** + * Unlock an issue + * @description Users with push access can unlock an issue's conversation. + */ + delete: operations["issues/unlock"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for an issue + * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + get: operations["reactions/list-for-issue"]; + put?: never; + /** + * Create reaction for an issue + * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. + */ + post: operations["reactions/create-for-issue"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + delete: operations["reactions/delete-for-issue"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/sub_issue": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Remove sub-issue + * @description You can use the REST API to remove a sub-issue from an issue. + * Removing content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass a specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + delete: operations["issues/remove-sub-issue"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/sub_issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List sub-issues + * @description You can use the REST API to list the sub-issues on an issue. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-sub-issues"]; + put?: never; + /** + * Add sub-issue + * @description You can use the REST API to add sub-issues to issues. + * + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/add-sub-issue"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Reprioritize sub-issue + * @description You can use the REST API to reprioritize a sub-issue to a different position in the parent list. + */ + patch: operations["issues/reprioritize-sub-issue"]; + trace?: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List timeline events for an issue + * @description List all timeline events for an issue. + */ + get: operations["issues/list-events-for-timeline"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List deploy keys */ + get: operations["repos/list-deploy-keys"]; + put?: never; + /** + * Create a deploy key + * @description You can create a read-only deploy key. + */ + post: operations["repos/create-deploy-key"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/keys/{key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a deploy key */ + get: operations["repos/get-deploy-key"]; + put?: never; + post?: never; + /** + * 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. + */ + delete: operations["repos/delete-deploy-key"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for a repository + * @description Lists all labels for a repository. + */ + get: operations["issues/list-labels-for-repo"]; + put?: never; + /** + * Create a label + * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). + */ + post: operations["issues/create-label"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a label + * @description Gets a label using the given name. + */ + get: operations["issues/get-label"]; + put?: never; + post?: never; + /** + * Delete a label + * @description Deletes a label using the given label name. + */ + delete: operations["issues/delete-label"]; + options?: never; + head?: never; + /** + * Update a label + * @description Updates a label using the given label name. + */ + patch: operations["issues/update-label"]; + trace?: never; + }; + "/repos/{owner}/{repo}/languages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["repos/list-languages"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/license": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the license for a repository + * @description This method returns the contents of the repository's license file, if one is detected. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw contents of the license. + * - **`application/vnd.github.html+json`**: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + get: operations["licenses/get-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/merge-upstream": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Sync a fork branch with the upstream repository + * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + post: operations["repos/merge-upstream"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/merges": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Merge a branch */ + post: operations["repos/merge"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/milestones": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List milestones + * @description Lists milestones for a repository. + */ + get: operations["issues/list-milestones"]; + put?: never; + /** + * Create a milestone + * @description Creates a milestone. + */ + post: operations["issues/create-milestone"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a milestone + * @description Gets a milestone using the given milestone number. + */ + get: operations["issues/get-milestone"]; + put?: never; + post?: never; + /** + * Delete a milestone + * @description Deletes a milestone using the given milestone number. + */ + delete: operations["issues/delete-milestone"]; + options?: never; + head?: never; + /** Update a milestone */ + patch: operations["issues/update-milestone"]; + trace?: never; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for issues in a milestone + * @description Lists labels for issues in a milestone. + */ + get: operations["issues/list-labels-for-milestone"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/notifications": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository notifications for the authenticated user + * @description Lists all notifications for the current user in the specified repository. + */ + get: operations["activity/list-repo-notifications-for-authenticated-user"]; + /** + * Mark repository notifications as read + * @description Marks all notifications in a repository as "read" for the current user. 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/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + put: operations["activity/mark-repo-notifications-as-read"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a GitHub Pages site + * @description Gets information about a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages"]; + /** + * 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). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/update-information-about-pages-site"]; + /** + * 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)." + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-pages-site"]; + /** + * Delete a GitHub Pages site + * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/delete-pages-site"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/builds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GitHub Pages builds + * @description Lists builts of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/list-pages-builds"]; + put?: never; + /** + * 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. + * + * 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. + */ + post: operations["repos/request-pages-build"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/builds/latest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get latest Pages build + * @description Gets information about the single most recent build of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-latest-pages-build"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/builds/{build_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Pages build + * @description Gets information about a GitHub Pages build. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages-build"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/deployments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a GitHub Pages deployment + * @description Create a GitHub Pages deployment for a repository. + * + * The authenticated user must have write permission to the repository. + */ + post: operations["repos/create-pages-deployment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the status of a GitHub Pages deployment + * @description Gets the current status of a GitHub Pages deployment. + * + * The authenticated user must have read permission for the GitHub Pages site. + */ + get: operations["repos/get-pages-deployment"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Cancel a GitHub Pages deployment + * @description Cancels a GitHub Pages deployment. + * + * The authenticated user must have write permissions for the GitHub Pages site. + */ + post: operations["repos/cancel-pages-deployment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pages/health": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a DNS health check for GitHub Pages + * @description 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. + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages-health-check"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if private vulnerability reporting is enabled for a repository + * @description Returns a boolean indicating whether or not private vulnerability reporting is enabled for the repository. For more information, see "[Evaluating the security settings of a repository](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository)". + */ + get: operations["repos/check-private-vulnerability-reporting"]; + /** + * Enable private vulnerability reporting for a repository + * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." + */ + put: operations["repos/enable-private-vulnerability-reporting"]; + post?: never; + /** + * Disable private vulnerability reporting for a repository + * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". + */ + delete: operations["repos/disable-private-vulnerability-reporting"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-for-repo"]; + put?: never; + /** + * Create a repository project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-for-repo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/properties/values": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all custom property values for a repository + * @description Gets all custom property values that are set for a repository. + * Users with read access to the repository can use this endpoint. + */ + get: operations["repos/get-custom-properties-values"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Create or update custom property values for a repository + * @description Create new or update existing custom property values for a repository. + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * Repository admins and other users with the repository-level "edit custom property values" fine-grained permission can use this endpoint. + */ + patch: operations["repos/create-or-update-custom-properties-values"]; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests + * @description Lists pull requests in a specified repository. + * + * 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list"]; + put?: never; + /** + * 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://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. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-review-comments-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a review comment for a pull request + * @description Provides details for a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/get-review-comment"]; + put?: never; + post?: never; + /** + * Delete a review comment for a pull request + * @description Deletes a review comment. + */ + delete: operations["pulls/delete-review-comment"]; + options?: never; + head?: never; + /** + * Update a review comment for a pull request + * @description Edits the content of a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["pulls/update-review-comment"]; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a pull request review comment + * @description List the reactions to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + get: operations["reactions/list-for-pull-request-review-comment"]; + put?: never; + /** + * Create reaction for a pull request review comment + * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). 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"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * 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.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + delete: operations["reactions/delete-for-pull-request-comment"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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://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/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/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/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + * - **`application/vnd.github.diff`**: For more information, see "[git-diff](https://git-scm.com/docs/git-diff)" in the Git documentation. If a diff is corrupt, contact us through the [GitHub Support portal](https://support.github.com/). Include the repository name and pull request ID in your message. + */ + get: operations["pulls/get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * 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://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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["pulls/update"]; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a codespace from a pull request + * @description Creates a codespace owned by the authenticated user for the specified pull request. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/create-with-pr-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List review comments on a pull request + * @description Lists all review comments for a specified pull request. By default, review comments + * are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-review-comments"]; + put?: never; + /** + * Create a review comment for a pull request + * @description Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." + * + * If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request. + * + * The `position` parameter is closing down. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create-review-comment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create-reply-for-review-comment"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/commits/commits#list-commits) + * endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-commits"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/files": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests files + * @description Lists the files in a specified pull request. + * + * > [!NOTE] + * > Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-files"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a pull request has been merged + * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. + */ + get: operations["pulls/check-if-merged"]; + /** + * Merge a pull request + * @description Merges a pull request into the base branch. + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + put: operations["pulls/merge"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all requested reviewers for a pull request + * @description Gets 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"]; + put?: never; + /** + * Request reviewers for a pull request + * @description Requests reviews for a pull request from a given set of users and/or teams. + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + post: operations["pulls/request-reviewers"]; + /** + * Remove requested reviewers from a pull request + * @description Removes review requests from a pull request for a given set of users and/or teams. + */ + delete: operations["pulls/remove-requested-reviewers"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reviews for a pull request + * @description Lists all reviews for a specified pull request. The list of reviews returns in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-reviews"]; + put?: never; + /** + * Create a review for a pull request + * @description Creates a review on a specified pull request. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." + * + * > [!NOTE] + * > To comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a pull request](https://docs.github.com/rest/pulls/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. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create-review"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a review for a pull request + * @description Retrieves a pull request review by its ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/get-review"]; + /** + * Update a review for a pull request + * @description Updates the contents of a specified review summary comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + put: operations["pulls/update-review"]; + post?: never; + /** + * Delete a pending review for a pull request + * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + delete: operations["pulls/delete-pending-review"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List comments for a pull request review + * @description Lists comments for a specific pull request review. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-comments-for-review"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Dismiss a review for a pull request + * @description Dismisses a specified review on a pull request. + * + * > [!NOTE] + * > To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + put: operations["pulls/dismiss-review"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Submit a review for a pull request + * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/submit-review"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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. + * Note: If making a request on behalf of a GitHub App you must also have permissions to write the contents of the head repository. + */ + put: operations["pulls/update-branch"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/readme": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository README + * @description Gets the preferred README for a repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + get: operations["repos/get-readme"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/readme/{dir}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository README for a directory + * @description Gets the README from a repository directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + get: operations["repos/get-readme-in-directory"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/repos/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + get: operations["repos/list-releases"]; + put?: never; + /** + * Create a release + * @description Users with push access to the repository can create a release. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + post: operations["repos/create-release"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/assets/{asset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a release asset + * @description To download the asset's binary content: + * + * - If within a browser, fetch the location specified in the `browser_download_url` key provided in the response. + * - Alternatively, set the `Accept` header of the request to + * [`application/octet-stream`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#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. + */ + get: operations["repos/get-release-asset"]; + put?: never; + post?: never; + /** Delete a release asset */ + delete: operations["repos/delete-release-asset"]; + options?: never; + head?: never; + /** + * Update a release asset + * @description Users with push access to the repository can edit a release asset. + */ + patch: operations["repos/update-release-asset"]; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/generate-notes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Generate release notes content for a release + * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). 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"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/latest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the latest release + * @description 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. + */ + get: operations["repos/get-latest-release"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/tags/{tag}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a release by tag name + * @description Get a published release with the specified tag. + */ + get: operations["repos/get-release-by-tag"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a release + * @description Gets a public release with the specified release ID. + * + * > [!NOTE] + * > This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + */ + get: operations["repos/get-release"]; + put?: never; + post?: never; + /** + * Delete a release + * @description Users with push access to the repository can delete a release. + */ + delete: operations["repos/delete-release"]; + options?: never; + head?: never; + /** + * Update a release + * @description Users with push access to the repository can edit a release. + */ + patch: operations["repos/update-release"]; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}/assets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List release assets */ + get: operations["repos/list-release-assets"]; + put?: never; + /** + * Upload a release asset + * @description This endpoint makes use of a [Hypermedia relation](https://docs.github.com/rest/using-the-rest-api/getting-started-with-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/releases/releases#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 release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). + * * 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"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a release + * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + get: operations["reactions/list-for-release"]; + put?: never; + /** + * Create reaction for a release + * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. + */ + post: operations["reactions/create-for-release"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete a release reaction + * @description > [!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/releases/releases#get-a-release). + */ + delete: operations["reactions/delete-for-release"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rules/branches/{branch}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get rules for a branch + * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply + * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level + * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" + * enforcement statuses are not returned. + */ + get: operations["repos/get-branch-rules"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rulesets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all repository rulesets + * @description Get all the rulesets for a repository. + */ + get: operations["repos/get-repo-rulesets"]; + put?: never; + /** + * Create a repository ruleset + * @description Create a ruleset for a repository. + */ + post: operations["repos/create-repo-ruleset"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rulesets/rule-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository rule suites + * @description Lists suites of rule evaluations at the repository level. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-repo-rule-suites"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository rule suite + * @description Gets information about a suite of rule evaluations from within a repository. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-repo-rule-suite"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository ruleset + * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. + */ + get: operations["repos/get-repo-ruleset"]; + /** + * Update a repository ruleset + * @description Update a ruleset for a repository. + */ + put: operations["repos/update-repo-ruleset"]; + post?: never; + /** + * Delete a repository ruleset + * @description Delete a ruleset for a repository. + */ + delete: operations["repos/delete-repo-ruleset"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}/history": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository ruleset history + * @description Get the history of a repository ruleset. + */ + get: operations["repos/get-repo-ruleset-history"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository ruleset version + * @description Get a version of a repository ruleset. + */ + get: operations["repos/get-repo-ruleset-version"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secret scanning alerts for a repository + * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/list-alerts-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a secret scanning alert + * @description Gets a single secret scanning alert detected in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/get-alert"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a secret scanning alert + * @description Updates the status of a secret scanning alert in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + patch: operations["secret-scanning/update-alert"]; + trace?: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List locations for a secret scanning alert + * @description Lists all locations for a given secret scanning alert for an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/list-locations-for-alert"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["secret-scanning/create-push-protection-bypass"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/secret-scanning/scan-history": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get secret scanning scan history for a repository + * @description Lists the latest default incremental and backfill scans by type for a repository. Scans from Copilot Secret Scanning are not included. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/get-scan-history"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/security-advisories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository security advisories + * @description Lists security advisories in a repository. + * + * The authenticated user can access unpublished security advisories from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on any security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + get: operations["security-advisories/list-repository-advisories"]; + put?: never; + /** + * Create a repository security advisory + * @description Creates a new repository security advisory. + * + * In order to create a draft repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + post: operations["security-advisories/create-repository-advisory"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/security-advisories/reports": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Privately report a security vulnerability + * @description Report a security vulnerability to the maintainers of the repository. + * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. + */ + post: operations["security-advisories/create-private-vulnerability-report"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository security advisory + * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * Anyone can access any published security advisory on a public repository. + * + * The authenticated user can access an unpublished security advisory from a repository if they are a security manager or administrator of that repository, or if they are a + * collaborator on the security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + get: operations["security-advisories/get-repository-advisory"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update a repository security advisory + * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * In order to update any security advisory, the authenticated user must be a security manager or administrator of that repository, + * or a collaborator on the repository security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + patch: operations["security-advisories/update-repository-advisory"]; + trace?: never; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Request a CVE for a repository security advisory + * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." + * + * You may request a CVE for public repositories, but cannot do so for private repositories. + * + * In order to request a CVE for a repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + post: operations["security-advisories/create-repository-advisory-cve-request"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a temporary private fork + * @description Create a temporary private fork to collaborate on fixing a security vulnerability in your repository. + * + * > [!NOTE] + * > Forking a repository happens asynchronously. You may have to wait up to 5 minutes before you can access the fork. + */ + post: operations["security-advisories/create-fork"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/stargazers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List stargazers + * @description Lists the people that have starred the repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + get: operations["activity/list-stargazers-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/stats/code_frequency": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the weekly commit activity + * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + * + * > [!NOTE] + * > This endpoint can only be used for repositories with fewer than 10,000 commits. If the repository contains 10,000 or more commits, a 422 status code will be returned. + */ + get: operations["repos/get-code-frequency-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/stats/commit_activity": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`. + */ + get: operations["repos/get-commit-activity-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/stats/contributors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all contributor commit activity + * @description + * 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](https://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + * + * > [!NOTE] + * > This endpoint will return `0` values for all addition and deletion counts in repositories with 10,000 or more commits. + */ + get: operations["repos/get-contributors-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/stats/participation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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`. + * + * The array order is oldest week (index 0) to most recent week. + * + * The most recent week is seven days ago at UTC midnight to today at UTC midnight. + */ + get: operations["repos/get-participation-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/stats/punch_card": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the hourly commit count for each day + * @description 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. + */ + get: operations["repos/get-punch-card-stats"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/statuses/{sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a commit status + * @description Users with push access in a repository can create commit statuses for a given SHA. + * + * 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. + */ + post: operations["repos/create-commit-status"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/subscribers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List watchers + * @description Lists the people watching the specified repository. + */ + get: operations["activity/list-watchers-for-repo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/subscription": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository subscription + * @description Gets information about whether the authenticated user is subscribed to the repository. + */ + get: operations["activity/get-repo-subscription"]; + /** + * 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/activity/watching#delete-a-repository-subscription) completely. + */ + put: operations["activity/set-repo-subscription"]; + post?: never; + /** + * 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/activity/watching#set-a-repository-subscription). + */ + delete: operations["activity/delete-repo-subscription"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List repository tags */ + get: operations["repos/list-tags"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/tags/protection": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Closing down - List tag protection states for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#get-all-repository-rulesets)" endpoint instead. + * + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + get: operations["repos/list-tag-protection"]; + put?: never; + /** + * Closing down - Create a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#create-a-repository-ruleset)" endpoint instead. + * + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + post: operations["repos/create-tag-protection"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Closing down - Delete a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#delete-a-repository-ruleset)" endpoint instead. + * + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + delete: operations["repos/delete-tag-protection"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/tarball/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 + * `main`) 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. + */ + get: operations["repos/download-tarball-archive"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository teams + * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. + * + * For a public repository, a team is listed only if that team added the public repository explicitly. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to use this endpoint with a public repository, and `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-teams"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/topics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get all repository topics */ + get: operations["repos/get-all-topics"]; + /** Replace all repository topics */ + put: operations["repos/replace-all-topics"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/traffic/clones": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["repos/get-clones"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/traffic/popular/paths": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get top referral paths + * @description Get the top 10 popular contents over the last 14 days. + */ + get: operations["repos/get-top-paths"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/traffic/popular/referrers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get top referral sources + * @description Get the top 10 referrers over the last 14 days. + */ + get: operations["repos/get-top-referrers"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/traffic/views": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["repos/get-views"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/transfer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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://docs.github.com/articles/about-repository-transfers/). + */ + post: operations["repos/transfer"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + get: operations["repos/check-vulnerability-alerts"]; + /** + * 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://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + put: operations["repos/enable-vulnerability-alerts"]; + post?: never; + /** + * 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://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + delete: operations["repos/disable-vulnerability-alerts"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{owner}/{repo}/zipball/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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 + * `main`) 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. If the repository is empty, you will receive a 404 when you follow the redirect. + */ + get: operations["repos/download-zipball-archive"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repos/{template_owner}/{template_repo}/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 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. If the repository is not public, 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/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + post: operations["repos/create-using-template"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public repositories + * @description 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/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. + */ + get: operations["repos/list-public"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/code": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/guides/using-pagination-in-the-rest-api). + * + * 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/search/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: + * + * * 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. + * + * This endpoint requires you to authenticate and limits you to 10 requests per minute. + */ + get: operations["search/code"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search commits + * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * 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/search/search#text-match-metadata). + * + * 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: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + get: operations["search/commits"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search issues and pull requests + * @deprecated + * @description > [!WARNING] + * > **Notice:** Search for issues and pull requests will be overridden by advanced search on September 4, 2025. + * > You can read more about this change on [the GitHub blog](https://github.blog/changelog/2025-03-06-github-issues-projects-api-support-for-issues-advanced-search-and-more/). + */ + get: operations["search/issues-and-pull-requests"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/guides/using-pagination-in-the-rest-api). + * + * 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/search/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. + */ + get: operations["search/labels"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search repositories + * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * 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/search/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. + */ + get: operations["search/repos"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/topics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/guides/using-pagination-in-the-rest-api). 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/search/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: + * + * `q=ruby+is:featured` + * + * 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. + */ + get: operations["search/topics"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/search/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search users + * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for users, you can get text match metadata for the issue **login**, public **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/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/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` + * + * 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. + * + * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." + */ + get: operations["search/users"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#get-a-team-by-name) endpoint. + */ + get: operations["teams/get-legacy"]; + put?: never; + post?: never; + /** + * Delete a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/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. + */ + delete: operations["teams/delete-legacy"]; + options?: never; + head?: never; + /** + * Update a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * > [!NOTE] + * > With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + patch: operations["teams/update-legacy"]; + trace?: never; + }; + "/teams/{team_id}/discussions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#list-discussions) endpoint. + * + * List all discussions on a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussions-legacy"]; + put?: never; + /** + * Create a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-legacy"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/discussions/{discussion_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-legacy"]; + put?: never; + post?: never; + /** + * Delete a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-legacy"]; + options?: never; + head?: never; + /** + * Update a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussions#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-legacy"]; + trace?: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussion comments (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussion-comments-legacy"]; + put?: never; + /** + * Create a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. + * + * 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. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-comment-legacy"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-comment-legacy"]; + put?: never; + post?: never; + /** + * Delete a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-comment-legacy"]; + options?: never; + head?: never; + /** + * Update a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/discussion-comments#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-comment-legacy"]; + trace?: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-comment-legacy"]; + put?: never; + /** + * Create reaction for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-comment-legacy"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-legacy"]; + put?: never; + /** + * Create reaction for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-legacy"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pending team invitations (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#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`. + */ + get: operations["teams/list-pending-invitations-legacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team members (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + get: operations["teams/list-members-legacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/members/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get team member (Legacy) + * @deprecated + * @description The "Get team member" endpoint (described below) is closing down. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#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. + */ + get: operations["teams/get-member-legacy"]; + /** + * Add team member (Legacy) + * @deprecated + * @description The "Add team member" endpoint (described below) is closing down. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["teams/add-member-legacy"]; + post?: never; + /** + * Remove team member (Legacy) + * @deprecated + * @description The "Remove team member" endpoint (described below) is closing down. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#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. + * + * 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/)." + */ + delete: operations["teams/remove-member-legacy"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/memberships/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#get-team-membership-for-a-user) endpoint. + * + * 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/teams/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-legacy"]; + /** + * Add or update team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#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://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. + */ + put: operations["teams/add-or-update-membership-for-user-legacy"]; + post?: never; + /** + * Remove team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/members#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://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/)." + */ + delete: operations["teams/remove-membership-for-user-legacy"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team projects (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/list-projects-legacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a project (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/check-permissions-for-project-legacy"]; + /** + * Add or update team project permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + put: operations["teams/add-or-update-project-permissions-legacy"]; + post?: never; + /** + * Remove a project from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["teams/remove-project-legacy"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team repositories (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#list-team-repositories) endpoint. + */ + get: operations["teams/list-repos-legacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/repos/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a repository (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#check-team-permissions-for-a-repository) endpoint. + * + * > [!NOTE] + * > 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/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `Accept` header: + */ + get: operations["teams/check-permissions-for-repo-legacy"]; + /** + * Add or update team repository permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#add-or-update-team-repository-permissions)" endpoint. + * + * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["teams/add-or-update-repo-permissions-legacy"]; + post?: never; + /** + * Remove a repository from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/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. + */ + delete: operations["teams/remove-repo-legacy"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/teams/{team_id}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List child teams (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down 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/teams/teams#list-child-teams) endpoint. + */ + get: operations["teams/list-child-legacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private profile information. + */ + get: operations["users/get-authenticated"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * 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. + */ + patch: operations["users/update-authenticated"]; + trace?: never; + }; + "/user/blocks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users blocked by the authenticated user + * @description List the users you've blocked on your personal account. + */ + get: operations["users/list-blocked-by-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/blocks/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user is blocked by the authenticated user + * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. + */ + get: operations["users/check-blocked"]; + /** + * Block a user + * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. + */ + put: operations["users/block"]; + post?: never; + /** + * Unblock a user + * @description Unblocks the given user and returns a 204. + */ + delete: operations["users/unblock"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces for the authenticated user + * @description Lists the authenticated user's codespaces. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/list-for-authenticated-user"]; + put?: never; + /** + * Create a codespace for the authenticated user + * @description Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/create-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secrets for the authenticated user + * @description Lists all development environment secrets available for a user's codespaces without revealing their + * encrypted values. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/list-secrets-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get public key for the authenticated user + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/get-public-key-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a secret for the authenticated user + * @description Gets a development environment secret available to a user's codespaces without revealing its encrypted value. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/get-secret-for-authenticated-user"]; + /** + * Create or update a secret for the authenticated user + * @description Creates or updates a development environment secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; + post?: never; + /** + * Delete a secret for the authenticated user + * @description Deletes a development environment 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. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + delete: operations["codespaces/delete-secret-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories for a user secret + * @description List the repositories that have been granted the ability to use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; + /** + * Set selected repositories for a user secret + * @description Select the repositories that will use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Add a selected repository to a user secret + * @description Adds a repository to the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; + post?: never; + /** + * Remove a selected repository from a user secret + * @description Removes a repository from the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/{codespace_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a codespace for the authenticated user + * @description Gets information about a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/get-for-authenticated-user"]; + put?: never; + post?: never; + /** + * Delete a codespace for the authenticated user + * @description Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + delete: operations["codespaces/delete-for-authenticated-user"]; + options?: never; + head?: never; + /** + * Update a codespace for the authenticated user + * @description 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. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + patch: operations["codespaces/update-for-authenticated-user"]; + trace?: never; + }; + "/user/codespaces/{codespace_name}/exports": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Export a codespace for the authenticated user + * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/export-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/{codespace_name}/exports/{export_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get details about a codespace export + * @description Gets information about an export of a codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/get-export-details-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/{codespace_name}/machines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List machine types for a codespace + * @description List the machine types a codespace can transition to use. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/codespace-machines-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/{codespace_name}/publish": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a repository from an unpublished codespace + * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. + * + * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. + * + * This will fail for a codespace that is already published, meaning it has an associated repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/publish-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/{codespace_name}/start": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Start a codespace for the authenticated user + * @description Starts a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/start-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/codespaces/{codespace_name}/stop": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Stop a codespace for the authenticated user + * @description Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/stop-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/docker/conflicts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get list of conflicting packages during Docker migration for authenticated-user + * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/email/visibility": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Set primary email visibility for the authenticated user + * @description Sets the visibility for your primary email addresses. + */ + patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; + trace?: never; + }; + "/user/emails": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List email addresses for the authenticated user + * @description Lists all of your email addresses, and specifies which one is visible + * to the public. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + get: operations["users/list-emails-for-authenticated-user"]; + put?: never; + /** + * Add an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + post: operations["users/add-email-for-authenticated-user"]; + /** + * Delete an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + delete: operations["users/delete-email-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/followers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List followers of the authenticated user + * @description Lists the people following the authenticated user. + */ + get: operations["users/list-followers-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/following": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List the people the authenticated user follows + * @description Lists the people who the authenticated user follows. + */ + get: operations["users/list-followed-by-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/following/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Check if a person is followed by the authenticated user */ + get: operations["users/check-person-is-followed-by-authenticated"]; + /** + * 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/guides/getting-started-with-the-rest-api#http-method)." + * + * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + put: operations["users/follow"]; + post?: never; + /** + * Unfollow a user + * @description OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + delete: operations["users/unfollow"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/gpg_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GPG keys for the authenticated user + * @description Lists the current user's GPG keys. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + get: operations["users/list-gpg-keys-for-authenticated-user"]; + put?: never; + /** + * Create a GPG key for the authenticated user + * @description Adds a GPG key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + post: operations["users/create-gpg-key-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/gpg_keys/{gpg_key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a GPG key for the authenticated user + * @description View extended details for a single GPG key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + get: operations["users/get-gpg-key-for-authenticated-user"]; + put?: never; + post?: never; + /** + * Delete a GPG key for the authenticated user + * @description Removes a GPG key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. + */ + delete: operations["users/delete-gpg-key-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/installations/{installation_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * 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. + * + * 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/installations/{installation_id}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 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. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + put: operations["apps/add-repo-to-installation-for-authenticated-user"]; + post?: never; + /** + * 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. The installation must have the `repository_selection` of `selected`. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/interaction-limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["interactions/get-restrictions-for-authenticated-user"]; + /** + * 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. + */ + put: operations["interactions/set-restrictions-for-authenticated-user"]; + post?: never; + /** + * Remove interaction restrictions from your public repositories + * @description Removes any interaction restrictions from your public repositories. + */ + delete: operations["interactions/remove-restrictions-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List user account issues assigned to the authenticated user + * @description List issues across owned and member repositories assigned to the authenticated user. + * + * > [!NOTE] + * > GitHub's REST API 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/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public SSH keys for the authenticated user + * @description Lists the public SSH keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + get: operations["users/list-public-ssh-keys-for-authenticated-user"]; + put?: never; + /** + * Create a public SSH key for the authenticated user + * @description Adds a public SSH key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + post: operations["users/create-public-ssh-key-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/keys/{key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a public SSH key for the authenticated user + * @description View extended details for a single public SSH key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + get: operations["users/get-public-ssh-key-for-authenticated-user"]; + put?: never; + post?: never; + /** + * Delete a public SSH key for the authenticated user + * @description Removes a public SSH key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. + */ + delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/marketplace_purchases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List subscriptions for the authenticated user + * @description Lists the active subscriptions for the authenticated user. + */ + get: operations["apps/list-subscriptions-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/marketplace_purchases/stubbed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List subscriptions for the authenticated user (stubbed) + * @description Lists the active subscriptions for the authenticated user. + */ + get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/memberships/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization memberships for the authenticated user + * @description Lists all of the authenticated user's organization memberships. + */ + get: operations["orgs/list-memberships-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/memberships/orgs/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization membership for the authenticated user + * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. + */ + get: operations["orgs/get-membership-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update an organization membership for the authenticated user + * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. + */ + patch: operations["orgs/update-membership-for-authenticated-user"]; + trace?: never; + }; + "/user/migrations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List user migrations + * @description Lists all migrations a user has started. + */ + get: operations["migrations/list-for-authenticated-user"]; + put?: never; + /** + * Start a user migration + * @description Initiates the generation of a user migration archive. + */ + post: operations["migrations/start-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/migrations/{migration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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: + * + * * `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/migrations/users#download-a-user-migration-archive). + */ + get: operations["migrations/get-status-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/migrations/{migration_id}/archive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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: + * + * * 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"]; + put?: never; + post?: never; + /** + * 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/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#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"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/migrations/{migration_id}/repos/{repo_name}/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Unlock a user repository + * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#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/repos/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"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/migrations/{migration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories for a user migration + * @description Lists all the repositories for this user migration. + */ + get: operations["migrations/list-repos-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organizations for the authenticated user + * @description List organizations for the authenticated user. + * + * For OAuth app tokens and personal access tokens (classic), this endpoint 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 for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will receive a `403 Forbidden` response. + * + * > [!NOTE] + * > Requests using a fine-grained access token will receive a `200 Success` response with an empty list. + */ + get: operations["orgs/list-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List packages for the authenticated user's namespace + * @description Lists packages owned by the authenticated user within the user's namespace. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/packages/{package_type}/{package_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package for the authenticated user + * @description Gets a specific package for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-authenticated-user"]; + put?: never; + post?: never; + /** + * Delete a package for the authenticated user + * @description 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/packages/{package_type}/{package_name}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore a package for the authenticated user + * @description 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/packages/{package_type}/{package_name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List package versions for a package owned by the authenticated user + * @description Lists package versions for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package version for the authenticated user + * @description Gets a specific package version for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-authenticated-user"]; + put?: never; + post?: never; + /** + * Delete a package version for the authenticated user + * @description 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. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore a package version for the authenticated user + * @description 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. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create a user project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/public_emails": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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/users/emails#set-primary-email-visibility-for-the-authenticated-user) + * endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + get: operations["users/list-public-emails-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories for the authenticated user + * @description 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"]; + put?: never; + /** + * Create a repository for the authenticated user + * @description Creates a new repository for the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + post: operations["repos/create-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/repository_invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + */ + get: operations["repos/list-invitations-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/repository_invitations/{invitation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Decline a repository invitation */ + delete: operations["repos/decline-invitation-for-authenticated-user"]; + options?: never; + head?: never; + /** Accept a repository invitation */ + patch: operations["repos/accept-invitation-for-authenticated-user"]; + trace?: never; + }; + "/user/social_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List social accounts for the authenticated user + * @description Lists all of your social accounts. + */ + get: operations["users/list-social-accounts-for-authenticated-user"]; + put?: never; + /** + * Add social accounts for the authenticated user + * @description Add one or more social accounts to the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + post: operations["users/add-social-account-for-authenticated-user"]; + /** + * Delete social accounts for the authenticated user + * @description Deletes one or more social accounts from the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + delete: operations["users/delete-social-account-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/ssh_signing_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List SSH signing keys for the authenticated user + * @description Lists the SSH signing keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; + put?: never; + /** + * Create a SSH signing key for the authenticated user + * @description Creates an SSH signing key for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint. + */ + post: operations["users/create-ssh-signing-key-for-authenticated-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/ssh_signing_keys/{ssh_signing_key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an SSH signing key for the authenticated user + * @description Gets extended details for an SSH signing key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + get: operations["users/get-ssh-signing-key-for-authenticated-user"]; + put?: never; + post?: never; + /** + * Delete an SSH signing key for the authenticated user + * @description Deletes an SSH signing key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint. + */ + delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/starred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories starred by the authenticated user + * @description Lists repositories the authenticated user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + get: operations["activity/list-repos-starred-by-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/starred/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a repository is starred by the authenticated user + * @description Whether the authenticated user has starred the repository. + */ + get: operations["activity/check-repo-is-starred-by-authenticated-user"]; + /** + * 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["activity/star-repo-for-authenticated-user"]; + post?: never; + /** + * Unstar a repository for the authenticated user + * @description Unstar a repository that the authenticated user has previously starred. + */ + delete: operations["activity/unstar-repo-for-authenticated-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/subscriptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories watched by the authenticated user + * @description Lists repositories the authenticated user is watching. + */ + get: operations["activity/list-watched-repos-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List teams for the authenticated user + * @description List all of the teams across all of the organizations to which the authenticated + * user belongs. + * + * OAuth app tokens and personal access tokens (classic) need the `user`, `repo`, or `read:org` scope to use this endpoint. + * + * When using a fine-grained personal access token, the resource owner of the token must be a single organization, and the response will only include the teams from that organization. + */ + get: operations["teams/list-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/{account_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user using their ID + * @description Provides publicly available information about someone with a GitHub account. This method takes their durable user `ID` instead of their `login`, which can change over time. + * + * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + * + * 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/guides/getting-started-with-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/users/emails). + */ + get: operations["users/get-by-id"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users + * @description 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/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. + */ + get: operations["users/list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user + * @description Provides publicly available information about someone with a GitHub account. + * + * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + * + * 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/guides/getting-started-with-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/users/emails). + */ + get: operations["users/get-by-username"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/attestations/bulk-list": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * List attestations by bulk subject digests + * @description List a collection of artifact attestations associated with any entry in a list of subject digests owned by a user. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + post: operations["users/list-attestations-bulk"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/attestations/delete-request": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Delete attestations in bulk + * @description Delete artifact attestations in bulk by either subject digests or unique ID. + */ + post: operations["users/delete-attestations-bulk"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/attestations/digest/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete attestations by subject digest + * @description Delete an artifact attestation by subject digest. + */ + delete: operations["users/delete-attestations-by-subject-digest"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/attestations/{attestation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete attestations by ID + * @description Delete an artifact attestation by unique ID that is associated with a repository owned by a user. + */ + delete: operations["users/delete-attestations-by-id"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/attestations/{subject_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by a user. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["users/list-attestations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/docker/conflicts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get list of conflicting packages during Docker migration for user + * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. _Optional_: use the fine-grained token with following permission set to view private events: "Events" user permissions (read). + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-events-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/events/orgs/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 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. + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-org-events-for-authenticated-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/events/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public events for a user + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-events-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/followers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List followers of a user + * @description Lists the people following the specified user. + */ + get: operations["users/list-followers-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/following": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List the people a user follows + * @description Lists the people who the specified user follows. + */ + get: operations["users/list-following-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/following/{target_user}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Check if a user follows another user */ + get: operations["users/check-following-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/gists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List gists for a user + * @description Lists public gists for the specified user: + */ + get: operations["gists/list-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/gpg_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GPG keys for a user + * @description Lists the GPG keys for a user. This information is accessible by anyone. + */ + get: operations["users/list-gpg-keys-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/hovercard": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get contextual information for a user + * @description Provides hovercard information. 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, you would use a `subject_type` value of `repository` and a `subject_id` value of `1300192` (the ID of the `Spoon-Knife` repository). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["users/get-context-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user installation for the authenticated app + * @description 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"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public keys for a user + * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + get: operations["users/list-public-keys-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organizations for a user + * @description 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/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + get: operations["orgs/list-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List packages for a user + * @description Lists all packages in a user's namespace for which the requesting user has access. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/packages/{package_type}/{package_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package for a user + * @description Gets a specific package metadata for a public package owned by a user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-user"]; + put?: never; + post?: never; + /** + * Delete a package for a user + * @description 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore a package for a user + * @description 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List package versions for a package owned by a user + * @description Lists package versions for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package version for a user + * @description Gets a specific package version for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-user"]; + put?: never; + post?: never; + /** + * Delete package version for a user + * @description 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-user"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restore package version for a user + * @description 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. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-user"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List user projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/received_events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List events received by the authenticated user + * @description These are events that you've received by watching repositories and following users. If you are authenticated as the + * given user, you will see private events. Otherwise, you'll only see public events. + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-received-events-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/received_events/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public events received by a user + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-received-public-events-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories for a user + * @description Lists public repositories for the specified user. + */ + get: operations["repos/list-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/settings/billing/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions billing for a user + * @description 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)". + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + get: operations["billing/get-github-actions-billing-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/settings/billing/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Packages billing for a user + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + get: operations["billing/get-github-packages-billing-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/settings/billing/shared-storage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get shared storage billing for a user + * @description 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)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + get: operations["billing/get-shared-storage-billing-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/settings/billing/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get billing usage report for a user + * @description Gets a report of the total usage for a user. + * + * **Note:** This endpoint is only available to users with access to the enhanced billing platform. + */ + get: operations["billing/get-github-billing-usage-report-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/social_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List social accounts for a user + * @description Lists social media accounts for a user. This endpoint is accessible by anyone. + */ + get: operations["users/list-social-accounts-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/ssh_signing_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List SSH signing keys for a user + * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. + */ + get: operations["users/list-ssh-signing-keys-for-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/starred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories starred by a user + * @description Lists repositories a user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + get: operations["activity/list-repos-starred-by-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{username}/subscriptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories watched by a user + * @description Lists repositories a user is watching. + */ + get: operations["activity/list-repos-watched-by-user"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all API versions + * @description Get all supported GitHub API versions. + */ + get: operations["meta/get-all-versions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/zen": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the Zen of GitHub + * @description Get a random sentence from the Zen of GitHub + */ + get: operations["meta/get-zen"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} export type webhooks = Record; export interface components { schemas: { - Booking: { - bookingId?: string | null; + 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 + * @deprecated + */ + 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; + }; + /** + * @description The package's language or package management ecosystem. + * @enum {string} + */ + "security-advisory-ecosystems": "rubygems" | "npm" | "pip" | "maven" | "nuget" | "composer" | "go" | "rust" | "erlang" | "actions" | "pub" | "other" | "swift"; + /** @description A vulnerability describing the product and its affected versions within a GitHub Security Advisory. */ + vulnerability: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version that resolves the vulnerability. */ + first_patched_version: string | null; + /** @description The functions in the package that are affected by the vulnerability. */ + readonly vulnerable_functions: string[] | null; + }; + "cvss-severities": { + cvss_v3?: { + /** @description The CVSS 3 vector string. */ + vector_string: string | null; + /** @description The CVSS 3 score. */ + readonly score: number | null; + } | null; + cvss_v4?: { + /** @description The CVSS 4 vector string. */ + vector_string: string | null; + /** @description The CVSS 4 score. */ + readonly score: number | null; + } | null; + } | null; + /** @description The EPSS scores as calculated by the [Exploit Prediction Scoring System](https://www.first.org/epss). */ + "security-advisory-epss": { + percentage?: number; + percentile?: number; + } | null; + /** + * Simple User + * @description A GitHub user. + */ + "simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** + * Format: int64 + * @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; + /** @example public */ + user_view_type?: string; + }; + /** + * @description The type of credit the user is receiving. + * @enum {string} + */ + "security-advisory-credit-types": "analyst" | "finder" | "reporter" | "coordinator" | "remediation_developer" | "remediation_reviewer" | "remediation_verifier" | "tool" | "sponsor" | "other"; + /** @description A GitHub Security Advisory. */ + "global-advisory": { + /** @description The GitHub Security Advisory ID. */ + readonly ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + readonly cve_id: string | null; + /** @description The API URL for the advisory. */ + readonly url: string; + /** + * Format: uri + * @description The URL for the advisory. + */ + readonly html_url: string; + /** + * Format: uri + * @description The API URL for the repository advisory. + */ + readonly repository_advisory_url: string | null; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; + /** + * @description The type of advisory. + * @enum {string} + */ + readonly type: "reviewed" | "unreviewed" | "malware"; + /** + * @description The severity of the advisory. + * @enum {string} + */ + severity: "critical" | "high" | "medium" | "low" | "unknown"; + /** + * Format: uri + * @description The URL of the advisory's source code. + */ + source_code_location: string | null; + readonly identifiers: { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[] | null; + references: string[] | null; + /** + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. + */ + readonly published_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. + */ + readonly updated_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format. + */ + readonly github_reviewed_at: string | null; + /** + * Format: date-time + * @description The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format. + * This field is only populated when the advisory is imported from the National Vulnerability Database. + */ + readonly nvd_published_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + */ + readonly withdrawn_at: string | null; + /** @description The products and respective version ranges affected by the advisory. */ + vulnerabilities: components["schemas"]["vulnerability"][] | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + readonly score: number | null; + } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; + epss?: components["schemas"]["security-advisory-epss"]; + cwes: { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + readonly name: string; + }[] | null; + /** @description The users who contributed to the advisory. */ + readonly credits: { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + }[] | null; + }; + /** + * 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[]; + }; + /** + * Enterprise + * @description An enterprise on GitHub. + */ + 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; + }; + /** + * 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; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + owner: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; + /** + * @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. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation. + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself. + * @example 5 + */ + installations_count?: number; + } | null; + /** + * 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": { + /** + * Format: int64 + * @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; + /** + * Format: int64 + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * Format: int64 + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + /** + * Format: date-time + * @description Time when the webhook delivery was throttled. + * @example 2021-05-12T20:33:44Z + */ + throttled_at?: string | 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; + /** + * Format: date-time + * @description Time when the webhook delivery was throttled. + * @example 2021-05-12T20:33:44Z + */ + throttled_at?: string | 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; + }; + }; + /** + * Integration Installation Request + * @description Request to install an integration on a target + */ + "integration-installation-request": { + /** + * @description Unique identifier of the request installation. + * @example 42 + */ + id: number; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id?: string; + account: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; + requester: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2022-07-08T16:18:44-04:00 + */ + created_at: string; + }; + /** + * App Permissions + * @description The permissions granted to the user 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 to create, edit, delete, and list Codespaces. + * @enum {string} + */ + codespaces?: "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 to manage Dependabot secrets. + * @enum {string} + */ + dependabot_secrets?: "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 view and edit custom properties for a repository, when allowed by the property. + * @enum {string} + */ + repository_custom_properties?: "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 for custom repository roles management. + * @enum {string} + */ + organization_custom_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom organization roles management. + * @enum {string} + */ + organization_custom_org_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom property management. + * @enum {string} + */ + organization_custom_properties?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for managing access to GitHub Copilot for members of an organization with a Copilot Business subscription. This property is in public preview and is subject to change. + * @enum {string} + */ + organization_copilot_seat_management?: "write"; + /** + * @description The level of permission to grant the access token to view and manage announcement banners for an organization. + * @enum {string} + */ + organization_announcement_banners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view events triggered by an activity in an organization. + * @enum {string} + */ + organization_events?: "read"; + /** + * @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 and managing fine-grained personal access token requests to an organization. + * @enum {string} + */ + organization_personal_access_tokens?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. + * @enum {string} + */ + organization_personal_access_token_requests?: "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 public preview (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"; + /** + * @description The level of permission to grant the access token to manage the email addresses belonging to a user. + * @enum {string} + */ + email_addresses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the followers belonging to a user. + * @enum {string} + */ + followers?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage git SSH keys. + * @enum {string} + */ + git_ssh_keys?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GPG keys belonging to a user. + * @enum {string} + */ + gpg_keys?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage interaction limits on a repository. + * @enum {string} + */ + interaction_limits?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the profile settings belonging to a user. + * @enum {string} + */ + profile?: "write"; + /** + * @description The level of permission to grant the access token to list and manage repositories a user is starring. + * @enum {string} + */ + starring?: "read" | "write"; + }; + /** + * Simple User + * @description A GitHub user. + */ + "nullable-simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** + * Format: int64 + * @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; + /** @example public */ + user_view_type?: string; + } | null; + /** + * Installation + * @description Installation + */ + installation: { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + account: (components["schemas"]["simple-user"] | components["schemas"]["enterprise"]) | 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/app/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; + /** @example Iv1.ab1112223334445c */ + client_id?: string; + /** @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 repository on GitHub. + */ + repository: { + /** + * Format: int64 + * @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; + }; + 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; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @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; + /** + * @deprecated + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions: 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; + 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; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @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; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required: boolean; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + /** @description The status of the code search index for this repository */ + code_search_index_status?: { + lexical_search_ok?: boolean; + lexical_commit_sha?: 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[]; + }; + /** 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: { + /** Format: int64 */ + 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; + }; + /** + * Simple Classroom Repository + * @description A GitHub repository view for Classroom + */ + "simple-classroom-repository": { + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @description The full, globally unique name of the repository. + * @example octocat/Hello-World + */ + full_name: string; + /** + * Format: uri + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + */ + node_id: string; + /** @description Whether the repository is private. */ + private: boolean; + /** + * @description The default branch for the repository. + * @example main + */ + default_branch: string; + }; + /** + * Organization Simple for Classroom + * @description A GitHub organization. + */ + "simple-classroom-organization": { + /** @example 1 */ + id: number; + /** @example github */ + login: string; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/github + */ + html_url: string; + /** @example Github - Code thigns happen here */ + name: string | null; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + }; + /** + * Classroom + * @description A GitHub Classroom classroom + */ + classroom: { + /** + * @description Unique identifier of the classroom. + * @example 42 + */ + id: number; + /** + * @description The name of the classroom. + * @example Programming Elixir + */ + name: string; + /** + * @description Whether classroom is archived. + * @example false + */ + archived: boolean; + organization: components["schemas"]["simple-classroom-organization"]; + /** + * @description The URL of the classroom on GitHub Classroom. + * @example https://classroom.github.com/classrooms/1-programming-elixir + */ + url: string; + }; + /** + * Classroom Assignment + * @description A GitHub Classroom assignment + */ + "classroom-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment creates a public repository. + * @example true + */ + public_repo: boolean; + /** + * @description Assignment title. + * @example Intro to Binaries + */ + title: string; + /** + * @description Whether it's a group assignment or individual assignment. + * @example individual + * @enum {string} + */ + type: "individual" | "group"; + /** + * @description The link that a student can use to accept the assignment. + * @example https://classroom.github.com/a/Lx7jiUgx + */ + invite_link: string; + /** + * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. + * @example true + */ + invitations_enabled: boolean; + /** + * @description Sluggified name of the assignment. + * @example intro-to-binaries + */ + slug: string; + /** + * @description Whether students are admins on created repository when a student accepts the assignment. + * @example true + */ + students_are_repo_admins: boolean; + /** + * @description Whether feedback pull request will be created when a student accepts the assignment. + * @example true + */ + feedback_pull_requests_enabled: boolean; + /** + * @description The maximum allowable teams for the assignment. + * @example 0 + */ + max_teams: number | null; + /** + * @description The maximum allowable members per team. + * @example 0 + */ + max_members: number | null; + /** + * @description The selected editor for the assignment. + * @example codespaces + */ + editor: string; + /** + * @description The number of students that have accepted the assignment. + * @example 25 + */ + accepted: number; + /** + * @description The number of students that have submitted the assignment. + * @example 10 + */ + submitted: number; + /** + * @description The number of students that have passed the assignment. + * @example 10 + */ + passing: number; + /** + * @description The programming language used in the assignment. + * @example elixir + */ + language: string; + /** + * Format: date-time + * @description The time at which the assignment is due. + * @example 2011-01-26T19:06:43Z + */ + deadline: string | null; + starter_code_repository: components["schemas"]["simple-classroom-repository"]; + classroom: components["schemas"]["classroom"]; + }; + /** + * Simple Classroom User + * @description A GitHub user simplified for Classroom. + */ + "simple-classroom-user": { + /** @example 1 */ + id: number; + /** @example octocat */ + login: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + }; + /** + * Simple Classroom + * @description A GitHub Classroom classroom + */ + "simple-classroom": { + /** + * @description Unique identifier of the classroom. + * @example 42 + */ + id: number; + /** + * @description The name of the classroom. + * @example Programming Elixir + */ + name: string; + /** + * @description Returns whether classroom is archived or not. + * @example false + */ + archived: boolean; + /** + * @description The url of the classroom on GitHub Classroom. + * @example https://classroom.github.com/classrooms/1-programming-elixir + */ + url: string; + }; + /** + * Simple Classroom Assignment + * @description A GitHub Classroom assignment + */ + "simple-classroom-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment creates a public repository. + * @example true + */ + public_repo: boolean; + /** + * @description Assignment title. + * @example Intro to Binaries + */ + title: string; + /** + * @description Whether it's a Group Assignment or Individual Assignment. + * @example individual + * @enum {string} + */ + type: "individual" | "group"; + /** + * @description The link that a student can use to accept the assignment. + * @example https://classroom.github.com/a/Lx7jiUgx + */ + invite_link: string; + /** + * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. + * @example true + */ + invitations_enabled: boolean; + /** + * @description Sluggified name of the assignment. + * @example intro-to-binaries + */ + slug: string; + /** + * @description Whether students are admins on created repository on accepted assignment. + * @example true + */ + students_are_repo_admins: boolean; + /** + * @description Whether feedback pull request will be created on assignment acceptance. + * @example true + */ + feedback_pull_requests_enabled: boolean; + /** + * @description The maximum allowable teams for the assignment. + * @example 0 + */ + max_teams?: number | null; + /** + * @description The maximum allowable members per team. + * @example 0 + */ + max_members?: number | null; + /** + * @description The selected editor for the assignment. + * @example codespaces + */ + editor: string; + /** + * @description The number of students that have accepted the assignment. + * @example 25 + */ + accepted: number; + /** + * @description The number of students that have submitted the assignment. + * @example 10 + */ + submitted: number; + /** + * @description The number of students that have passed the assignment. + * @example 10 + */ + passing: number; + /** + * @description The programming language used in the assignment. + * @example elixir + */ + language: string; + /** + * Format: date-time + * @description The time at which the assignment is due. + * @example 2011-01-26T19:06:43Z + */ + deadline: string | null; + classroom: components["schemas"]["simple-classroom"]; + }; + /** + * Classroom Accepted Assignment + * @description A GitHub Classroom accepted assignment + */ + "classroom-accepted-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment has been submitted. + * @example true + */ + submitted: boolean; + /** + * @description Whether a submission passed. + * @example true + */ + passing: boolean; + /** + * @description Count of student commits. + * @example 5 + */ + commit_count: number; + /** + * @description Most recent grade. + * @example 10/10 + */ + grade: string; + students: components["schemas"]["simple-classroom-user"][]; + repository: components["schemas"]["simple-classroom-repository"]; + assignment: components["schemas"]["simple-classroom-assignment"]; + }; + /** + * Classroom Assignment Grade + * @description Grade for a student or groups GitHub Classroom assignment + */ + "classroom-assignment-grade": { + /** @description Name of the assignment */ + assignment_name: string; + /** @description URL of the assignment */ + assignment_url: string; + /** @description URL of the starter code for the assignment */ + starter_code_url: string; + /** @description GitHub username of the student */ + github_username: string; + /** @description Roster identifier of the student */ + roster_identifier: string; + /** @description Name of the student's assignment repository */ + student_repository_name: string; + /** @description URL of the student's assignment repository */ + student_repository_url: string; + /** @description Timestamp of the student's assignment submission */ + submission_timestamp: string; + /** @description Number of points awarded to the student */ + points_awarded: number; + /** @description Number of points available for the assignment */ + points_available: number; + /** @description If a group assignment, name of the group the student is in */ + group_name?: string; + }; + /** + * 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](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/). + * */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + /** @description A code security configuration */ + "code-security-configuration": { + /** @description The ID of the code security configuration */ + id?: number; + /** @description The name of the code security configuration. Must be unique within the organization. */ + name?: string; + /** + * @description The type of the code security configuration. + * @enum {string} + */ + target_type?: "global" | "organization" | "enterprise"; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security + * @enum {string} + */ + advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for code scanning */ + code_scanning_options?: Record | null; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for code scanning default setup */ + code_scanning_default_setup_options?: { + /** + * @description Whether to use labeled runners or standard GitHub runners. + * @enum {string|null} + */ + runner_type?: "standard" | "labeled" | "not_set" | null; + /** @description The label of the runner to use for code scanning when runner_type is 'labeled'. */ + runner_label?: string | null; + } | null; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated bypass + * @enum {string} + */ + secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for secret scanning delegated bypass */ + secret_scanning_delegated_bypass_options?: { + /** @description The bypass reviewers for secret scanning delegated bypass */ + reviewers?: { + /** @description The ID of the team or role selected as a bypass reviewer */ + reviewer_id: number; + /** + * @description The type of the bypass reviewer + * @enum {string} + */ + reviewer_type: "TEAM" | "ROLE"; + }[]; + }; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + /** + * Format: uri + * @description The URL of the configuration + */ + url?: string; + /** + * Format: uri + * @description The URL of the configuration + */ + html_url?: string; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** @description Feature options for code scanning default setup */ + "code-scanning-default-setup-options": { + /** + * @description Whether to use labeled runners or standard GitHub runners. + * @enum {string} + */ + runner_type?: "standard" | "labeled" | "not_set"; + /** @description The label of the runner to use for code scanning default setup when runner_type is 'labeled'. */ + runner_label?: string | null; + } | null; + /** @description A list of default code security configurations */ + "code-security-default-configurations": { + /** + * @description The visibility of newly created repositories for which the code security configuration will be applied to by default + * @enum {unknown} + */ + default_for_new_repos?: "public" | "private_and_internal" | "all"; + configuration?: components["schemas"]["code-security-configuration"]; + }[]; + /** + * Simple Repository + * @description A GitHub repository. + */ + "simple-repository": { + /** + * Format: int64 + * @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; + }; + /** @description Repositories associated with a code security configuration and attachment status */ + "code-security-configuration-repositories": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + repository?: components["schemas"]["simple-repository"]; + }; + /** @description The security alert number. */ + "alert-number": number; + /** @description Details for the vulnerable package. */ + "dependabot-alert-package": { + /** @description The package's language or package management ecosystem. */ + readonly ecosystem: string; + /** @description The unique package name within its ecosystem. */ + readonly name: string; + }; + /** @description Details pertaining to one vulnerable version range for the advisory. */ + "dependabot-alert-security-vulnerability": { + package: components["schemas"]["dependabot-alert-package"]; + /** + * @description The severity of the vulnerability. + * @enum {string} + */ + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Conditions that identify vulnerable versions of this vulnerability's package. */ + readonly vulnerable_version_range: string; + /** @description Details pertaining to the package version that patches this vulnerability. */ + readonly first_patched_version: { + /** @description The package version that patches this vulnerability. */ + readonly identifier: string; + } | null; + }; + /** @description Details for the GitHub Security Advisory. */ + "dependabot-alert-security-advisory": { + /** @description The unique GitHub Security Advisory ID assigned to the advisory. */ + readonly ghsa_id: string; + /** @description The unique CVE ID assigned to the advisory. */ + readonly cve_id: string | null; + /** @description A short, plain text summary of the advisory. */ + readonly summary: string; + /** @description A long-form Markdown-supported description of the advisory. */ + readonly description: string; + /** @description Vulnerable version range information for the advisory. */ + readonly vulnerabilities: components["schemas"]["dependabot-alert-security-vulnerability"][]; + /** + * @description The severity of the advisory. + * @enum {string} + */ + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Details for the advisory pertaining to the Common Vulnerability Scoring System. */ + readonly cvss: { + /** @description The overall CVSS score of the advisory. */ + readonly score: number; + /** @description The full CVSS vector string for the advisory. */ + readonly vector_string: string | null; + }; + cvss_severities?: components["schemas"]["cvss-severities"]; + epss?: components["schemas"]["security-advisory-epss"]; + /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ + readonly cwes: { + /** @description The unique CWE ID. */ + readonly cwe_id: string; + /** @description The short, plain text name of the CWE. */ + readonly name: string; + }[]; + /** @description Values that identify this advisory among security information sources. */ + readonly identifiers: { + /** + * @description The type of advisory identifier. + * @enum {string} + */ + readonly type: "CVE" | "GHSA"; + /** @description The value of the advisory identifer. */ + readonly value: string; + }[]; + /** @description Links to additional advisory information. */ + readonly references: { + /** + * Format: uri + * @description The URL of the reference. + */ + readonly url: string; + }[]; + /** + * Format: date-time + * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly published_at: string; + /** + * Format: date-time + * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly updated_at: string; + /** + * Format: date-time + * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly withdrawn_at: string | null; + }; + /** + * 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: 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: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-dismissed-at": string | null; + /** + * 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`. + */ + "alert-fixed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-auto-dismissed-at": string | null; + /** @description A Dependabot alert. */ + "dependabot-alert-with-repository": { + number: components["schemas"]["alert-number"]; + /** + * @description The state of the Dependabot alert. + * @enum {string} + */ + readonly state: "auto_dismissed" | "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + readonly dependency: { + package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; + /** + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} + */ + readonly scope?: "development" | "runtime" | null; + /** + * @description The vulnerable dependency's relationship to your project. + * + * > [!NOTE] + * > We are rolling out support for dependency relationship across ecosystems. This value will be "unknown" for all dependencies in unsupported ecosystems. + * + * @enum {string|null} + */ + readonly relationship?: "unknown" | "direct" | "transitive" | null; + }; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | null; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: string | null; + fixed_at: components["schemas"]["alert-fixed-at"]; + auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; + 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. 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": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | 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; + }; + /** @description Represents a 'wiki_commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository wiki. */ + "secret-scanning-location-wiki-commit": { + /** + * @description The file path of the wiki page + * @example /example/Home.md + */ + 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 8-bit ASCII. */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8-bit ASCII. */ + end_column: number; + /** + * @description SHA-1 hash ID of the associated blob + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + blob_sha: string; + /** + * @description The GitHub URL to get the associated wiki page + * @example https://github.com/octocat/Hello-World/wiki/Home/302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + page_url: string; + /** + * @description SHA-1 hash ID of the associated commit + * @example 302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + commit_sha: string; + /** + * @description The GitHub URL to get the associated wiki commit + * @example https://github.com/octocat/Hello-World/wiki/_compare/302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + commit_url: string; + }; + /** @description Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. */ + "secret-scanning-location-issue-title": { + /** + * Format: uri + * @description The API URL to get the issue where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_title_url: string; + }; + /** @description Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. */ + "secret-scanning-location-issue-body": { + /** + * Format: uri + * @description The API URL to get the issue where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_body_url: string; + }; + /** @description Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. */ + "secret-scanning-location-issue-comment": { + /** + * Format: uri + * @description The API URL to get the issue comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 + */ + issue_comment_url: string; + }; + /** @description Represents a 'discussion_title' secret scanning location type. This location type shows that a secret was detected in the title of a discussion. */ + "secret-scanning-location-discussion-title": { + /** + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082 + */ + discussion_title_url: string; + }; + /** @description Represents a 'discussion_body' secret scanning location type. This location type shows that a secret was detected in the body of a discussion. */ + "secret-scanning-location-discussion-body": { + /** + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussion-4566270 + */ + discussion_body_url: string; + }; + /** @description Represents a 'discussion_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a discussion. */ + "secret-scanning-location-discussion-comment": { + /** + * Format: uri + * @description The API URL to get the discussion comment where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussioncomment-4158232 + */ + discussion_comment_url: string; + }; + /** @description Represents a 'pull_request_title' secret scanning location type. This location type shows that a secret was detected in the title of a pull request. */ + "secret-scanning-location-pull-request-title": { + /** + * Format: uri + * @description The API URL to get the pull request where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846 + */ + pull_request_title_url: string; + }; + /** @description Represents a 'pull_request_body' secret scanning location type. This location type shows that a secret was detected in the body of a pull request. */ + "secret-scanning-location-pull-request-body": { + /** + * Format: uri + * @description The API URL to get the pull request where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846 + */ + pull_request_body_url: string; + }; + /** @description Represents a 'pull_request_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a pull request. */ + "secret-scanning-location-pull-request-comment": { + /** + * Format: uri + * @description The API URL to get the pull request comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 + */ + pull_request_comment_url: string; + }; + /** @description Represents a 'pull_request_review' secret scanning location type. This location type shows that a secret was detected in a review on a pull request. */ + "secret-scanning-location-pull-request-review": { + /** + * Format: uri + * @description The API URL to get the pull request review where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846/reviews/80 + */ + pull_request_review_url: string; + }; + /** @description Represents a 'pull_request_review_comment' secret scanning location type. This location type shows that a secret was detected in a review comment on a pull request. */ + "secret-scanning-location-pull-request-review-comment": { + /** + * Format: uri + * @description The API URL to get the pull request review comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/12 + */ + pull_request_review_comment_url: string; + }; + /** @description Details on the location where the token was initially detected. This can be a commit, wiki commit, issue, discussion, pull request. + * */ + "nullable-secret-scanning-first-detected-location": (components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]) | 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 "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ + 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; + push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment when reviewing a push protection bypass. */ + push_protection_bypass_request_reviewer_comment?: string | null; + /** @description An optional comment when requesting a push protection bypass. */ + push_protection_bypass_request_comment?: string | null; + /** + * Format: uri + * @description The URL to a push protection bypass request. + */ + push_protection_bypass_request_html_url?: string | null; + /** @description The comment that was optionally added when this alert was closed */ + resolution_comment?: string | null; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @description Whether the secret was publicly leaked. */ + publicly_leaked?: boolean | null; + /** @description Whether the detected secret was found in multiple repositories in the same organization or enterprise. */ + multi_repo?: boolean | null; + /** @description A boolean value representing whether or not alert is base64 encoded */ + is_base64_encoded?: boolean | null; + first_location_detected?: components["schemas"]["nullable-secret-scanning-first-detected-location"]; + /** @description A boolean value representing whether or not the token in the alert was detected in more than one location. */ + has_more_locations?: boolean; + }; + /** + * 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; + /** + * Issue Type + * @description The type of issue. + */ + "issue-type": { + /** @description The unique identifier of the issue type. */ + id: number; + /** @description The node identifier of the issue type. */ + node_id: string; + /** @description The name of the issue type. */ + name: string; + /** @description The description of the issue type. */ + description: string | null; + /** + * @description The color of the issue type. + * @enum {string|null} + */ + color?: "gray" | "blue" | "green" | "yellow" | "orange" | "red" | "pink" | "purple" | null; + /** + * Format: date-time + * @description The time the issue type created. + */ + created_at?: string; + /** + * Format: date-time + * @description The time the issue type last updated. + */ + updated_at?: string; + /** @description The enabled state of the issue type. */ + is_enabled?: boolean; + } | 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; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + owner: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; + /** + * @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. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation. + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself. + * @example 5 + */ + installations_count?: number; + } | 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; + }; + /** Sub-issues Summary */ + "sub-issues-summary": { + total: number; + completed: number; + percent_completed: number; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + issue: { + /** Format: int64 */ + 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 + * @enum {string|null} + */ + state_reason?: "completed" | "reopened" | "not_planned" | "duplicate" | 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; + type?: components["schemas"]["issue-type"]; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + }; + /** + * Issue Comment + * @description Comments provide a way for people to collaborate on an issue. + */ + "issue-comment": { + /** + * Format: int64 + * @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; + /** + * @description A feed of discussions for a given repository. + * @example https://github.com/{user}/{repo}/discussions + */ + repository_discussions_url?: string; + /** + * @description A feed of discussions for a given repository and category. + * @example https://github.com/{user}/{repo}/discussions/categories/{category} + */ + repository_discussions_category_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"][]; + repository_discussions?: components["schemas"]["link-with-type"]; + repository_discussions_category?: 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; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding: string; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + comments_enabled?: boolean; + 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; + /** Format: int64 */ + id: number; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + user_view_type: "public"; + 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; + /** Format: email */ + notification_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; + }; + /** @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; + comments_enabled?: boolean; + 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; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding: string; + } | null; + }; + public?: boolean; + created_at?: string; + updated_at?: string; + description?: string | null; + comments?: number; + comments_enabled?: boolean; + 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 + * @enum {string} + */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + /** @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 ABCDEFGHIJKLMNOPQRSTUVWXYZ" + * ] */ + ssh_keys?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + hooks?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + github_enterprise_importer?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + web?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + api?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + git?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + packages?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + pages?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + importer?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + actions?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + actions_macos?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + codespaces?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + dependabot?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + copilot?: string[]; + domains?: { + website?: string[]; + codespaces?: string[]; + copilot?: string[]; + packages?: string[]; + actions?: string[]; + actions_inbound?: { + full_domains?: string[]; + wildcard_domains?: string[]; + }; + artifact_attestations?: { + /** @example [ + * "example" + * ] */ + trust_domain?: string; + services?: string[]; + }; + }; + }; + "security-and-analysis": { + /** @description Enable or disable GitHub Advanced Security for the repository. + * + * For standalone Code Scanning or Secret Protection products, this parameter cannot be used. + * */ + advanced_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + code_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + /** @description Enable or disable Dependabot security updates for the repository. */ + dependabot_security_updates?: { + /** + * @description The enablement status of Dependabot security updates for the repository. + * @enum {string} + */ + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_push_protection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_non_provider_patterns?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_ai_detection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + /** + * Minimal Repository + * @description Minimal Repository + */ + "minimal-repository": { + /** + * Format: int64 + * @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; + /** @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. */ + 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; + has_discussions?: 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; + 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; + /** @example false */ + web_commit_signoff_required?: boolean; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + /** + * 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 Simple + * @description A GitHub organization. + */ + "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; + }; + /** + * Simple Repository + * @description A GitHub repository. + */ + "nullable-simple-repository": { + /** + * Format: int64 + * @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; + } | null; + /** + * Dependabot Repository Access Details + * @description Information about repositories that Dependabot is able to access in an organization + */ + "dependabot-repository-access-details": { + /** + * @description The default repository access level for Dependabot updates. + * @example internal + * @enum {string|null} + */ + default_level?: "public" | "internal" | null; + accessible_repositories?: components["schemas"]["nullable-simple-repository"][]; + }; + "billing-usage-report": { + usageItems?: { + /** @description Date of the usage line item. */ + date: string; + /** @description Product name. */ + product: string; + /** @description SKU name. */ + sku: string; + /** @description Quantity of the usage line item. */ + quantity: number; + /** @description Unit type of the usage line item. */ + unitType: string; + /** @description Price per unit of the usage line item. */ + pricePerUnit: number; + /** @description Gross amount of the usage line item. */ + grossAmount: number; + /** @description Discount amount of the usage line item. */ + discountAmount: number; + /** @description Net amount of the usage line item. */ + netAmount: number; + /** @description Name of the organization. */ + organizationName: string; + /** @description Name of the repository. */ + repositoryName?: 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; + /** @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; + /** + * @description The number of collaborators on private repositories. + * + * This field may be null if the number of private repositories is over 50,000. + * @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; + /** + * @description The default branch for repositories created in this organization. + * @example main + */ + default_repository_branch?: 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 true */ + members_can_delete_repositories?: boolean; + /** @example true */ + members_can_change_repo_visibility?: boolean; + /** @example true */ + members_can_invite_outside_collaborators?: boolean; + /** @example true */ + members_can_delete_issues?: boolean; + /** @example true */ + display_commenter_full_name_setting_enabled?: boolean; + /** @example true */ + readers_can_create_discussions?: boolean; + /** @example true */ + members_can_create_teams?: boolean; + /** @example true */ + members_can_view_dependency_insights?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + advanced_security_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** + * @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. + * @example false + */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** + * @description An optional URL string to display to contributors who are blocked from pushing a secret. + * @example https://github.com/test-org/test-repo/blob/main/README.md + */ + secret_scanning_push_protection_custom_link?: string | null; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; + /** + * @description Controls whether or not deploy keys may be added and used for repositories in the organization. + * @example false + */ + deploy_keys_enabled_for_repositories?: boolean; + }; + "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 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; + }; + /** + * GitHub-hosted runner image details. + * @description Provides details of a hosted runner image + */ + "nullable-actions-hosted-runner-pool-image": { + /** + * @description The ID of the image. Use this ID for the `image` parameter when creating a new larger runner. + * @example ubuntu-20.04 + */ + id: string; + /** + * @description Image size in GB. + * @example 86 + */ + size_gb: number; + /** + * @description Display name for this image. + * @example 20.04 + */ + display_name: string; + /** + * @description The image provider. + * @enum {string} + */ + source: "github" | "partner" | "custom"; + } | null; + /** + * Github-owned VM details. + * @description Provides details of a particular machine spec. + */ + "actions-hosted-runner-machine-spec": { + /** + * @description The ID used for the `size` parameter when creating a new runner. + * @example 8-core + */ + id: string; + /** + * @description The number of cores. + * @example 8 + */ + cpu_cores: number; + /** + * @description The available RAM for the machine spec. + * @example 32 + */ + memory_gb: number; + /** + * @description The available SSD storage for the machine spec. + * @example 300 + */ + storage_gb: number; + }; + /** + * Public IP for a GitHub-hosted larger runners. + * @description Provides details of Public IP for a GitHub-hosted larger runners + */ + "public-ip": { + /** + * @description Whether public IP is enabled. + * @example true + */ + enabled?: boolean; + /** + * @description The prefix for the public IP. + * @example 20.80.208.150 + */ + prefix?: string; + /** + * @description The length of the IP prefix. + * @example 28 + */ + length?: number; + }; + /** + * GitHub-hosted hosted runner + * @description A Github-hosted hosted runner. + */ + "actions-hosted-runner": { + /** + * @description The unique identifier of the hosted runner. + * @example 5 + */ + id: number; + /** + * @description The name of the hosted runner. + * @example my-github-hosted-runner + */ + name: string; + /** + * @description The unique identifier of the group that the hosted runner belongs to. + * @example 2 + */ + runner_group_id?: number; + image_details: components["schemas"]["nullable-actions-hosted-runner-pool-image"]; + machine_size_details: components["schemas"]["actions-hosted-runner-machine-spec"]; + /** + * @description The status of the runner. + * @example Ready + * @enum {string} + */ + status: "Ready" | "Provisioning" | "Shutdown" | "Deleting" | "Stuck"; + /** + * @description The operating system of the image. + * @example linux-x64 + */ + platform: string; + /** + * @description The maximum amount of hosted runners. Runners will not scale automatically above this number. Use this setting to limit your cost. + * @default 10 + * @example 5 + */ + maximum_runners: number; + /** + * @description Whether public IP is enabled for the hosted runners. + * @example true + */ + public_ip_enabled: boolean; + /** @description The public IP ranges when public IP is enabled for the hosted runners. */ + public_ips?: components["schemas"]["public-ip"][]; + /** + * Format: date-time + * @description The time at which the runner was last used, in ISO 8601 format. + * @example 2022-10-09T23:39:01Z + */ + last_active_on?: string | null; + }; + /** + * GitHub-hosted runner image details. + * @description Provides details of a hosted runner image + */ + "actions-hosted-runner-image": { + /** + * @description The ID of the image. Use this ID for the `image` parameter when creating a new larger runner. + * @example ubuntu-20.04 + */ + id: string; + /** + * @description The operating system of the image. + * @example linux-x64 + */ + platform: string; + /** + * @description Image size in GB. + * @example 86 + */ + size_gb: number; + /** + * @description Display name for this image. + * @example 20.04 + */ + display_name: string; + /** + * @description The image provider. + * @enum {string} + */ + source: "github" | "partner" | "custom"; + }; + "actions-hosted-runner-limits": { + /** + * Static public IP Limits for GitHub-hosted Hosted Runners. + * @description Provides details of static public IP limits for GitHub-hosted Hosted Runners + */ + public_ips: { + /** + * @description The maximum number of static public IP addresses that can be used for Hosted Runners. + * @example 50 + */ + maximum: number; + /** + * @description The current number of static public IP addresses in use by Hosted Runners. + * @example 17 + */ + current_usage: number; + }; + }; + /** + * Actions OIDC Subject customization + * @description Actions OIDC Subject customization + */ + "oidc-custom-sub": { + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys: string[]; + }; + /** + * Empty Object + * @description An object without any properties. + */ + "empty-object": Record; + /** + * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. + * @enum {string} + */ + "enabled-repositories": "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-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"]; + }; + "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/*`. + * + * > [!NOTE] + * > The `patterns_allowed` setting only applies to public repositories. */ + 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-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; + hosted_runners_url?: string; + /** @description The identifier of a hosted compute network configuration. */ + network_configuration_id?: 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[]; + }; + /** + * 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 ID of the runner group. + * @example 1 + */ + runner_group_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"][]; + ephemeral?: boolean; + }; + /** + * 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?: Record; + /** @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"; + }; + /** + * 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; + }; + /** + * Actions Variable for an Organization + * @description Organization variable for GitHub Actions. + */ + "organization-actions-variable": { + /** + * @description The name of the variable. + * @example USERNAME + */ + name: string; + /** + * @description The value of the variable. + * @example octocat + */ + value: string; + /** + * Format: date-time + * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + updated_at: string; + /** + * @description Visibility of a variable + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/variables/USERNAME/repositories + */ + selected_repositories_url?: string; + }; + /** + * Campaign state + * @description Indicates whether a campaign is open or closed + * @enum {string} + */ + "campaign-state": "open" | "closed"; + /** + * 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; + /** + * @description The notification setting the team has set + * @example notifications_enabled + */ + notification_setting?: 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; + notification_setting?: 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"]; + }; + /** + * Campaign summary + * @description The campaign metadata and alert stats. + */ + "campaign-summary": { + /** @description The number of the newly created campaign */ + number: number; + /** + * Format: date-time + * @description The date and time the campaign was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time the campaign was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** @description The campaign name */ + name?: string; + /** @description The campaign description */ + description: string; + /** @description The campaign managers */ + managers: components["schemas"]["simple-user"][]; + /** @description The campaign team managers */ + team_managers?: components["schemas"]["team"][]; + /** + * Format: date-time + * @description The date and time the campaign was published, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + published_at?: string; + /** + * Format: date-time + * @description The date and time the campaign has ended, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + ends_at: string; + /** + * Format: date-time + * @description The date and time the campaign was closed, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. Will be null if the campaign is still open. + */ + closed_at?: string | null; + state: components["schemas"]["campaign-state"]; + /** + * Format: uri + * @description The contact link of the campaign. + */ + contact_link: string | null; + alert_stats?: { + /** @description The number of open alerts */ + open_count: number; + /** @description The number of closed alerts */ + closed_count: number; + /** @description The number of in-progress alerts */ + in_progress_count: number; + }; + }; + /** @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-query": "open" | "closed" | "dismissed" | "fixed"; + /** + * @description Severity of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-severity": "critical" | "high" | "medium" | "low" | "warning" | "note" | "error"; + /** + * Format: uri + * @description The REST API URL for fetching the list of instances for an alert. + */ + "alert-instances-url": string; + /** + * @description State of a code scanning alert. + * @enum {string|null} + */ + "code-scanning-alert-state": "open" | "dismissed" | "fixed" | null; + /** + * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. + * @enum {string|null} + */ + "code-scanning-alert-dismissed-reason": "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-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 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 A 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 A link to the documentation for the rule used to detect the alert. */ + help_uri?: 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 Git reference, formatted as `refs/pull//merge`, `refs/pull//head`, + * `refs/heads/` or simply ``. */ + "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"][]; + }; + "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"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["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"]; + repository: components["schemas"]["simple-repository"]; + dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; + }; + /** + * 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, 16 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 17179869184 + */ + 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: { + /** + * Format: int64 + * @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 initally assigned location of a new codespace. + * @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 to publish this codespace to a new repository. + */ + publish_url?: string | null; + /** + * 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; + /** + * @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). + * @example 60 + */ + retention_period_minutes?: number | null; + /** + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" + * @example 2011-01-26T20:01:12Z + */ + retention_expires_at?: string | null; + /** + * @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. + * @example you've used 100% of your spending limit for Codespaces + */ + last_known_stop_notice?: string | null; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-org-secret": { + /** + * @description The name of the secret + * @example SECRET_NAME + */ + name: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to can be retrieved + * @example https://api.github.com/orgs/ORGANIZATION/codespaces/secrets/SECRET_NAME/repositories + */ + selected_repositories_url?: 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; + }; + /** + * Copilot Seat Breakdown + * @description The breakdown of Copilot Business seats for the organization. + */ + "copilot-organization-seat-breakdown": { + /** @description The total number of seats being billed for the organization as of the current billing cycle. */ + total?: number; + /** @description Seats added during the current billing cycle. */ + added_this_cycle?: number; + /** @description The number of seats that are pending cancellation at the end of the current billing cycle. */ + pending_cancellation?: number; + /** @description The number of users who have been invited to receive a Copilot seat through this organization. */ + pending_invitation?: number; + /** @description The number of seats that have used Copilot during the current billing cycle. */ + active_this_cycle?: number; + /** @description The number of seats that have not used Copilot during the current billing cycle. */ + inactive_this_cycle?: number; + }; + /** + * Copilot Organization Details + * @description Information about the seat breakdown and policies set for an organization with a Copilot Business or Copilot Enterprise subscription. + */ + "copilot-organization-details": { + seat_breakdown: components["schemas"]["copilot-organization-seat-breakdown"]; + /** + * @description The organization policy for allowing or blocking suggestions matching public code (duplication detection filter). + * @enum {string} + */ + public_code_suggestions: "allow" | "block" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing Copilot Chat in the IDE. + * @enum {string} + */ + ide_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing Copilot features on GitHub.com. + * @enum {string} + */ + platform_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing Copilot in the CLI. + * @enum {string} + */ + cli?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The mode of assigning new seats. + * @enum {string} + */ + seat_management_setting: "assign_all" | "assign_selected" | "disabled" | "unconfigured"; + /** + * @description The Copilot plan of the organization, or the parent enterprise, when applicable. + * @enum {string} + */ + plan_type?: "business" | "enterprise"; + } & { + [key: string]: unknown; + }; + /** + * Organization Simple + * @description A GitHub organization. + */ + "nullable-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; + } | null; + /** + * Enterprise Team + * @description Group of enterprise owners and/or members + */ + "enterprise-team": { + /** Format: int64 */ + id: number; + name: string; + description?: string; + slug: string; + /** Format: uri */ + url: string; + /** @example disabled | all */ + sync_to_organizations?: string; + /** @example disabled | all */ + organization_selection_type?: string; + /** @example 62ab9291-fae2-468e-974b-7e45096d5021 */ + group_id?: string | null; + /** @example Justice League */ + group_name?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/dc/teams/justice-league + */ + html_url: string; + members_url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Copilot Business Seat Detail + * @description Information about a Copilot Business seat assignment for a user, team, or organization. + */ + "copilot-seat-details": { + assignee?: components["schemas"]["nullable-simple-user"]; + organization?: components["schemas"]["nullable-organization-simple"]; + /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ + assigning_team?: (components["schemas"]["team"] | components["schemas"]["enterprise-team"]) | null; + /** + * Format: date + * @description The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle. + */ + pending_cancellation_date?: string | null; + /** + * Format: date-time + * @description Timestamp of user's last GitHub Copilot activity, in ISO 8601 format. + */ + last_activity_at?: string | null; + /** @description Last editor that was used by the user for a GitHub Copilot completion. */ + last_activity_editor?: string | null; + /** + * Format: date-time + * @description Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format. + */ + created_at: string; + /** + * Format: date-time + * @deprecated + * @description **Closing down notice:** This field is no longer relevant and is closing down. Use the `created_at` field to determine when the assignee was last granted access to GitHub Copilot. Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format. + */ + updated_at?: string; + /** + * @description The Copilot plan of the organization, or the parent enterprise, when applicable. + * @enum {string} + */ + plan_type?: "business" | "enterprise" | "unknown"; + }; + /** @description Usage metrics for Copilot editor code completions in the IDE. */ + "copilot-ide-code-completions": ({ + /** @description Number of users who accepted at least one Copilot code suggestion, across all active editors. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description Code completion metrics for active languages. */ + languages?: { + /** @description Name of the language used for Copilot code completion suggestions. */ + name?: string; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given language. Includes both full and partial acceptances. */ + total_engaged_users?: number; + }[]; + editors?: ({ + /** @description Name of the given editor. */ + name?: string; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description List of model metrics for custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot code completion suggestions. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model. */ + custom_model_training_date?: string | null; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor, for the given language and model. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description Code completion metrics for active languages, for the given editor. */ + languages?: { + /** @description Name of the language used for Copilot code completion suggestions, for the given editor. */ + name?: string; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor, for the given language. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description The number of Copilot code suggestions generated for the given editor, for the given language. */ + total_code_suggestions?: number; + /** @description The number of Copilot code suggestions accepted for the given editor, for the given language. Includes both full and partial acceptances. */ + total_code_acceptances?: number; + /** @description The number of lines of code suggested by Copilot code completions for the given editor, for the given language. */ + total_code_lines_suggested?: number; + /** @description The number of lines of code accepted from Copilot code suggestions for the given editor, for the given language. */ + total_code_lines_accepted?: number; + }[]; + }[]; + } & { + [key: string]: unknown; + })[]; + } & { + [key: string]: unknown; + }) | null; + /** @description Usage metrics for Copilot Chat in the IDE. */ + "copilot-ide-chat": ({ + /** @description Total number of users who prompted Copilot Chat in the IDE. */ + total_engaged_users?: number; + editors?: { + /** @description Name of the given editor. */ + name?: string; + /** @description The number of users who prompted Copilot Chat in the specified editor. */ + total_engaged_users?: number; + /** @description List of model metrics for custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot Chat. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model. */ + custom_model_training_date?: string | null; + /** @description The number of users who prompted Copilot Chat in the given editor and model. */ + total_engaged_users?: number; + /** @description The total number of chats initiated by users in the given editor and model. */ + total_chats?: number; + /** @description The number of times users accepted a code suggestion from Copilot Chat using the 'Insert Code' UI element, for the given editor. */ + total_chat_insertion_events?: number; + /** @description The number of times users copied a code suggestion from Copilot Chat using the keyboard, or the 'Copy' UI element, for the given editor. */ + total_chat_copy_events?: number; + }[]; + }[]; + } & { + [key: string]: unknown; + }) | null; + /** @description Usage metrics for Copilot Chat in GitHub.com */ + "copilot-dotcom-chat": ({ + /** @description Total number of users who prompted Copilot Chat on github.com at least once. */ + total_engaged_users?: number; + /** @description List of model metrics for a custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot Chat. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model (if applicable). */ + custom_model_training_date?: string | null; + /** @description Total number of users who prompted Copilot Chat on github.com at least once for each model. */ + total_engaged_users?: number; + /** @description Total number of chats initiated by users on github.com. */ + total_chats?: number; + }[]; + } & { + [key: string]: unknown; + }) | null; + /** @description Usage metrics for Copilot for pull requests. */ + "copilot-dotcom-pull-requests": ({ + /** @description The number of users who used Copilot for Pull Requests on github.com to generate a pull request summary at least once. */ + total_engaged_users?: number; + /** @description Repositories in which users used Copilot for Pull Requests to generate pull request summaries */ + repositories?: { + /** @description Repository name */ + name?: string; + /** @description The number of users who generated pull request summaries using Copilot for Pull Requests in the given repository. */ + total_engaged_users?: number; + /** @description List of model metrics for custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot pull request summaries. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model. */ + custom_model_training_date?: string | null; + /** @description The number of pull request summaries generated using Copilot for Pull Requests in the given repository. */ + total_pr_summaries_created?: number; + /** @description The number of users who generated pull request summaries using Copilot for Pull Requests in the given repository and model. */ + total_engaged_users?: number; + }[]; + }[]; + } & { + [key: string]: unknown; + }) | null; + /** + * Copilot Usage Metrics + * @description Copilot usage metrics for a given day. + */ + "copilot-usage-metrics-day": { + /** + * Format: date + * @description The date for which the usage metrics are aggregated, in `YYYY-MM-DD` format. + */ + date: string; + /** @description The total number of Copilot users with activity belonging to any Copilot feature, globally, for the given day. Includes passive activity such as receiving a code suggestion, as well as engagement activity such as accepting a code suggestion or prompting chat. Does not include authentication events. Is not limited to the individual features detailed on the endpoint. */ + total_active_users?: number; + /** @description The total number of Copilot users who engaged with any Copilot feature, for the given day. Examples include but are not limited to accepting a code suggestion, prompting Copilot chat, or triggering a PR Summary. Does not include authentication events. Is not limited to the individual features detailed on the endpoint. */ + total_engaged_users?: number; + copilot_ide_code_completions?: components["schemas"]["copilot-ide-code-completions"]; + copilot_ide_chat?: components["schemas"]["copilot-ide-chat"]; + copilot_dotcom_chat?: components["schemas"]["copilot-dotcom-chat"]; + copilot_dotcom_pull_requests?: components["schemas"]["copilot-dotcom-pull-requests"]; + } & { + [key: string]: unknown; + }; + /** + * 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; + }; + /** + * Minimal Repository + * @description Minimal Repository + */ + "nullable-minimal-repository": { + /** + * Format: int64 + * @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; + /** @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. */ + 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; + has_discussions?: 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; + 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; + /** @example false */ + web_commit_signoff_required?: boolean; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + } | 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; + }; + /** + * Organization Invitation + * @description Organization Invitation + */ + "organization-invitation": { + /** Format: int64 */ + 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; + /** @example "member" */ + invitation_source?: 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; + }; + /** + * Route Stats + * @description API Insights usage route stats for an actor + */ + "api-insights-route-stats": { + /** @description The HTTP method */ + http_method?: string; + /** @description The API path's route template */ + api_route?: string; + /** + * Format: int64 + * @description The total number of requests within the queried time period + */ + total_request_count?: number; + /** + * Format: int64 + * @description The total number of requests that were rate limited within the queried time period + */ + rate_limited_request_count?: number; + last_rate_limited_timestamp?: string | null; + last_request_timestamp?: string; + }[]; + /** + * Subject Stats + * @description API Insights usage subject stats for an organization + */ + "api-insights-subject-stats": { + subject_type?: string; + subject_name?: string; + /** Format: int64 */ + subject_id?: number; + total_request_count?: number; + rate_limited_request_count?: number; + last_rate_limited_timestamp?: string | null; + last_request_timestamp?: string; + }[]; + /** + * Summary Stats + * @description API Insights usage summary stats for an organization + */ + "api-insights-summary-stats": { + /** + * Format: int64 + * @description The total number of requests within the queried time period + */ + total_request_count?: number; + /** + * Format: int64 + * @description The total number of requests that were rate limited within the queried time period + */ + rate_limited_request_count?: number; + }; + /** + * Time Stats + * @description API Insights usage time stats for an organization + */ + "api-insights-time-stats": { + timestamp?: string; + /** Format: int64 */ + total_request_count?: number; + /** Format: int64 */ + rate_limited_request_count?: number; + }[]; + /** + * User Stats + * @description API Insights usage stats for a user + */ + "api-insights-user-stats": { + actor_type?: string; + actor_name?: string; + /** Format: int64 */ + actor_id?: number; + /** Format: int64 */ + integration_id?: number | null; + /** Format: int64 */ + oauth_application_id?: number | null; + total_request_count?: number; + rate_limited_request_count?: number; + last_rate_limited_timestamp?: string | null; + last_request_timestamp?: 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"]; + }; + "organization-create-issue-type": { + /** @description Name of the issue type. */ + name: string; + /** @description Whether or not the issue type is enabled at the organization level. */ + is_enabled: boolean; + /** @description Description of the issue type. */ + description?: string | null; + /** + * @description Color for the issue type. + * @enum {string|null} + */ + color?: "gray" | "blue" | "green" | "yellow" | "orange" | "red" | "pink" | "purple" | null; + }; + "organization-update-issue-type": { + /** @description Name of the issue type. */ + name: string; + /** @description Whether or not the issue type is enabled at the organization level. */ + is_enabled: boolean; + /** @description Description of the issue type. */ + description?: string | null; + /** + * @description Color for the issue type. + * @enum {string|null} + */ + color?: "gray" | "blue" | "green" | "yellow" | "orange" | "red" | "pink" | "purple" | null; + }; + /** + * 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"; + /** + * @description Whether the user has direct membership in the organization. + * @example true + */ + direct_membership?: boolean; + /** + * @description The slugs of the enterprise teams providing the user with indirect membership in the organization. + * A limit of 100 enterprise team slugs is returned. + * @example [ + * "ent:team-one", + * "ent:team-two" + * ] + */ + enterprise_teams_providing_indirect_membership?: string[]; + /** + * 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: { + /** + * Format: int64 + * @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; + /** @description The repositories included in the migration. Only returned for export migrations. */ + 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; + /** @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?: string[]; + }; + /** + * Organization Role + * @description Organization roles + */ + "organization-role": { + /** + * Format: int64 + * @description The unique identifier of the role. + */ + id: number; + /** @description The name of the role. */ + name: string; + /** @description A short description about who this role is for or what permissions it grants. */ + description?: string | null; + /** + * @description The system role from which this role inherits permissions. + * @enum {string|null} + */ + base_role?: "read" | "triage" | "write" | "maintain" | "admin" | null; + /** + * @description Source answers the question, "where did this role come from?" + * @enum {string|null} + */ + source?: "Organization" | "Enterprise" | "Predefined" | null; + /** @description A list of permissions included in this role. */ + permissions: string[]; + organization: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The date and time the role was created. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time the role was last updated. + */ + updated_at: string; + }; + /** + * A Role Assignment for a Team + * @description The Relationship a Team has with a role. + */ + "team-role-assignment": { + /** + * @description Determines if the team has a direct, indirect, or mixed relationship to a role + * @example direct + * @enum {string} + */ + assignment?: "direct" | "indirect" | "mixed"; + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + notification_setting?: 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"]; + }; + /** + * 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; + /** + * @description The notification setting the team has set + * @example notifications_enabled + */ + notification_setting?: 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; + }; + /** + * A Role Assignment for a User + * @description The Relationship a User has with a role. + */ + "user-role-assignment": { + /** + * @description Determines if the user has a direct, indirect, or mixed relationship to a role + * @example direct + * @enum {string} + */ + assignment?: "direct" | "indirect" | "mixed"; + /** @description Team the user has gotten the role through */ + inherited_from?: components["schemas"]["team-simple"][]; + 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; + /** @example public */ + user_view_type?: 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[]; + }; + }; + }; + /** + * Simple Organization Programmatic Access Grant Request + * @description Minimal representation of an organization programmatic access grant request for enumerations + */ + "organization-programmatic-access-grant-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests. */ + id: number; + /** @description Reason for requesting access. */ + reason: string | null; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ + token_id: number; + /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ + token_name: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Organization Programmatic Access Grant + * @description Minimal representation of an organization programmatic access grant for enumerations + */ + "organization-programmatic-access-grant": { + /** @description Unique identifier of the fine-grained personal access token grant. The `pat_id` used to get details about an approved fine-grained personal access token. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ + access_granted_at: string; + /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ + token_id: number; + /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ + token_name: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Organization private registry + * @description Private registry configuration for an organization + */ + "org-private-registry-configuration": { + /** + * @description The name of the private registry configuration. + * @example MAVEN_REPOSITORY_SECRET + */ + name: string; + /** + * @description The registry type. + * @enum {string} + */ + registry_type: "maven_repository" | "nuget_feed" | "goproxy_server" | "npm_registry" | "rubygems_server" | "cargo_registry" | "composer_repository" | "docker_registry" | "git_source" | "helm_registry"; + /** + * @description The username to use when authenticating with the private registry. + * @example monalisa + */ + username?: string | null; + /** + * @description Which type of organization repositories have access to the private registry. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Organization private registry + * @description Private registry configuration for an organization + */ + "org-private-registry-configuration-with-selected-repositories": { + /** + * @description The name of the private registry configuration. + * @example MAVEN_REPOSITORY_SECRET + */ + name: string; + /** + * @description The registry type. + * @enum {string} + */ + registry_type: "maven_repository" | "nuget_feed" | "goproxy_server" | "npm_registry" | "rubygems_server" | "cargo_registry" | "composer_repository" | "docker_registry" | "git_source" | "helm_registry"; + /** + * @description The username to use when authenticating with the private registry. + * @example monalisa + */ + username?: string; + /** + * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization private registry when `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * 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; + }; + /** + * Organization Custom Property + * @description Custom property defined on an organization + */ + "custom-property": { + /** @description The name of the property */ + property_name: string; + /** + * Format: uri + * @description The URL that can be used to fetch, update, or delete info about this property via the API. + */ + url?: string; + /** + * @description The source type of the property + * @example organization + * @enum {string} + */ + source_type?: "organization" | "enterprise"; + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select" | "multi_select" | "true_false"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: (string | string[]) | null; + /** @description Short description of the property */ + description?: string | null; + /** @description An ordered list of the allowed values of the property. + * The property can have up to 200 allowed values. */ + allowed_values?: string[] | null; + /** + * @description Who can edit the values of the property + * @example org_actors + * @enum {string|null} + */ + values_editable_by?: "org_actors" | "org_and_repo_actors" | null; + }; + /** + * Custom Property Set Payload + * @description Custom property set payload + */ + "custom-property-set-payload": { + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select" | "multi_select" | "true_false"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: (string | string[]) | null; + /** @description Short description of the property */ + description?: string | null; + /** @description An ordered list of the allowed values of the property. + * The property can have up to 200 allowed values. */ + allowed_values?: string[] | null; + /** + * @description Who can edit the values of the property + * @example org_actors + * @enum {string|null} + */ + values_editable_by?: "org_actors" | "org_and_repo_actors" | null; + }; + /** + * Custom Property Value + * @description Custom property name and associated value + */ + "custom-property-value": { + /** @description The name of the property */ + property_name: string; + /** @description The value assigned to the property */ + value: (string | string[]) | null; + }; + /** + * Organization Repository Custom Property Values + * @description List of custom property values for a repository + */ + "org-repo-custom-property-values": { + /** @example 1296269 */ + repository_id: number; + /** @example Hello-World */ + repository_name: string; + /** @example octocat/Hello-World */ + repository_full_name: string; + /** @description List of custom property names and associated values */ + properties: components["schemas"]["custom-property-value"][]; + }; + /** + * Repository + * @description A repository on GitHub. + */ + "nullable-repository": { + /** + * Format: int64 + * @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; + }; + 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; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @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; + /** + * @deprecated + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions: 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; + 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; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @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; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required: boolean; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + /** @description The status of the code search index for this repository */ + code_search_index_status?: { + lexical_search_ok?: boolean; + lexical_commit_sha?: string; + }; + } | null; + /** + * 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; + }; + /** + * Full Repository + * @description Full Repository + */ + "full-repository": { + /** + * Format: int64 + * @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; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @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; + /** @example true */ + has_discussions: 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; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @example PR_TITLE + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @example PR_BODY + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @example PR_TITLE + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @example PR_BODY + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @example true */ + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: 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"]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + /** + * @description The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). + * @enum {string} + */ + "repository-rule-enforcement": "disabled" | "active" | "evaluate"; + /** + * Repository Ruleset Bypass Actor + * @description An actor that can bypass rules in a ruleset + */ + "repository-ruleset-bypass-actor": { + /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. */ + actor_id?: number | null; + /** + * @description The type of actor that can bypass a ruleset. + * @enum {string} + */ + actor_type: "Integration" | "OrganizationAdmin" | "RepositoryRole" | "Team" | "DeployKey"; + /** + * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. + * @default always + * @enum {string} + */ + bypass_mode: "always" | "pull_request"; + }; + /** + * Repository ruleset conditions for ref names + * @description Parameters for a repository ruleset ref name condition + */ + "repository-ruleset-conditions": { + ref_name?: { + /** @description Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. */ + include?: string[]; + /** @description Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; + }; + }; + /** + * Repository ruleset conditions for repository names + * @description Parameters for a repository name condition + */ + "repository-ruleset-conditions-repository-name-target": { + repository_name: { + /** @description Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. */ + include?: string[]; + /** @description Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; + /** @description Whether renaming of target repositories is prevented. */ + protected?: boolean; + }; + }; + /** + * Repository ruleset conditions for repository IDs + * @description Parameters for a repository ID condition + */ + "repository-ruleset-conditions-repository-id-target": { + repository_id: { + /** @description The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. */ + repository_ids?: number[]; + }; + }; + /** + * Repository ruleset property targeting definition + * @description Parameters for a targeting a repository property + */ + "repository-ruleset-conditions-repository-property-spec": { + /** @description The name of the repository property to target */ + name: string; + /** @description The values to match for the repository property */ + property_values: string[]; + /** + * @description The source of the repository property. Defaults to 'custom' if not specified. + * @enum {string} + */ + source?: "custom" | "system"; + }; + /** + * Repository ruleset conditions for repository properties + * @description Parameters for a repository property condition + */ + "repository-ruleset-conditions-repository-property-target": { + repository_property: { + /** @description The repository properties and values to include. All of these properties must match for the condition to pass. */ + include?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; + /** @description The repository properties and values to exclude. The condition will not pass if any of these properties match. */ + exclude?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; + }; + }; + /** + * Organization ruleset conditions + * @description Conditions for an organization ruleset. + * The branch and tag rulesets conditions object should contain both `repository_name` and `ref_name` properties, or both `repository_id` and `ref_name` properties, or both `repository_property` and `ref_name` properties. + * The push rulesets conditions object does not require the `ref_name` property. + * For repository policy rulesets, the conditions object should only contain the `repository_name`, the `repository_id`, or the `repository_property`. + */ + "org-ruleset-conditions": (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-name-target"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-id-target"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-property-target"]); + /** + * creation + * @description Only allow users with bypass permission to create matching refs. + */ + "repository-rule-creation": { + /** @enum {string} */ + type: "creation"; + }; + /** + * update + * @description Only allow users with bypass permission to update matching refs. + */ + "repository-rule-update": { + /** @enum {string} */ + type: "update"; + parameters?: { + /** @description Branch can pull changes from its upstream repository */ + update_allows_fetch_and_merge: boolean; + }; + }; + /** + * deletion + * @description Only allow users with bypass permissions to delete matching refs. + */ + "repository-rule-deletion": { + /** @enum {string} */ + type: "deletion"; + }; + /** + * required_linear_history + * @description Prevent merge commits from being pushed to matching refs. + */ + "repository-rule-required-linear-history": { + /** @enum {string} */ + type: "required_linear_history"; + }; + /** + * merge_queue + * @description Merges must be performed via a merge queue. + */ + "repository-rule-merge-queue": { + /** @enum {string} */ + type: "merge_queue"; + parameters?: { + /** @description Maximum time for a required status check to report a conclusion. After this much time has elapsed, checks that have not reported a conclusion will be assumed to have failed */ + check_response_timeout_minutes: number; + /** + * @description When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. + * @enum {string} + */ + grouping_strategy: "ALLGREEN" | "HEADGREEN"; + /** @description Limit the number of queued pull requests requesting checks and workflow runs at the same time. */ + max_entries_to_build: number; + /** @description The maximum number of PRs that will be merged together in a group. */ + max_entries_to_merge: number; + /** + * @description Method to use when merging changes from queued pull requests. + * @enum {string} + */ + merge_method: "MERGE" | "SQUASH" | "REBASE"; + /** @description The minimum number of PRs that will be merged together in a group. */ + min_entries_to_merge: number; + /** @description The time merge queue should wait after the first PR is added to the queue for the minimum group size to be met. After this time has elapsed, the minimum group size will be ignored and a smaller group will be merged. */ + min_entries_to_merge_wait_minutes: number; + }; + }; + /** + * required_deployments + * @description Choose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule. + */ + "repository-rule-required-deployments": { + /** @enum {string} */ + type: "required_deployments"; + parameters?: { + /** @description The environments that must be successfully deployed to before branches can be merged. */ + required_deployment_environments: string[]; + }; + }; + /** + * required_signatures + * @description Commits pushed to matching refs must have verified signatures. + */ + "repository-rule-required-signatures": { + /** @enum {string} */ + type: "required_signatures"; + }; + /** + * Reviewer + * @description A required reviewing team + */ + "repository-rule-params-reviewer": { + /** @description ID of the reviewer which must review changes to matching files. */ + id: number; + /** + * @description The type of the reviewer + * @enum {string} + */ + type: "Team"; + }; + /** + * RequiredReviewerConfiguration + * @description A reviewing team, and file patterns describing which files they must approve changes to. + */ + "repository-rule-params-required-reviewer-configuration": { + /** @description Array of file patterns. Pull requests which change matching files must be approved by the specified team. File patterns use the same syntax as `.gitignore` files. */ + file_patterns: string[]; + /** @description Minimum number of approvals required from the specified team. If set to zero, the team will be added to the pull request but approval is optional. */ + minimum_approvals: number; + reviewer: components["schemas"]["repository-rule-params-reviewer"]; + }; + /** + * pull_request + * @description Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. + */ + "repository-rule-pull-request": { + /** @enum {string} */ + type: "pull_request"; + parameters?: { + /** @description Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled. */ + allowed_merge_methods?: ("merge" | "squash" | "rebase")[]; + /** @description Automatically request review from Copilot for new pull requests, if the author has access to Copilot code review. */ + automatic_copilot_code_review_enabled?: boolean; + /** @description New, reviewable commits pushed will dismiss previous pull request review approvals. */ + dismiss_stale_reviews_on_push: boolean; + /** @description Require an approving review in pull requests that modify files that have a designated code owner. */ + require_code_owner_review: boolean; + /** @description Whether the most recent reviewable push must be approved by someone other than the person who pushed it. */ + require_last_push_approval: boolean; + /** @description The number of approving reviews that are required before a pull request can be merged. */ + required_approving_review_count: number; + /** @description All conversations on code must be resolved before a pull request can be merged. */ + required_review_thread_resolution: boolean; + }; + }; + /** + * StatusCheckConfiguration + * @description Required status check + */ + "repository-rule-params-status-check-configuration": { + /** @description The status check context name that must be present on the commit. */ + context: string; + /** @description The optional integration ID that this status check must originate from. */ + integration_id?: number; + }; + /** + * required_status_checks + * @description Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. + */ + "repository-rule-required-status-checks": { + /** @enum {string} */ + type: "required_status_checks"; + parameters?: { + /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ + do_not_enforce_on_create?: boolean; + /** @description Status checks that are required. */ + required_status_checks: components["schemas"]["repository-rule-params-status-check-configuration"][]; + /** @description Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. */ + strict_required_status_checks_policy: boolean; + }; + }; + /** + * non_fast_forward + * @description Prevent users with push access from force pushing to refs. + */ + "repository-rule-non-fast-forward": { + /** @enum {string} */ + type: "non_fast_forward"; + }; + /** + * commit_message_pattern + * @description Parameters to be used for the commit_message_pattern rule + */ + "repository-rule-commit-message-pattern": { + /** @enum {string} */ + type: "commit_message_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * commit_author_email_pattern + * @description Parameters to be used for the commit_author_email_pattern rule + */ + "repository-rule-commit-author-email-pattern": { + /** @enum {string} */ + type: "commit_author_email_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * committer_email_pattern + * @description Parameters to be used for the committer_email_pattern rule + */ + "repository-rule-committer-email-pattern": { + /** @enum {string} */ + type: "committer_email_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * branch_name_pattern + * @description Parameters to be used for the branch_name_pattern rule + */ + "repository-rule-branch-name-pattern": { + /** @enum {string} */ + type: "branch_name_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * tag_name_pattern + * @description Parameters to be used for the tag_name_pattern rule + */ + "repository-rule-tag-name-pattern": { + /** @enum {string} */ + type: "tag_name_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * file_path_restriction + * @description Prevent commits that include changes in specified file and folder paths from being pushed to the commit graph. This includes absolute paths that contain file names. + */ + "repository-rule-file-path-restriction": { + /** @enum {string} */ + type: "file_path_restriction"; + parameters?: { + /** @description The file paths that are restricted from being pushed to the commit graph. */ + restricted_file_paths: string[]; + }; + }; + /** + * max_file_path_length + * @description Prevent commits that include file paths that exceed the specified character limit from being pushed to the commit graph. + */ + "repository-rule-max-file-path-length": { + /** @enum {string} */ + type: "max_file_path_length"; + parameters?: { + /** @description The maximum amount of characters allowed in file paths. */ + max_file_path_length: number; + }; + }; + /** + * file_extension_restriction + * @description Prevent commits that include files with specified file extensions from being pushed to the commit graph. + */ + "repository-rule-file-extension-restriction": { + /** @enum {string} */ + type: "file_extension_restriction"; + parameters?: { + /** @description The file extensions that are restricted from being pushed to the commit graph. */ + restricted_file_extensions: string[]; + }; + }; + /** + * max_file_size + * @description Prevent commits with individual files that exceed the specified limit from being pushed to the commit graph. + */ + "repository-rule-max-file-size": { + /** @enum {string} */ + type: "max_file_size"; + parameters?: { + /** @description The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS). */ + max_file_size: number; + }; + }; + /** + * RestrictedCommits + * @description Restricted commit + */ + "repository-rule-params-restricted-commits": { + /** @description Full or abbreviated commit hash to reject */ + oid: string; + /** @description Reason for restriction */ + reason?: string; + }; + /** + * WorkflowFileReference + * @description A workflow that must run for this rule to pass + */ + "repository-rule-params-workflow-file-reference": { + /** @description The path to the workflow file */ + path: string; + /** @description The ref (branch or tag) of the workflow file to use */ + ref?: string; + /** @description The ID of the repository where the workflow is defined */ + repository_id: number; + /** @description The commit SHA of the workflow file to use */ + sha?: string; + }; + /** + * workflows + * @description Require all changes made to a targeted branch to pass the specified workflows before they can be merged. + */ + "repository-rule-workflows": { + /** @enum {string} */ + type: "workflows"; + parameters?: { + /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ + do_not_enforce_on_create?: boolean; + /** @description Workflows that must pass for this rule to pass. */ + workflows: components["schemas"]["repository-rule-params-workflow-file-reference"][]; + }; + }; + /** + * CodeScanningTool + * @description A tool that must provide code scanning results for this rule to pass. + */ + "repository-rule-params-code-scanning-tool": { + /** + * @description The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + * @enum {string} + */ + alerts_threshold: "none" | "errors" | "errors_and_warnings" | "all"; + /** + * @description The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + * @enum {string} + */ + security_alerts_threshold: "none" | "critical" | "high_or_higher" | "medium_or_higher" | "all"; + /** @description The name of a code scanning tool */ + tool: string; + }; + /** + * code_scanning + * @description Choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated. + */ + "repository-rule-code-scanning": { + /** @enum {string} */ + type: "code_scanning"; + parameters?: { + /** @description Tools that must provide code scanning results for this rule to pass. */ + code_scanning_tools: components["schemas"]["repository-rule-params-code-scanning-tool"][]; + }; + }; + /** + * Repository Rule + * @description A repository rule. + */ + "repository-rule": components["schemas"]["repository-rule-creation"] | components["schemas"]["repository-rule-update"] | components["schemas"]["repository-rule-deletion"] | components["schemas"]["repository-rule-required-linear-history"] | components["schemas"]["repository-rule-merge-queue"] | components["schemas"]["repository-rule-required-deployments"] | components["schemas"]["repository-rule-required-signatures"] | components["schemas"]["repository-rule-pull-request"] | components["schemas"]["repository-rule-required-status-checks"] | components["schemas"]["repository-rule-non-fast-forward"] | components["schemas"]["repository-rule-commit-message-pattern"] | components["schemas"]["repository-rule-commit-author-email-pattern"] | components["schemas"]["repository-rule-committer-email-pattern"] | components["schemas"]["repository-rule-branch-name-pattern"] | components["schemas"]["repository-rule-tag-name-pattern"] | components["schemas"]["repository-rule-file-path-restriction"] | components["schemas"]["repository-rule-max-file-path-length"] | components["schemas"]["repository-rule-file-extension-restriction"] | components["schemas"]["repository-rule-max-file-size"] | components["schemas"]["repository-rule-workflows"] | components["schemas"]["repository-rule-code-scanning"]; + /** + * Repository ruleset + * @description A set of rules to apply when specified conditions are met. + */ + "repository-ruleset": { + /** @description The ID of the ruleset */ + id: number; + /** @description The name of the ruleset */ + name: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag" | "push" | "repository"; + /** + * @description The type of the source of the ruleset + * @enum {string} + */ + source_type?: "Repository" | "Organization" | "Enterprise"; + /** @description The name of the source */ + source: string; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + /** + * @description The bypass type of the user making the API request for this ruleset. This field is only returned when + * querying the repository-level endpoint. + * @enum {string} + */ + current_user_can_bypass?: "always" | "pull_requests_only" | "never"; + node_id?: string; + _links?: { + self?: { + /** @description The URL of the ruleset */ + href?: string; + }; + html?: { + /** @description The html URL of the ruleset */ + href?: string; + } | null; + }; + conditions?: (components["schemas"]["repository-ruleset-conditions"] | components["schemas"]["org-ruleset-conditions"]) | null; + rules?: components["schemas"]["repository-rule"][]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** + * Rule Suites + * @description Response + */ + "rule-suites": { + /** @description The unique identifier of the rule insight. */ + id?: number; + /** @description The number that identifies the user. */ + actor_id?: number; + /** @description The handle for the GitHub user account. */ + actor_name?: string; + /** @description The first commit sha before the push evaluation. */ + before_sha?: string; + /** @description The last commit sha in the push evaluation. */ + after_sha?: string; + /** @description The ref name that the evaluation ran on. */ + ref?: string; + /** @description The ID of the repository associated with the rule evaluation. */ + repository_id?: number; + /** @description The name of the repository without the `.git` extension. */ + repository_name?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string; + /** + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} + */ + result?: "pass" | "fail" | "bypass"; + /** + * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. + * @enum {string} + */ + evaluation_result?: "pass" | "fail" | "bypass"; + }[]; + /** + * Rule Suite + * @description Response + */ + "rule-suite": { + /** @description The unique identifier of the rule insight. */ + id?: number; + /** @description The number that identifies the user. */ + actor_id?: number | null; + /** @description The handle for the GitHub user account. */ + actor_name?: string | null; + /** @description The first commit sha before the push evaluation. */ + before_sha?: string; + /** @description The last commit sha in the push evaluation. */ + after_sha?: string; + /** @description The ref name that the evaluation ran on. */ + ref?: string; + /** @description The ID of the repository associated with the rule evaluation. */ + repository_id?: number; + /** @description The name of the repository without the `.git` extension. */ + repository_name?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string; + /** + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} + */ + result?: "pass" | "fail" | "bypass"; + /** + * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. Null if no rules with `evaluate` enforcement status were run. + * @enum {string|null} + */ + evaluation_result?: "pass" | "fail" | "bypass" | null; + /** @description Details on the evaluated rules. */ + rule_evaluations?: { + rule_source?: { + /** @description The type of rule source. */ + type?: string; + /** @description The ID of the rule source. */ + id?: number | null; + /** @description The name of the rule source. */ + name?: string | null; + }; + /** + * @description The enforcement level of this rule source. + * @enum {string} + */ + enforcement?: "active" | "evaluate" | "deleted ruleset"; + /** + * @description The result of the evaluation of the individual rule. + * @enum {string} + */ + result?: "pass" | "fail"; + /** @description The type of rule. */ + rule_type?: string; + /** @description The detailed failure message for the rule. Null if the rule passed. */ + details?: string | null; + }[]; + }; + /** + * Ruleset version + * @description The historical version of a ruleset + */ + "ruleset-version": { + /** @description The ID of the previous version of the ruleset */ + version_id: number; + /** @description The actor who updated the ruleset */ + actor: { + id?: number; + type?: string; + }; + /** Format: date-time */ + updated_at: string; + }; + "ruleset-version-with-state": components["schemas"]["ruleset-version"] & { + /** @description The state of the ruleset version */ + state: Record; + }; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + "repository-advisory-vulnerability": { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions: string[] | null; + }; + /** @description A credit given to a user for a repository security advisory. */ + "repository-advisory-credit": { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + /** + * @description The state of the user's acceptance of the credit. + * @enum {string} + */ + state: "accepted" | "declined" | "pending"; + }; + /** @description A repository security advisory. */ + "repository-advisory": { + /** @description The GitHub Security Advisory ID. */ + readonly ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id: string | null; + /** + * Format: uri + * @description The API URL for the advisory. + */ + readonly url: string; + /** + * Format: uri + * @description The URL for the advisory. + */ + readonly html_url: string; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; + /** + * @description The severity of the advisory. + * @enum {string|null} + */ + severity: "critical" | "high" | "medium" | "low" | null; + /** @description The author of the advisory. */ + readonly author: components["schemas"]["simple-user"] | null; + /** @description The publisher of the advisory. */ + readonly publisher: components["schemas"]["simple-user"] | null; + readonly identifiers: { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[]; + /** + * @description The state of the advisory. + * @enum {string} + */ + state: "published" | "closed" | "withdrawn" | "draft" | "triage"; + /** + * Format: date-time + * @description The date and time of when the advisory was created, in ISO 8601 format. + */ + readonly created_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. + */ + readonly updated_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. + */ + readonly published_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was closed, in ISO 8601 format. + */ + readonly closed_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + */ + readonly withdrawn_at: string | null; + readonly submission: { + /** @description Whether a private vulnerability report was accepted by the repository's administrators. */ + readonly accepted: boolean; + } | null; + vulnerabilities: components["schemas"]["repository-advisory-vulnerability"][] | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + readonly score: number | null; + } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; + readonly cwes: { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + readonly name: string; + }[] | null; + /** @description A list of only the CWE IDs. */ + cwe_ids: string[] | null; + credits: { + /** @description The username of the user credited. */ + login?: string; + type?: components["schemas"]["security-advisory-credit-types"]; + }[] | null; + readonly credits_detailed: components["schemas"]["repository-advisory-credit"][] | null; + /** @description A list of users that collaborate on the advisory. */ + collaborating_users: components["schemas"]["simple-user"][] | null; + /** @description A list of teams that collaborate on the advisory. */ + collaborating_teams: components["schemas"]["team"][] | null; + /** @description A temporary private fork of the advisory's repository for collaborating on a fix. */ + readonly private_fork: components["schemas"]["simple-repository"] | 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 macOS 12 core runner machines. */ + macos_12_core?: number; + /** @description Total minutes used on all runner machines. */ + total?: number; + }; + }; + "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; + }; + /** + * Hosted compute network configuration + * @description A hosted compute network configuration. + */ + "network-configuration": { + /** + * @description The unique identifier of the network configuration. + * @example 123ABC456DEF789 + */ + id: string; + /** + * @description The name of the network configuration. + * @example my-network-configuration + */ + name: string; + /** + * @description The hosted compute service the network configuration supports. + * @enum {string} + */ + compute_service?: "none" | "actions" | "codespaces"; + /** + * @description The unique identifier of each network settings in the configuration. + * @example 123ABC456DEF789 + */ + network_settings_ids?: string[]; + /** + * Format: date-time + * @description The time at which the network configuration was created, in ISO 8601 format. + * @example 2024-04-26T11:31:07Z + */ + created_on: string | null; + }; + /** + * Hosted compute network settings resource + * @description A hosted compute network settings resource. + */ + "network-settings": { + /** + * @description The unique identifier of the network settings resource. + * @example 220F78DACB92BBFBC5E6F22DE1CCF52309D + */ + id: string; + /** + * @description The identifier of the network configuration that is using this settings resource. + * @example 934E208B3EE0BD60CF5F752C426BFB53562 + */ + network_configuration_id?: string; + /** + * @description The name of the network settings resource. + * @example my-network-settings + */ + name: string; + /** + * @description The subnet this network settings resource is configured for. + * @example /subscriptions/14839728-3ad9-43ab-bd2b-fa6ad0f75e2a/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/my-subnet + */ + subnet_id: string; + /** + * @description The location of the subnet this network settings resource is configured for. + * @example eastus + */ + region: string; + }; + /** + * Team Organization + * @description Team Organization + */ + "team-organization": { + /** @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; + /** @example false */ + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_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 The notification setting the team has set + * @example notifications_enabled + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @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"]["team-organization"]; + /** + * @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 owners. + * @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; + 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; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + * @example false + */ + web_commit_signoff_required: 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; + /** + * Format: int64 + * @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"]; + code_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"]; + dependency_sbom?: components["schemas"]["rate-limit"]; + code_scanning_autofix?: components["schemas"]["rate-limit"]; + }; + rate: components["schemas"]["rate-limit"]; + }; + /** + * 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; + /** + * @description The SHA256 digest of the artifact. This field will only be populated on artifacts uploaded with upload-artifact v4 or newer. For older versions, this field will be null. + * @example sha256:cfc3236bdad15b5898bca8408945c9e19e1917da8704adc20eaa618444290a8c + */ + digest?: 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" | "waiting" | "requested" | "pending"; + /** + * @description The outcome of the job. + * @example success + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; + /** + * Format: date-time + * @description The time that the job created, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + created_at: string; + /** + * 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; + /** + * @description The name of the workflow. + * @example Build + */ + workflow_name: string | null; + /** + * @description The name of the current branch. + * @example main + */ + head_branch: string | null; + }; + /** + * Actions OIDC subject customization for a repository + * @description Actions OIDC subject customization for a repository + */ + "oidc-custom-sub-repo": { + /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ + use_default: boolean; + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys?: string[]; + }; + /** + * 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; + }; + /** Actions Variable */ + "actions-variable": { + /** + * @description The name of the variable. + * @example USERNAME + */ + name: string; + /** + * @description The value of the variable. + * @example octocat + */ + value: string; + /** + * Format: date-time + * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + updated_at: string; + }; + /** @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 the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repositories only. `organization` level access allows sharing across the organization. + * @enum {string} + */ + access_level: "none" | "user" | "organization"; + }; + /** + * 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": { + /** Format: int64 */ + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + /** Format: int64 */ + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + /** Format: int64 */ + id: number; + url: string; + name: string; + }; + }; + }; + /** + * Simple Commit + * @description A commit. + */ + "nullable-simple-commit": { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + id: string; + /** @description SHA for the commit's tree */ + tree_id: string; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + timestamp: string; + /** @description Information about the Git author */ + author: { + /** + * @description Name of the commit's author + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's author + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + /** @description Information about the Git committer */ + committer: { + /** + * @description Name of the commit's committer + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's committer + * @example monalisa.octocat@example.com + */ + 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; + /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the workflow run. The returned pull requests do not necessarily indicate pull requests that triggered the run. */ + 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; + /** + * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. + * @example Simple Workflow + */ + display_title: string; + }; + /** + * 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 or pending (with comments) + * @example approved + * @enum {string} + */ + state: "approved" | "rejected" | "pending"; + user: components["schemas"]["simple-user"]; + /** + * @description The comment submitted with the deployment review + * @example Ship it! + */ + comment: string; + }; + "review-custom-gates-comment-required": { + /** @description The name of the environment to approve or reject. */ + environment_name: string; + /** @description Comment associated with the pending deployment protection rule. **Required when state is not provided.** */ + comment: string; + }; + "review-custom-gates-state-required": { + /** @description The name of the environment to approve or reject. */ + environment_name: string; + /** + * @description Whether to approve or reject deployment to the specified environments. + * @enum {string} + */ + state: "approved" | "rejected"; + /** @description Optional comment to include with the review. */ + 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: { + /** + * Format: int64 + * @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?: components["schemas"]["simple-user"] | components["schemas"]["team"]; + }[]; + }; + /** + * 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; + /** + * Format: int64 + * @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; + }; + /** + * 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; + }; + }; + }; + /** + * Activity + * @description Activity + */ + activity: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The SHA of the commit before the activity. + * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + before: string; + /** + * @description The SHA of the commit after the activity. + * @example 827efc6d56897b048c772eb4087f854f46256132 + */ + after: string; + /** + * @description The full Git reference, formatted as `refs/heads/`. + * @example refs/heads/main + */ + ref: string; + /** + * Format: date-time + * @description The time when the activity occurred. + * @example 2011-01-26T19:06:43Z + */ + timestamp: string; + /** + * @description The type of the activity that was performed. + * @example force_push + * @enum {string} + */ + activity_type: "push" | "force_push" | "branch_deletion" | "branch_creation" | "pr_merge" | "merge_queue_merge"; + actor: components["schemas"]["nullable-simple-user"]; + }; + /** + * 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 only matches numeric characters. + * @example true + */ + is_alphanumeric: boolean; + }; + /** + * Check Dependabot security updates + * @description Check Dependabot security updates + */ + "check-automated-security-fixes": { + /** + * @description Whether Dependabot security updates are enabled for the repository. + * @example true + */ + enabled: boolean; + /** + * @description Whether Dependabot security updates are paused for the repository. + * @example false + */ + paused: 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; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. + * @default false + * @example true + */ + require_last_push_approval: boolean; + }; + /** + * 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; + /** Format: int64 */ + 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; + user_view_type?: string; + }[]; + teams: { + id?: number; + node_id?: string; + url?: string; + html_url?: string; + name?: string; + slug?: string; + description?: string | null; + privacy?: string; + notification_setting?: 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; + /** @example public */ + user_view_type?: string; + }; + name?: string; + client_id?: 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; + }; + /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ + lock_branch?: { + /** @default false */ + enabled: boolean; + }; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ + allow_fork_syncing?: { + /** @default false */ + 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; + verified_at: 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"]["simple-user"] | components["schemas"]["empty-object"]) | null; + committer: (components["schemas"]["simple-user"] | components["schemas"]["empty-object"]) | null; + 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; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. + * @default false + */ + require_last_push_approval: boolean; + 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; + }; + /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ + lock_branch?: { + /** @default false */ + enabled: boolean; + }; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ + allow_fork_syncing?: { + /** @default false */ + 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": { + /** + * Format: int64 + * @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. Statuses of waiting, requested, and pending are reserved for GitHub Actions check runs. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; + /** + * @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"]; + /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the check. The returned pull requests do not necessarily indicate pull requests that triggered the check. */ + 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 A commit. + */ + "simple-commit": { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + id: string; + /** @description SHA for the commit's tree */ + tree_id: string; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + timestamp: string; + /** @description Information about the Git author */ + author: { + /** + * @description Name of the commit's author + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's author + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + /** @description Information about the Git committer */ + committer: { + /** + * @description Name of the commit's committer + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's committer + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + }; + /** + * CheckSuite + * @description A suite of checks performed on the code of a given code change + */ + "check-suite": { + /** + * Format: int64 + * @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; + /** + * @description The phase of the lifecycle that the check suite is currently in. Statuses of waiting, requested, and pending are reserved for GitHub Actions check suites. + * @example completed + * @enum {string|null} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending" | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "startup_failure" | "stale" | 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-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"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["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"]; + dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; + }; + "code-scanning-alert-rule": { + /** @description A unique identifier for the rule used to detect the alert. */ id?: string | null; - branchId?: 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 A 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 A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + }; + "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"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["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"]; + dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; + }; + /** + * @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 If `true`, attempt to create an alert dismissal request. */ + "code-scanning-alert-create-request": boolean; + /** + * @description The status of an autofix. + * @enum {string} + */ + "code-scanning-autofix-status": "pending" | "error" | "success" | "outdated"; + /** @description The description of an autofix. */ + "code-scanning-autofix-description": string | null; + /** + * Format: date-time + * @description The start time of an autofix in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-autofix-started-at": string; + "code-scanning-autofix": { + status: components["schemas"]["code-scanning-autofix-status"]; + description: components["schemas"]["code-scanning-autofix-description"]; + started_at: components["schemas"]["code-scanning-autofix-started-at"]; + }; + /** @description Commit an autofix for a code scanning alert */ + "code-scanning-autofix-commits": { + /** @description The Git reference of target branch for the commit. Branch needs to already exist. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + target_ref?: string; + /** @description Commit message to be used. */ + message?: string; + } | null; + "code-scanning-autofix-commits-response": { + /** @description The Git reference of target branch for the commit. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + target_ref?: string; + /** @description SHA of commit with autofix. */ + sha?: string; + }; + /** + * @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 + */ + readonly next_analysis_url: string | null; + /** + * Format: uri + * @description Next deletable analysis in chain, with last analysis deletion confirmation + */ + readonly confirm_delete_url: string | null; + }; + /** + * CodeQL Database + * @description A CodeQL database. + */ + "code-scanning-codeql-database": { + /** @description The ID of the CodeQL database. */ + id: number; + /** @description The name of the CodeQL database. */ + name: string; + /** @description The language of the CodeQL database. */ + language: string; + uploader: components["schemas"]["simple-user"]; + /** @description The MIME type of the CodeQL database file. */ + content_type: string; + /** @description The size of the CodeQL database file in bytes. */ + size: number; + /** + * Format: date-time + * @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * Format: uri + * @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property. + */ + url: string; + /** @description The commit SHA of the repository at the time the CodeQL database was created. */ + commit_oid?: string | null; + }; + /** + * @description The language targeted by the CodeQL query + * @enum {string} + */ + "code-scanning-variant-analysis-language": "cpp" | "csharp" | "go" | "java" | "javascript" | "python" | "ruby" | "rust" | "swift"; + /** + * Repository Identifier + * @description Repository Identifier + */ + "code-scanning-variant-analysis-repository": { + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @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; + /** @description Whether the repository is private. */ + private: boolean; + /** @example 80 */ + stargazers_count: number; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + }; + /** + * @description The new status of the CodeQL variant analysis repository task. + * @enum {string} + */ + "code-scanning-variant-analysis-status": "pending" | "in_progress" | "succeeded" | "failed" | "canceled" | "timed_out"; + "code-scanning-variant-analysis-skipped-repo-group": { + /** + * @description The total number of repositories that were skipped for this reason. + * @example 2 + */ + repository_count: number; + /** @description A list of repositories that were skipped. This list may not include all repositories that were skipped. This is only available when the repository was found and the user has access to it. */ + repositories: components["schemas"]["code-scanning-variant-analysis-repository"][]; + }; + /** + * Variant Analysis + * @description A run of a CodeQL query against one or more repositories. + */ + "code-scanning-variant-analysis": { + /** @description The ID of the variant analysis. */ + id: number; + controller_repo: components["schemas"]["simple-repository"]; + actor: components["schemas"]["simple-user"]; + query_language: components["schemas"]["code-scanning-variant-analysis-language"]; + /** @description The download url for the query pack. */ + query_pack_url: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at?: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at?: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis was completed, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. Will be null if the variant analysis has not yet completed or this information is not available. + */ + completed_at?: string | null; + /** @enum {string} */ + status: "in_progress" | "succeeded" | "failed" | "cancelled"; + /** @description The GitHub Actions workflow run used to execute this variant analysis. This is only available if the workflow run has started. */ + actions_workflow_run_id?: number; + /** + * @description The reason for a failure of the variant analysis. This is only available if the variant analysis has failed. + * @enum {string} + */ + failure_reason?: "no_repos_queried" | "actions_workflow_run_failed" | "internal_error"; + scanned_repositories?: { + repository: components["schemas"]["code-scanning-variant-analysis-repository"]; + analysis_status: components["schemas"]["code-scanning-variant-analysis-status"]; + /** @description The number of results in the case of a successful analysis. This is only available for successful analyses. */ + result_count?: number; + /** @description The size of the artifact. This is only available for successful analyses. */ + artifact_size_in_bytes?: number; + /** @description The reason of the failure of this repo task. This is only available if the repository task has failed. */ + failure_message?: string; + }[]; + /** @description Information about repositories that were skipped from processing. This information is only available to the user that initiated the variant analysis. */ + skipped_repositories?: { + access_mismatch_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + not_found_repos: { + /** + * @description The total number of repositories that were skipped for this reason. + * @example 2 + */ + repository_count: number; + /** @description A list of full repository names that were skipped. This list may not include all repositories that were skipped. */ + repository_full_names: string[]; + }; + no_codeql_db_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + over_limit_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + }; + }; + "code-scanning-variant-analysis-repo-task": { + repository: components["schemas"]["simple-repository"]; + analysis_status: components["schemas"]["code-scanning-variant-analysis-status"]; + /** @description The size of the artifact. This is only available for successful analyses. */ + artifact_size_in_bytes?: number; + /** @description The number of results in the case of a successful analysis. This is only available for successful analyses. */ + result_count?: number; + /** @description The reason of the failure of this repo task. This is only available if the repository task has failed. */ + failure_message?: string; + /** @description The SHA of the commit the CodeQL database was built against. This is only available for successful analyses. */ + database_commit_sha?: string; + /** @description The source location prefix to use. This is only available for successful analyses. */ + source_location_prefix?: string; + /** @description The URL of the artifact. This is only available for successful analyses. */ + artifact_url?: string; + }; + /** @description Configuration for code scanning default setup. */ + "code-scanning-default-setup": { + /** + * @description Code scanning default setup has been configured or not. + * @enum {string} + */ + state?: "configured" | "not-configured"; + /** @description Languages to be analyzed. */ + languages?: ("actions" | "c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "javascript" | "python" | "ruby" | "typescript" | "swift")[]; + /** + * @description Runner type to be used. + * @enum {string|null} + */ + runner_type?: "standard" | "labeled" | null; + /** + * @description Runner label to be used if the runner type is labeled. + * @example code-scanning + */ + runner_label?: string | null; + /** + * @description CodeQL query suite to be used. + * @enum {string} + */ + query_suite?: "default" | "extended"; + /** + * @description Threat model to be used for code scanning analysis. Use `remote` to analyze only network sources and `remote_and_local` to include local sources like filesystem access, command-line arguments, database reads, environment variable and standard input. + * @enum {string} + */ + threat_model?: "remote" | "remote_and_local"; + /** + * Format: date-time + * @description Timestamp of latest configuration update. + * @example 2023-12-06T14:20:20.000Z + */ + updated_at?: string | null; + /** + * @description The frequency of the periodic analysis. + * @enum {string|null} + */ + schedule?: "weekly" | null; + }; + /** @description Configuration for code scanning default setup. */ + "code-scanning-default-setup-update": { + /** + * @description The desired state of code scanning default setup. + * @enum {string} + */ + state?: "configured" | "not-configured"; + /** + * @description Runner type to be used. + * @enum {string} + */ + runner_type?: "standard" | "labeled"; + /** + * @description Runner label to be used if the runner type is labeled. + * @example code-scanning + */ + runner_label?: string | null; + /** + * @description CodeQL query suite to be used. + * @enum {string} + */ + query_suite?: "default" | "extended"; + /** + * @description Threat model to be used for code scanning analysis. Use `remote` to analyze only network sources and `remote_and_local` to include local sources like filesystem access, command-line arguments, database reads, environment variable and standard input. + * @enum {string} + */ + threat_model?: "remote" | "remote_and_local"; + /** @description CodeQL languages to be analyzed. */ + languages?: ("actions" | "c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "python" | "ruby" | "swift")[]; + }; + /** @description You can use `run_url` to track the status of the run. This includes a property status and conclusion. + * You should not rely on this always being an actions workflow run object. */ + "code-scanning-default-setup-update-response": { + /** @description ID of the corresponding run. */ + run_id?: number; + /** @description URL of the corresponding run. */ + run_url?: string; + }; + /** + * @description The full Git reference, formatted as `refs/heads/`, + * `refs/tags/`, `refs/pull//merge`, or `refs/pull//head`. + * @example refs/heads/main + */ + "code-scanning-ref-full": string; + /** @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. + */ + readonly 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. + */ + readonly analyses_url?: string | null; + /** @description Any errors that ocurred during processing of the delivery. */ + readonly errors?: string[] | null; + }; + /** @description Code security configuration associated with a repository and attachment status */ + "code-security-configuration-for-repository": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: "attached" | "attaching" | "detached" | "removed" | "enforced" | "failed" | "updating" | "removed_by_enterprise"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + /** + * 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, 16 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 17179869184 + */ + 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 Permissions Check + * @description Permission check result for a given devcontainer config. + */ + "codespaces-permissions-check-for-devcontainer": { + /** + * @description Whether the user has accepted the permissions defined by the devcontainer config + * @example true + */ + accepted: boolean; + }; + /** + * 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; + }; + /** + * Collaborator + * @description Collaborator + */ + collaborator: { + /** @example octocat */ + login: string; + /** + * Format: int64 + * @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; + /** @example public */ + user_view_type?: string; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-invitation": { + /** + * Format: int64 + * @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; + /** + * Format: int64 + * @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; + /** @example public */ + user_view_type?: 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; + /** + * Format: int64 + * @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 | null; + 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 | null; + target_url: string | null; + 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; + content?: 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; + 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; + }; + }[]; + encoding?: string; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * Content Directory + * @description A list of directory items + */ + "content-directory": { + /** @enum {string} */ + type: "dir" | "file" | "submodule" | "symlink"; + 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": { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "file"; + 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": { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "symlink"; + 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; + }; + }; + /** + * Submodule Content + * @description An object describing a submodule + */ + "content-submodule": { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "submodule"; + /** 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; + verified_at?: string | null; + }; + }; + }; + /** @description The ID of the push protection bypass placeholder. This value is returned on any push protected routes. */ + "secret-scanning-push-protection-bypass-placeholder-id": string; + /** @description Repository rule violation was detected */ + "repository-rule-violation-error": { + message?: string; + documentation_url?: string; + status?: string; + metadata?: { + secret_scanning?: { + bypass_placeholders?: { + placeholder_id?: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + token_type?: string; + }[]; + }; + }; + }; + /** + * 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; + user_view_type?: string; + }; + /** @description A Dependabot alert. */ + "dependabot-alert": { + number: components["schemas"]["alert-number"]; + /** + * @description The state of the Dependabot alert. + * @enum {string} + */ + readonly state: "auto_dismissed" | "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + readonly dependency: { + package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; + /** + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} + */ + readonly scope?: "development" | "runtime" | null; + /** + * @description The vulnerable dependency's relationship to your project. + * + * > [!NOTE] + * > We are rolling out support for dependency relationship across ecosystems. This value will be "unknown" for all dependencies in unsupported ecosystems. + * + * @enum {string|null} + */ + readonly relationship?: "unknown" | "direct" | "transitive" | null; + }; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | null; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: string | null; + fixed_at: components["schemas"]["alert-fixed-at"]; + auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; + }; + /** + * 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; + }[]; + /** + * @description Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment. + * @enum {string} + */ + scope: "unknown" | "runtime" | "development"; + }[]; + /** + * Dependency Graph SPDX SBOM + * @description A schema for the SPDX JSON format returned by the Dependency Graph. + */ + "dependency-graph-spdx-sbom": { + sbom: { + /** + * @description The SPDX identifier for the SPDX document. + * @example SPDXRef-DOCUMENT + */ + SPDXID: string; + /** + * @description The version of the SPDX specification that this document conforms to. + * @example SPDX-2.3 + */ + spdxVersion: string; + /** + * @description An optional comment about the SPDX document. + * @example Exact versions could not be resolved for some packages. For more information: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/ + */ + comment?: string; + creationInfo: { + /** + * @description The date and time the SPDX document was created. + * @example 2021-11-03T00:00:00Z + */ + created: string; + /** @description The tools that were used to generate the SPDX document. */ + creators: string[]; + }; + /** + * @description The name of the SPDX document. + * @example github/github + */ + name: string; + /** + * @description The license under which the SPDX document is licensed. + * @example CC0-1.0 + */ + dataLicense: string; + /** + * @description The namespace for the SPDX document. + * @example https://spdx.org/spdxdocs/protobom/15e41dd2-f961-4f4d-b8dc-f8f57ad70d57 + */ + documentNamespace: string; + packages: { + /** + * @description A unique SPDX identifier for the package. + * @example SPDXRef-Package + */ + SPDXID?: string; + /** + * @description The name of the package. + * @example github/github + */ + name?: string; + /** + * @description The version of the package. If the package does not have an exact version specified, + * a version range is given. + * @example 1.0.0 + */ + versionInfo?: string; + /** + * @description The location where the package can be downloaded, + * or NOASSERTION if this has not been determined. + * @example NOASSERTION + */ + downloadLocation?: string; + /** + * @description Whether the package's file content has been subjected to + * analysis during the creation of the SPDX document. + * @example false + */ + filesAnalyzed?: boolean; + /** + * @description The license of the package as determined while creating the SPDX document. + * @example MIT + */ + licenseConcluded?: string; + /** + * @description The license of the package as declared by its author, or NOASSERTION if this information + * was not available when the SPDX document was created. + * @example NOASSERTION + */ + licenseDeclared?: string; + /** + * @description The distribution source of this package, or NOASSERTION if this was not determined. + * @example NOASSERTION + */ + supplier?: string; + /** + * @description The copyright holders of the package, and any dates present with those notices, if available. + * @example Copyright (c) 1985 GitHub.com + */ + copyrightText?: string; + externalRefs?: { + /** + * @description The category of reference to an external resource this reference refers to. + * @example PACKAGE-MANAGER + */ + referenceCategory: string; + /** + * @description A locator for the particular external resource this reference refers to. + * @example pkg:gem/rails@6.0.1 + */ + referenceLocator: string; + /** + * @description The category of reference to an external resource this reference refers to. + * @example purl + */ + referenceType: string; + }[]; + }[]; + relationships?: { + /** + * @description The type of relationship between the two SPDX elements. + * @example DEPENDS_ON + */ + relationshipType?: string; + /** @description The SPDX identifier of the package that is the source of the relationship. */ + spdxElementId?: string; + /** @description The SPDX identifier of the package that is the target of the relationship. */ + relatedSpdxElement?: string; + }[]; + }; + }; + /** + * metadata + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + metadata: { + [key: string]: (string | number | boolean) | null; + }; + 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 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"]; + /** @description A collection of resolved package dependencies. */ + 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. Maximum length: 40 characters. + * @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, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ + 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; + /** + * Format: int64 + * @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 Closing down notice: 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-settings": { + /** @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: { + /** + * Format: int64 + * @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 Built-in deployment protection rules for the environment. */ + protection_rules?: ({ + /** @example 3515 */ + id: number; + /** @example MDQ6R2F0ZTM1MTU= */ + node_id: string; + /** @example wait_timer */ + type: string; + wait_timer?: components["schemas"]["wait-timer"]; + } | { + /** @example 3755 */ + id: number; + /** @example MDQ6R2F0ZTM3NTU= */ + node_id: string; + /** + * @description Whether deployments to this environment can be approved by the user who created the deployment. + * @example false + */ + prevent_self_review?: boolean; + /** @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?: components["schemas"]["simple-user"] | components["schemas"]["team"]; + }[]; + } | { + /** @example 3515 */ + id: number; + /** @example MDQ6R2F0ZTM1MTU= */ + node_id: string; + /** @example branch_policy */ + type: string; + })[]; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; + }; + /** + * @description Whether or not a user who created the job is prevented from approving their own job. + * @example false + */ + "prevent-self-review": boolean; + /** + * Deployment branch policy + * @description Details of a deployment branch or tag policy. + */ + "deployment-branch-policy": { + /** + * @description The unique identifier of the branch or tag policy. + * @example 361471 + */ + id?: number; + /** @example MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzE= */ + node_id?: string; + /** + * @description The name pattern that branches or tags must match in order to deploy to the environment. + * @example release/* + */ + name?: string; + /** + * @description Whether this rule targets a branch or tag. + * @example branch + * @enum {string} + */ + type?: "branch" | "tag"; + }; + /** Deployment branch and tag policy name pattern */ + "deployment-branch-policy-name-pattern-with-type": { + /** + * @description The name pattern that branches or tags must match in order to deploy to the environment. + * + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. + * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + * @example release/* + */ + name: string; + /** + * @description Whether this rule targets a branch or tag + * @example branch + * @enum {string} + */ + type?: "branch" | "tag"; + }; + /** Deployment branch policy name pattern */ + "deployment-branch-policy-name-pattern": { + /** + * @description The name pattern that branches must match in order to deploy to the environment. + * + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. + * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + * @example release/* + */ + name: string; + }; + /** + * Custom deployment protection rule app + * @description A GitHub App that is providing a custom deployment protection rule. + */ + "custom-deployment-rule-app": { + /** + * @description The unique identifier of the deployment protection rule integration. + * @example 3515 + */ + id: number; + /** + * @description The slugified name of the deployment protection rule integration. + * @example my-custom-app + */ + slug: string; + /** + * @description The URL for the endpoint to get details about the app. + * @example https://api.github.com/apps/custom-app-slug + */ + integration_url: string; + /** + * @description The node ID for the deployment protection rule integration. + * @example MDQ6R2F0ZTM1MTU= + */ + node_id: string; + }; + /** + * Deployment protection rule + * @description Deployment protection rule + */ + "deployment-protection-rule": { + /** + * @description The unique identifier for the deployment protection rule. + * @example 3515 + */ + id: number; + /** + * @description The node ID for the deployment protection rule. + * @example MDQ6R2F0ZTM1MTU= + */ + node_id: string; + /** + * @description Whether the deployment protection rule is enabled for the environment. + * @example true + */ + enabled: boolean; + app: components["schemas"]["custom-deployment-rule-app"]; + }; + /** + * 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; + verified_at: 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" + * } + * ] + */ + 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: components["schemas"]["webhook-config"]; + /** + * 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": { + /** Format: int64 */ + 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 + * @enum {string|null} + */ + state_reason?: "completed" | "reopened" | "not_planned" | "duplicate" | 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; + type?: components["schemas"]["issue-type"]; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + } | 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": { + /** + * Format: int64 + * @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": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["assigned-issue-event"] | components["schemas"]["unassigned-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"]; + /** + * Label + * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). + */ + label: { + /** + * Format: int64 + * @description Unique identifier for the label. + * @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; + /** + * @description Optional description of the label, such as its purpose. + * @example Something isn't working + */ + description: string | null; + /** + * @description 6-character hex code, without the leading #, identifying the color + * @example FFFFFF + */ + color: string; + /** + * @description Whether this label comes by default in a new repository. + * @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; + verified_at: 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; + /** + * Format: int64 + * @description The ID of the pull request review to which the comment belongs. + * @example 42 + */ + pull_request_review_id: number | null; + /** + * Format: int64 + * @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 closing down; 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 closing down; 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"; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + 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": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"] | components["schemas"]["timeline-comment-event"] | components["schemas"]["timeline-cross-referenced-event"] | components["schemas"]["timeline-committed-event"] | components["schemas"]["timeline-reviewed-event"] | components["schemas"]["timeline-line-commented-event"] | components["schemas"]["timeline-commit-commented-event"] | components["schemas"]["timeline-assigned-issue-event"] | components["schemas"]["timeline-unassigned-issue-event"] | components["schemas"]["state-change-issue-event"]; + /** + * 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; + added_by?: string | null; + last_used?: string | null; + enabled?: 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; + }; + /** + * GitHub Pages + * @description The GitHub Pages deployment status. + */ + "page-deployment": { + /** @description The ID of the GitHub Pages deployment. This is the Git SHA of the deployed commit. */ + id: number | string; + /** + * Format: uri + * @description The URI to monitor GitHub Pages deployment status. + * @example https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251 + */ + status_url: string; + /** + * Format: uri + * @description The URI to the deployed GitHub Pages. + * @example hello-world.github.io + */ + page_url: string; + /** + * Format: uri + * @description The URI to the deployed GitHub Pages preview. + * @example monalisa-1231a2312sa32-23sda74.drafts.github.io + */ + preview_url?: string; + }; + /** GitHub Pages deployment status */ + "pages-deployment-status": { + /** + * @description The current status of the deployment. + * @enum {string} + */ + status?: "deployment_in_progress" | "syncing_files" | "finished_file_sync" | "updating_pages" | "purging_cdn" | "deployment_cancelled" | "deployment_failed" | "deployment_content_failed" | "deployment_attempt_error" | "deployment_lost" | "succeed"; + }; + /** + * 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; + }; + /** + * 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; + /** + * Format: int64 + * @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"]["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: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["simple-user"]; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["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; + 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": { + /** + * Format: int64 + * @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. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`. + * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 + */ + commit_id: string | null; + 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; + /** + * Format: int64 + * @example 42 + */ + pull_request_review_id: number | null; + /** + * Format: int64 + * @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; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + }; + /** + * 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; + digest: string | null; + 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; + /** + * @description Whether or not the release is immutable. + * @example false + */ + immutable?: 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; + }; + /** + * repository ruleset data for rule + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + "repository-rule-ruleset-info": { + /** + * @description The type of source for the ruleset that includes this rule. + * @enum {string} + */ + ruleset_source_type?: "Repository" | "Organization"; + /** @description The name of the source of the ruleset that includes this rule. */ + ruleset_source?: string; + /** @description The ID of the ruleset that includes this rule. */ + ruleset_id?: number; + }; + /** + * Repository Rule + * @description A repository rule with ruleset details. + */ + "repository-rule-detailed": (components["schemas"]["repository-rule-creation"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-update"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-deletion"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-linear-history"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-merge-queue"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-deployments"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-signatures"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-pull-request"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-status-checks"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-non-fast-forward"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-message-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-author-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-committer-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-branch-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-tag-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-file-path-restriction"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-max-file-path-length"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-file-extension-restriction"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-max-file-size"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-workflows"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-code-scanning"] & components["schemas"]["repository-rule-ruleset-info"]); + "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 An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @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 "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ + 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; + push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment when reviewing a push protection bypass. */ + push_protection_bypass_request_reviewer_comment?: string | null; + /** @description An optional comment when requesting a push protection bypass. */ + push_protection_bypass_request_comment?: string | null; + /** + * Format: uri + * @description The URL to a push protection bypass request. + */ + push_protection_bypass_request_html_url?: string | null; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @description Whether the detected secret was publicly leaked. */ + publicly_leaked?: boolean | null; + /** @description Whether the detected secret was found in multiple repositories under the same organization or enterprise. */ + multi_repo?: boolean | null; + /** @description A boolean value representing whether or not alert is base64 encoded */ + is_base64_encoded?: boolean | null; + first_location_detected?: components["schemas"]["nullable-secret-scanning-first-detected-location"]; + /** @description A boolean value representing whether or not the token in the alert was detected in more than one location. */ + has_more_locations?: boolean; + }; + /** @description An optional comment when closing or reopening an alert. Cannot be updated or deleted. */ + "secret-scanning-alert-resolution-comment": string | null; + "secret-scanning-location": { + /** + * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues, pull requests, discussions), this field identifies the type of resource where the secret was found. + * @example commit + * @enum {string} + */ + type?: "commit" | "wiki_commit" | "issue_title" | "issue_body" | "issue_comment" | "discussion_title" | "discussion_body" | "discussion_comment" | "pull_request_title" | "pull_request_body" | "pull_request_comment" | "pull_request_review" | "pull_request_review_comment"; + details?: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-wiki-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"] | components["schemas"]["secret-scanning-location-discussion-title"] | components["schemas"]["secret-scanning-location-discussion-body"] | components["schemas"]["secret-scanning-location-discussion-comment"] | components["schemas"]["secret-scanning-location-pull-request-title"] | components["schemas"]["secret-scanning-location-pull-request-body"] | components["schemas"]["secret-scanning-location-pull-request-comment"] | components["schemas"]["secret-scanning-location-pull-request-review"] | components["schemas"]["secret-scanning-location-pull-request-review-comment"]; + }; + /** + * @description The reason for bypassing push protection. + * @enum {string} + */ + "secret-scanning-push-protection-bypass-reason": "false_positive" | "used_in_tests" | "will_fix_later"; + "secret-scanning-push-protection-bypass": { + reason?: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + /** + * Format: date-time + * @description The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + expire_at?: string | null; + /** @description The token type this bypass is for. */ + token_type?: string; + }; + /** @description Information on a single scan performed by secret scanning on the repository */ + "secret-scanning-scan": { + /** @description The type of scan */ + type?: string; + /** @description The state of the scan. Either "completed", "running", or "pending" */ + status?: string; + /** + * Format: date-time + * @description The time that the scan was completed. Empty if the scan is running + */ + completed_at?: string | null; + /** + * Format: date-time + * @description The time that the scan was started. Empty if the scan is pending + */ + started_at?: string | null; + }; + "secret-scanning-scan-history": { + incremental_scans?: components["schemas"]["secret-scanning-scan"][]; + pattern_update_scans?: components["schemas"]["secret-scanning-scan"][]; + backfill_scans?: components["schemas"]["secret-scanning-scan"][]; + custom_pattern_backfill_scans?: (components["schemas"]["secret-scanning-scan"] & { + /** @description Name of the custom pattern for custom pattern scans */ + pattern_name?: string; + /** @description Level at which the custom pattern is defined, one of "repository", "organization", or "enterprise" */ + pattern_scope?: string; + })[]; + }; + "repository-advisory-create": { + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory impacts. */ + description: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id?: string | null; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[]; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** @description A list of users receiving credit for their participation in the security advisory. */ + credits?: { + /** @description The username of the user credited. */ + login: string; + type: components["schemas"]["security-advisory-credit-types"]; + }[] | null; + /** + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description Whether to create a temporary private fork of the repository to collaborate on a fix. + * @default false + */ + start_private_fork: boolean; + }; + "private-vulnerability-report-create": { + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory impacts. */ + description: string; + /** @description An array of products affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities?: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[] | null; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description Whether to create a temporary private fork of the repository to collaborate on a fix. + * @default false + */ + start_private_fork: boolean; + }; + "repository-advisory-update": { + /** @description A short summary of the advisory. */ + summary?: string; + /** @description A detailed description of what the advisory impacts. */ + description?: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id?: string | null; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities?: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[]; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** @description A list of users receiving credit for their participation in the security advisory. */ + credits?: { + /** @description The username of the user credited. */ + login: string; + type: components["schemas"]["security-advisory-credit-types"]; + }[] | null; + /** + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description The state of the advisory. + * @enum {string} + */ + state?: "published" | "closed" | "draft"; + /** @description A list of usernames who have been granted write access to the advisory. */ + collaborating_users?: string[] | null; + /** @description A list of team slugs which have been granted write access to the advisory. */ + collaborating_teams?: string[] | null; + }; + /** + * 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"][]; + }; + /** 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; + /** Format: int64 */ + 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; + }[]; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + 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; + type?: components["schemas"]["issue-type"]; + 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; + has_discussions?: 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; + /** @example false */ + web_commit_signoff_required?: 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; + /** Format: int64 */ + 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; + user_view_type?: string; + }; + /** + * Private User + * @description Private User + */ + "private-user": { + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + user_view_type: "private"; + /** @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 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; + /** + * Format: email + * @example octocat@github.com + */ + notification_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; + }; + 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; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to 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; + }; + /** + * Codespace + * @description A codespace. + */ + "codespace-with-full-repository": { + /** + * Format: int64 + * @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"]["full-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 initally assigned location of a new codespace. + * @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 to publish this codespace to a new repository. + */ + publish_url?: string | null; + /** + * 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; + /** + * @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). + * @example 60 + */ + retention_period_minutes?: number | null; + /** + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" + * @example 2011-01-26T20:01:12Z + */ + retention_expires_at?: 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": { + /** + * Format: int64 + * @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": [], + * "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: { + /** Format: int64 */ + id?: number; + primary_key_id?: number; + key_id?: string; + public_key?: string; + emails?: { + email?: string; + verified?: boolean; + }[]; + 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; + /** Format: int64 */ + 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"]; + }; + /** + * Social account + * @description Social media account + */ + "social-account": { + /** @example linkedin */ + provider: string; + /** @example https://www.linkedin.com/company/github/ */ + url: string; + }; + /** + * SSH Signing Key + * @description A public SSH key used to sign Git commits + */ + "ssh-signing-key": { + key: string; + id: number; + title: string; + /** Format: date-time */ + created_at: string; + }; + /** + * 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; + /** Format: date-time */ + created_at?: string; + }; + "billing-usage-report-user": { + usageItems?: { + /** @description Date of the usage line item. */ + date: string; + /** @description Product name. */ + product: string; + /** @description SKU name. */ + sku: string; + /** @description Quantity of the usage line item. */ + quantity: number; + /** @description Unit type of the usage line item. */ + unitType: string; + /** @description Price per unit of the usage line item. */ + pricePerUnit: number; + /** @description Gross amount of the usage line item. */ + grossAmount: number; + /** @description Discount amount of the usage line item. */ + discountAmount: number; + /** @description Net amount of the usage line item. */ + netAmount: number; + /** @description Name of the repository. */ + repositoryName?: string; + }[]; + }; + /** + * Enterprise + * @description An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + * on an enterprise account or an organization that's part of an enterprise account. For more information, + * see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + */ + "enterprise-webhooks": { + /** @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; + }; + /** + * Simple Installation + * @description The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + * for and sent to a GitHub App. For more information, + * see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + */ + "simple-installation": { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + /** + * @description The global node ID of the installation. + * @example MDQ6VXNlcjU4MzIzMQ== + */ + node_id: string; + }; + /** + * Organization Simple + * @description A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + * organization, or when the event occurs from activity in a repository owned by an organization. + */ + "organization-simple-webhooks": { + /** @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; + }; + /** + * Repository + * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + * when the event occurs from activity in a repository. + */ + "repository-webhooks": { + /** + * Format: int64 + * @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; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @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 The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** + * @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 discussions are enabled. + * @default false + * @example true + */ + has_discussions: 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; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + 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; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @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; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + webhooks_rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: string[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + /** + * @description The enforcement level of the branch lock setting. `off` means the branch is not locked, `non_admins` means the branch is read-only for non_admins, and `everyone` means the branch is read-only for everyone. + * @enum {string} + */ + lock_branch_enforcement_level: "off" | "non_admins" | "everyone"; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow users to pull changes from upstream when the branch is locked. This setting is only applicable for forks. */ + lock_allows_fork_sync?: boolean; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + /** @description A suite of checks performed on the code of a given code change */ + "simple-check-suite": { + /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ + after?: string | null; + app?: components["schemas"]["integration"]; + /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ + before?: string | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "stale" | "startup_failure" | null; + /** Format: date-time */ + created_at?: string; + /** @example master */ + head_branch?: string | null; + /** + * @description The SHA of the head commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha?: string; + /** @example 5 */ + id?: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id?: string; + pull_requests?: components["schemas"]["pull-request-minimal"][]; + repository?: components["schemas"]["minimal-repository"]; + /** + * @example completed + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; + /** Format: date-time */ + updated_at?: string; + /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ + url?: string; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run-with-simple-check-suite": { + app: components["schemas"]["integration"]; + check_suite: components["schemas"]["simple-check-suite"]; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + completed_at: string | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: "waiting" | "pending" | "startup_failure" | "stale" | "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; + deployment?: components["schemas"]["deployment-simple"]; + /** @example https://example.com */ + details_url: string; + /** @example 42 */ + external_id: string; + /** + * @description The SHA of the commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string; + /** + * @description The id of the check. + * @example 21 + */ + id: number; + /** + * @description The name of the check. + * @example test-coverage + */ + name: string; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + output: { + annotations_count: number; + /** Format: uri */ + annotations_url: string; + summary: string | null; + text: string | null; + title: string | null; + }; + pull_requests: components["schemas"]["pull-request-minimal"][]; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + started_at: string; + /** + * @description The phase of the lifecycle that the check is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "pending"; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + webhooks_code_scanning_commit_oid: string; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + webhooks_code_scanning_ref: string; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + webhooks_deploy_pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ + webhooks_ref_0: string; + /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ + webhooks_deploy_key: { + added_by?: string | null; + created_at: string; + id: number; + key: string; + last_used?: string | null; + read_only: boolean; + title: string; + /** Format: uri */ + url: string; + verified: boolean; + enabled?: boolean; + }; + /** Workflow */ + webhooks_workflow: { + /** Format: uri */ + badge_url: string; /** Format: date-time */ - bookingDate: string; - bookingType: string; - /** Format: int32 */ - numberOfSlot: number; + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + webhooks_approver: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + webhooks_reviewers: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @enum {string} */ + type?: "User"; + }[]; + webhooks_workflow_job_run: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: unknown; status: string; - /** Format: double */ - totalPrice: number; - user?: components["schemas"]["IdentityUser"]; - branch?: components["schemas"]["Branch"]; - timeSlots?: components["schemas"]["TimeSlot"][] | null; - payments?: components["schemas"]["Payment"][] | null; - }; - BookingPagingResponse: { - data?: components["schemas"]["Booking"][] | null; - /** Format: int32 */ - total?: number; + updated_at: string; + }; + /** User */ + webhooks_user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + webhooks_answer: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + /** Format: date-time */ + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: unknown; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Discussion + * @description A Discussion in a repository. + */ + discussion: { + active_lock_reason: string | null; + answer_chosen_at: string | null; + /** User */ + answer_chosen_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + answer_html_url: string | null; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** + * @description The current state of the discussion. + * `converting` means that the discussion is being converted from an issue. + * `transferring` means that the discussion is being transferred from another repository. + * @enum {string} + */ + state: "open" | "closed" | "locked" | "converting" | "transferring"; + /** + * @description The reason for the current state + * @example resolved + * @enum {string|null} + */ + state_reason: "resolved" | "outdated" | "duplicate" | "reopened" | null; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + labels?: components["schemas"]["label"][]; + }; + webhooks_comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: number | null; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Label */ + webhooks_label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + /** @description An array of repository objects that the installation can access. */ + webhooks_repositories: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + /** @description An array of repository objects, which were added to the installation. */ + webhooks_repositories_added: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + webhooks_repository_selection: "all" | "selected"; + /** + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. + */ + webhooks_issue_comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: components["schemas"]["integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** @description The changes to the comment. */ + webhooks_changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + webhooks_issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + webhooks_milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + webhooks_issue_2: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** User */ + webhooks_user_mannequin: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Marketplace Purchase */ + webhooks_marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date: string | null; + on_free_trial: boolean; + plan: { + bullets: (string | null)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + /** Marketplace Purchase */ + webhooks_previous_marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: unknown; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + webhooks_team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** @enum {string} */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + /** + * Merge Group + * @description A group of pull requests that the merge queue has grouped together to be merged. + */ + "merge-group": { + /** @description The SHA of the merge group. */ + head_sha: string; + /** @description The full ref of the merge group. */ + head_ref: string; + /** @description The SHA of the merge group's parent commit. */ + base_sha: string; + /** @description The full ref of the branch the merge group will be merged into. */ + base_ref: string; + head_commit: components["schemas"]["simple-commit"]; + }; + /** + * Repository + * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + * when the event occurs from activity in a repository. + */ + "nullable-repository-webhooks": { + /** + * Format: int64 + * @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; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @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 The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** + * @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 discussions are enabled. + * @default false + * @example true + */ + has_discussions: 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; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + 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; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @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; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + webhooks_milestone_3: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + webhooks_membership: { + /** Format: uri */ + organization_url: string; + role: string; + /** + * @description Whether the user has direct membership in the organization. + * @example true + */ + direct_membership?: boolean; + /** + * @description The slugs of the enterprise teams providing the user with indirect membership in the organization. + * A limit of 100 enterprise team slugs is returned. + * @example [ + * "ent:team-one", + * "ent:team-two" + * ] + */ + enterprise_teams_providing_indirect_membership?: string[]; + state: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Personal Access Token Request + * @description Details of a Personal Access Token Request. + */ + "personal-access-token-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** @description New requested permissions, categorized by type of permission. */ + permissions_added: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ + permissions_upgraded: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ + permissions_result: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repository_count: number | null; + /** @description An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repositories: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[] | null; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ + token_id: number; + /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ + token_name: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** Project Card */ + webhooks_project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** Project */ + webhooks_project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** Project Column */ + webhooks_project_column: { + after_id?: number | null; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** + * Projects v2 Project + * @description A projects v2 project + */ + "projects-v2": { + id: number; + node_id: string; + owner: components["schemas"]["simple-user"]; + creator: components["schemas"]["simple-user"]; + title: string; + description: string | null; + public: boolean; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + number: number; + short_description: string | null; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + deleted_at: string | null; + deleted_by: components["schemas"]["nullable-simple-user"]; + }; + webhooks_project_changes: { + archived_at?: { + /** Format: date-time */ + from?: string | null; + /** Format: date-time */ + to?: string | null; + }; + }; + /** + * Projects v2 Item Content Type + * @description The type of content tracked in a project item + * @enum {string} + */ + "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; + /** + * Projects v2 Item + * @description An item belonging to a project + */ + "projects-v2-item": { + id: number; + node_id?: string; + project_node_id?: string; + content_node_id: string; + content_type: components["schemas"]["projects-v2-item-content-type"]; + creator?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + archived_at: string | null; + }; + /** + * Projects v2 Single Select Option + * @description An option for a single select field + */ + "projects-v2-single-select-option": { + id: string; + name: string; + color?: string | null; + description?: string | null; + }; + /** + * Projects v2 Iteration Setting + * @description An iteration setting for an iteration field + */ + "projects-v2-iteration-setting": { + id: string; + title: string; + duration?: number | null; + start_date?: string | null; + }; + /** + * Projects v2 Status Update + * @description An status update belonging to a project + */ + "projects-v2-status-update": { + id: number; + node_id: string; + project_node_id?: string; + creator?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** @enum {string|null} */ + status?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; + /** + * Format: date + * @example 2022-04-28 + */ + start_date?: string; + /** + * Format: date + * @example 2022-04-28 + */ + target_date?: string; + /** + * @description Body of the status update + * @example The project is off to a great start! + */ + body?: string | null; + }; + /** @description The pull request number. */ + webhooks_number: number; + "pull-request-webhook": components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + /** Pull Request */ + webhooks_pull_request_5: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + webhooks_review_comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + 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 level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** @description The review that was affected. */ + webhooks_review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + state: string; + /** Format: date-time */ + submitted_at: string | null; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + webhooks_nullable_string: string | null; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + webhooks_release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + digest: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + /** @description Whether or not the release is immutable. */ + immutable: boolean; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + webhooks_release_1: { + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + digest: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + } | null)[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + /** @description Whether or not the release is immutable. */ + immutable: boolean; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + webhooks_alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open"; + }; + /** + * @description The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution-webhook": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | "pattern_deleted" | "pattern_edited" | null; + "secret-scanning-alert-webhook": { + 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; + resolution?: components["schemas"]["secret-scanning-alert-resolution-webhook"]; + /** + * 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 An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @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 "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ + secret_type_display_name?: string; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @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; + push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment when reviewing a push protection bypass. */ + push_protection_bypass_request_reviewer_comment?: string | null; + /** @description An optional comment when requesting a push protection bypass. */ + push_protection_bypass_request_comment?: string | null; + /** + * Format: uri + * @description The URL to a push protection bypass request. + */ + push_protection_bypass_request_html_url?: string | null; + /** @description Whether the detected secret was publicly leaked. */ + publicly_leaked?: boolean | null; + /** @description Whether the detected secret was found in multiple repositories in the same organization or business. */ + multi_repo?: boolean | null; + }; + /** @description The details of the security advisory, including summary, description, and severity. */ + webhooks_security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cvss_severities?: components["schemas"]["cvss-severities"]; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string | null; + }; + webhooks_sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ + webhooks_effective_date: string; + webhooks_changes_8: { + tier: { + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + from: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + webhooks_team_1: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + /** branch protection configuration disabled event */ + "webhook-branch-protection-configuration-disabled": { + /** @enum {string} */ + action: "disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection configuration enabled event */ + "webhook-branch-protection-configuration-enabled": { + /** @enum {string} */ + action: "enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule created event */ + "webhook-branch-protection-rule-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + rule: components["schemas"]["webhooks_rule"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule deleted event */ + "webhook-branch-protection-rule-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + rule: components["schemas"]["webhooks_rule"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule edited event */ + "webhook-branch-protection-rule-edited": { + /** @enum {string} */ + action: "edited"; + /** @description If the action was `edited`, the changes to the rule. */ + changes?: { + admin_enforced?: { + from: boolean | null; + }; + authorized_actor_names?: { + from: string[]; + }; + authorized_actors_only?: { + from: boolean | null; + }; + authorized_dismissal_actors_only?: { + from: boolean | null; + }; + linear_history_requirement_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + lock_branch_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + lock_allows_fork_sync?: { + from: boolean | null; + }; + pull_request_reviews_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + require_last_push_approval?: { + from: boolean | null; + }; + required_status_checks?: { + from: string[]; + }; + required_status_checks_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + rule: components["schemas"]["webhooks_rule"]; + sender: components["schemas"]["simple-user"]; + }; + /** Check Run Completed Event */ + "webhook-check-run-completed": { + /** @enum {string} */ + action?: "completed"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Completed Event + * @description The check_run.completed webhook encoded with URL encoding + */ + "webhook-check-run-completed-form-encoded": { + /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Created Event */ + "webhook-check-run-created": { + /** @enum {string} */ + action?: "created"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Created Event + * @description The check_run.created webhook encoded with URL encoding + */ + "webhook-check-run-created-form-encoded": { + /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Requested Action Event */ + "webhook-check-run-requested-action": { + /** @enum {string} */ + action: "requested_action"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** @description The action requested by the user. */ + requested_action?: { + /** @description The integrator reference of the action requested by the user. */ + identifier?: string; + }; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Requested Action Event + * @description The check_run.requested_action webhook encoded with URL encoding + */ + "webhook-check-run-requested-action-form-encoded": { + /** @description A URL-encoded string of the check_run.requested_action JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Re-Requested Event */ + "webhook-check-run-rerequested": { + /** @enum {string} */ + action?: "rerequested"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Re-Requested Event + * @description The check_run.rerequested webhook encoded with URL encoding + */ + "webhook-check-run-rerequested-form-encoded": { + /** @description A URL-encoded string of the check_run.rerequested JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** check_suite completed event */ + "webhook-check-suite-completed": { + /** @enum {string} */ + action: "completed"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * 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. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_group" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "projects_v2_item" | "secret_scanning_alert_location")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The client ID of the GitHub app */ + client_id?: string | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has `completed`. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null | "pending"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** check_suite requested event */ + "webhook-check-suite-requested": { + /** @enum {string} */ + action: "requested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * 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. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "secret_scanning_alert_location" | "projects_v2_item" | "merge_group" | "repository_import")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description Client ID of the GitHub app */ + client_id?: string | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped"; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** check_suite rerequested event */ + "webhook-check-suite-rerequested": { + /** @enum {string} */ + action: "rerequested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * 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. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The Client ID for the GitHub app */ + client_id?: string | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert appeared_in_branch event */ + "webhook-code-scanning-alert-appeared-in-branch": { + /** @enum {string} */ + action: "appeared_in_branch"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: 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. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "dismissed" | "fixed" | null; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert closed_by_user event */ + "webhook-code-scanning-alert-closed-by-user": { + /** @enum {string} */ + action: "closed_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: 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. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "dismissed" | "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + /** User */ + dismissal_approved_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert created event */ + "webhook-code-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string | null; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: unknown; + dismissed_by: unknown; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: unknown; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: 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. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "dismissed" | null; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + } | null; + updated_at?: string | null; + /** Format: uri */ + url: string; + dismissal_approved_by?: unknown; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert fixed event */ + "webhook-code-scanning-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Format: uri */ + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: 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. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "fixed" | null; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert reopened event */ + "webhook-code-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: string | null; + dismissed_by: Record | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: string | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: 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. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "dismissed" | "fixed" | null; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + } | null; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string | null; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert reopened_by_user event */ + "webhook-code-scanning-alert-reopened-by-user": { + /** @enum {string} */ + action: "reopened_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: unknown; + dismissed_by: unknown; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: unknown; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: 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. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "fixed" | null; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** commit_comment created event */ + "webhook-commit-comment-created": { + /** + * @description The action performed. Can be `created`. + * @enum {string} + */ + action: "created"; + /** @description The [commit comment](${externalDocsUpapp/api/description/components/schemas/webhooks/issue-comment-created.yamlrl}/rest/commits/comments#get-a-commit-comment) resource. */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + created_at: string; + /** Format: uri */ + html_url: string; + /** @description The ID of the commit comment. */ + id: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the commit comment. */ + node_id: string; + /** @description The relative path of the file to which the comment applies. */ + path: string | null; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** create event */ + "webhook-create": { + /** @description The repository's current description. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The name of the repository's default branch (usually `main`). */ + master_branch: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; + ref: components["schemas"]["webhooks_ref_0"]; + /** + * @description The type of Git ref object created in the repository. + * @enum {string} + */ + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** custom property created event */ + "webhook-custom-property-created": { + /** @enum {string} */ + action: "created"; + definition: components["schemas"]["custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** custom property deleted event */ + "webhook-custom-property-deleted": { + /** @enum {string} */ + action: "deleted"; + definition: { + /** @description The name of the property that was deleted. */ + property_name: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** custom property promoted to business event */ + "webhook-custom-property-promoted-to-enterprise": { + /** @enum {string} */ + action: "promote_to_enterprise"; + definition: components["schemas"]["custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** custom property updated event */ + "webhook-custom-property-updated": { + /** @enum {string} */ + action: "updated"; + definition: components["schemas"]["custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Custom property values updated event */ + "webhook-custom-property-values-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + repository: components["schemas"]["repository-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + /** @description The new custom property values for the repository. */ + new_property_values: components["schemas"]["custom-property-value"][]; + /** @description The old custom property values for the repository. */ + old_property_values: components["schemas"]["custom-property-value"][]; + }; + /** delete event */ + "webhook-delete": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; + ref: components["schemas"]["webhooks_ref_0"]; + /** + * @description The type of Git ref object deleted in the repository. + * @enum {string} + */ + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert auto-dismissed event */ + "webhook-dependabot-alert-auto-dismissed": { + /** @enum {string} */ + action: "auto_dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert auto-reopened event */ + "webhook-dependabot-alert-auto-reopened": { + /** @enum {string} */ + action: "auto_reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert created event */ + "webhook-dependabot-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert dismissed event */ + "webhook-dependabot-alert-dismissed": { + /** @enum {string} */ + action: "dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert fixed event */ + "webhook-dependabot-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert reintroduced event */ + "webhook-dependabot-alert-reintroduced": { + /** @enum {string} */ + action: "reintroduced"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert reopened event */ + "webhook-dependabot-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** deploy_key created event */ + "webhook-deploy-key-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + key: components["schemas"]["webhooks_deploy_key"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** deploy_key deleted event */ + "webhook-deploy-key-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + key: components["schemas"]["webhooks_deploy_key"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** deployment created event */ + "webhook-deployment-created": { + /** @enum {string} */ + action: "created"; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: Record | string; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "workflow_job" | "pull_request_review_thread" | "merge_queue_entry" | "secret_scanning_alert_location" | "merge_group")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: unknown; + head_repository?: { + 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?: unknown; + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: 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; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: unknown; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + 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?: unknown; + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: 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; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + /** deployment protection rule requested event */ + "webhook-deployment-protection-rule-requested": { + /** @enum {string} */ + action?: "requested"; + /** @description The name of the environment that has the deployment protection rule. */ + environment?: string; + /** @description The event that triggered the deployment protection rule. */ + event?: string; + /** + * Format: uri + * @description The URL to review the deployment protection rule. + */ + deployment_callback_url?: string; + deployment?: components["schemas"]["deployment"]; + pull_requests?: components["schemas"]["pull-request"][]; + repository?: components["schemas"]["repository-webhooks"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-deployment-review-approved": { + /** @enum {string} */ + action: "approved"; + approver?: components["schemas"]["webhooks_approver"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: components["schemas"]["webhooks_reviewers"]; + sender: components["schemas"]["simple-user"]; + since: string; + workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; + workflow_job_runs?: { + conclusion?: unknown; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: 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; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: 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; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + "webhook-deployment-review-rejected": { + /** @enum {string} */ + action: "rejected"; + approver?: components["schemas"]["webhooks_approver"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: components["schemas"]["webhooks_reviewers"]; + sender: components["schemas"]["simple-user"]; + since: string; + workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; + workflow_job_runs?: { + conclusion?: string | null; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: 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; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: 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; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + display_title: string; + } | null; + }; + "webhook-deployment-review-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + environment: string; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + requestor: components["schemas"]["webhooks_user"]; + reviewers: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @enum {string} */ + type?: "User" | "Team"; + }[]; + sender: components["schemas"]["simple-user"]; + since: string; + workflow_job_run: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: string | null; + status: string; + updated_at: string; + }; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: 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; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: 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; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + display_title: string; + } | null; + }; + /** deployment_status created event */ + "webhook-deployment-status-created": { + /** @enum {string} */ + action: "created"; + check_run?: { + /** Format: date-time */ + completed_at: string | null; + /** + * @description The result of the completed check run. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | null; + /** Format: uri */ + details_url: string; + external_id: string; + /** @description The SHA of the commit that is being checked. */ + head_sha: string; + /** Format: uri */ + html_url: string; + /** @description The id of the check. */ + id: number; + /** @description The name of the check run. */ + name: string; + node_id: string; + /** Format: date-time */ + started_at: string; + /** + * @description The current status of the check run. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "pending"; + /** Format: uri */ + url: string; + } | null; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: (string | Record) | null; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_queue_entry" | "workflow_job" | "pull_request_review_thread" | "secret_scanning_alert_location" | "merge_group")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + /** @description The [deployment status](https://docs.github.com/rest/deployments/statuses#list-deployment-statuses). */ + deployment_status: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + deployment_url: string; + /** @description The optional human-readable description added to the status. */ + description: string; + environment: string; + /** Format: uri */ + environment_url?: string; + id: number; + /** Format: uri */ + log_url?: string; + node_id: string; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job" | "merge_group" | "secret_scanning_alert_location")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + /** Format: uri */ + repository_url: string; + /** @description The new state. Can be `pending`, `success`, `failure`, or `error`. */ + state: string; + /** @description The optional link added to the status. */ + target_url: string; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow?: components["schemas"]["webhooks_workflow"]; + /** Deployment Workflow Run */ + workflow_run?: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "startup_failure"; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: unknown; + head_repository?: { + 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?: unknown; + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: 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; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: unknown; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + 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?: unknown; + 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; + 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; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: 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; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + /** discussion answered event */ + "webhook-discussion-answered": { + /** @enum {string} */ + action: "answered"; + answer: components["schemas"]["webhooks_answer"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion category changed event */ + "webhook-discussion-category-changed": { + /** @enum {string} */ + action: "category_changed"; + changes: { + category: { + from: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + }; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion closed event */ + "webhook-discussion-closed": { + /** @enum {string} */ + action: "closed"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment created event */ + "webhook-discussion-comment-created": { + /** @enum {string} */ + action: "created"; + comment: components["schemas"]["webhooks_comment"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment deleted event */ + "webhook-discussion-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: components["schemas"]["webhooks_comment"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment edited event */ + "webhook-discussion-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body: { + from: string; + }; + }; + comment: components["schemas"]["webhooks_comment"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion created event */ + "webhook-discussion-created": { + /** @enum {string} */ + action: "created"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion deleted event */ + "webhook-discussion-deleted": { + /** @enum {string} */ + action: "deleted"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion edited event */ + "webhook-discussion-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from: string; + }; + title?: { + from: string; + }; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion labeled event */ + "webhook-discussion-labeled": { + /** @enum {string} */ + action: "labeled"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion locked event */ + "webhook-discussion-locked": { + /** @enum {string} */ + action: "locked"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion pinned event */ + "webhook-discussion-pinned": { + /** @enum {string} */ + action: "pinned"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion reopened event */ + "webhook-discussion-reopened": { + /** @enum {string} */ + action: "reopened"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion transferred event */ + "webhook-discussion-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + new_discussion: components["schemas"]["discussion"]; + new_repository: components["schemas"]["repository-webhooks"]; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unanswered event */ + "webhook-discussion-unanswered": { + /** @enum {string} */ + action: "unanswered"; + discussion: components["schemas"]["discussion"]; + old_answer: components["schemas"]["webhooks_answer"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** discussion unlabeled event */ + "webhook-discussion-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unlocked event */ + "webhook-discussion-unlocked": { + /** @enum {string} */ + action: "unlocked"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unpinned event */ + "webhook-discussion-unpinned": { + /** @enum {string} */ + action: "unpinned"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * fork event + * @description A user forks a repository. + */ + "webhook-fork": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. */ + forkee: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } & { + allow_forking?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + deployments_url?: string; + description?: string | null; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + /** @enum {boolean} */ + fork?: true; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: string | null; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: unknown; + languages_url?: string; + license?: Record | null; + merges_url?: string; + milestones_url?: string; + mirror_url?: unknown; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: 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; + public?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: unknown[]; + trees_url?: string; + updated_at?: string; + url?: string; + visibility?: string; + watchers?: number; + watchers_count?: number; + }; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** github_app_authorization revoked event */ + "webhook-github-app-authorization-revoked": { + /** @enum {string} */ + action: "revoked"; + sender: components["schemas"]["simple-user"]; + }; + /** gollum event */ + "webhook-gollum": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The pages that were updated. */ + pages: { + /** + * @description The action that was performed on the page. Can be `created` or `edited`. + * @enum {string} + */ + action: "created" | "edited"; + /** + * Format: uri + * @description Points to the HTML wiki page. + */ + html_url: string; + /** @description The name of the page. */ + page_name: string; + /** @description The latest commit SHA of the page. */ + sha: string; + summary: string | null; + /** @description The current page title. */ + title: string; + }[]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation created event */ + "webhook-installation-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: components["schemas"]["webhooks_user"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation deleted event */ + "webhook-installation-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + /** installation new_permissions_accepted event */ + "webhook-installation-new-permissions-accepted": { + /** @enum {string} */ + action: "new_permissions_accepted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + /** installation_repositories added event */ + "webhook-installation-repositories-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories_added: components["schemas"]["webhooks_repositories_added"]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: { + full_name?: string; + /** @description Unique identifier of the repository */ + id?: number; + /** @description The name of the repository. */ + name?: string; + node_id?: string; + /** @description Whether the repository is private or public. */ + private?: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + repository_selection: components["schemas"]["webhooks_repository_selection"]; + requester: components["schemas"]["webhooks_user"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation_repositories removed event */ + "webhook-installation-repositories-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories_added: components["schemas"]["webhooks_repositories_added"]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + repository_selection: components["schemas"]["webhooks_repository_selection"]; + requester: components["schemas"]["webhooks_user"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation suspend event */ + "webhook-installation-suspend": { + /** @enum {string} */ + action: "suspend"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + "webhook-installation-target-renamed": { + account: { + archived_at?: string | null; + avatar_url: string; + created_at?: string; + description?: unknown; + events_url?: string; + followers?: number; + followers_url?: string; + following?: number; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + has_organization_projects?: boolean; + has_repository_projects?: boolean; + hooks_url?: string; + html_url: string; + id: number; + is_verified?: boolean; + issues_url?: string; + login?: string; + members_url?: string; + name?: string; + node_id: string; + organizations_url?: string; + public_gists?: number; + public_members_url?: string; + public_repos?: number; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + slug?: string; + starred_url?: string; + subscriptions_url?: string; + type?: string; + updated_at?: string; + url?: string; + website_url?: unknown; + user_view_type?: string; + }; + /** @enum {string} */ + action: "renamed"; + changes: { + login?: { + from: string; + }; + slug?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + target_type: string; + }; + /** installation unsuspend event */ + "webhook-installation-unsuspend": { + /** @enum {string} */ + action: "unsuspend"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment created event */ + "webhook-issue-comment-created": { + /** @enum {string} */ + action: "created"; + /** + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. + */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment deleted event */ + "webhook-issue-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: components["schemas"]["webhooks_issue_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment edited event */ + "webhook-issue-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: components["schemas"]["webhooks_changes"]; + comment: components["schemas"]["webhooks_issue_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues assigned event */ + "webhook-issues-assigned": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "assigned"; + assignee?: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues closed event */ + "webhook-issues-closed": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + assignee?: Record | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (Record | null)[]; + labels_url?: string; + locked?: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "closed" | "open"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues deleted event */ + "webhook-issues-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues demilestoned event */ + "webhook-issues-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + milestone?: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues edited event */ + "webhook-issues-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the issue. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + title?: { + /** @description The previous version of the title. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + label?: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues labeled event */ + "webhook-issues-labeled": { + /** @enum {string} */ + action: "labeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + label?: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues locked event */ + "webhook-issues-locked": { + /** @enum {string} */ + action: "locked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + /** @enum {boolean} */ + locked: true; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "security_and_analysis")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues milestoned event */ + "webhook-issues-milestoned": { + /** @enum {string} */ + action: "milestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues opened event */ + "webhook-issues-opened": { + /** @enum {string} */ + action: "opened"; + changes?: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + old_issue: { + /** @enum {string|null} */ + active_lock_reason?: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association?: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body?: string | null; + /** Format: date-time */ + closed_at?: string | null; + comments?: number; + /** Format: uri */ + comments_url?: string; + /** Format: date-time */ + created_at?: string; + draft?: boolean; + /** Format: uri */ + events_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url?: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone?: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id?: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url?: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title?: string; + /** Format: date-time */ + updated_at?: string; + /** + * Format: uri + * @description URL for the issue + */ + url?: string; + /** User */ + user?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + type?: components["schemas"]["issue-type"]; + } | null; + /** + * Repository + * @description A git repository + */ + old_repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** @description Whether the repository has discussions enabled. */ + has_discussions?: boolean; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require commit signoff. */ + web_commit_signoff_required?: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues pinned event */ + "webhook-issues-pinned": { + /** @enum {string} */ + action: "pinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues reopened event */ + "webhook-issues-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + type?: components["schemas"]["issue-type"]; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues transferred event */ + "webhook-issues-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + new_issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Repository + * @description A git repository + */ + new_repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues typed event */ + "webhook-issues-typed": { + /** @enum {string} */ + action: "typed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + type: components["schemas"]["issue-type"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unassigned event */ + "webhook-issues-unassigned": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "unassigned"; + assignee?: components["schemas"]["webhooks_user_mannequin"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unlabeled event */ + "webhook-issues-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + label?: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unlocked event */ + "webhook-issues-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + /** @enum {boolean} */ + locked: false; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * 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. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unpinned event */ + "webhook-issues-unpinned": { + /** @enum {string} */ + action: "unpinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues untyped event */ + "webhook-issues-untyped": { + /** @enum {string} */ + action: "untyped"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + type: components["schemas"]["issue-type"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** label created event */ + "webhook-label-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** label deleted event */ + "webhook-label-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** label edited event */ + "webhook-label-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the label if the action was `edited`. */ + changes?: { + color?: { + /** @description The previous version of the color if the action was `edited`. */ + from: string; + }; + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase cancelled event */ + "webhook-marketplace-purchase-cancelled": { + /** @enum {string} */ + action: "cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase changed event */ + "webhook-marketplace-purchase-changed": { + /** @enum {string} */ + action: "changed"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean | null; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase pending_change event */ + "webhook-marketplace-purchase-pending-change": { + /** @enum {string} */ + action: "pending_change"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase pending_change_cancelled event */ + "webhook-marketplace-purchase-pending-change-cancelled": { + /** @enum {string} */ + action: "pending_change_cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Marketplace Purchase */ + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: unknown; + next_billing_date: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase purchased event */ + "webhook-marketplace-purchase-purchased": { + /** @enum {string} */ + action: "purchased"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** member added event */ + "webhook-member-added": { + /** @enum {string} */ + action: "added"; + changes?: { + /** @description This field is included for legacy purposes; use the `role_name` field instead. The `maintain` + * role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role + * assigned to the collaborator, use the `role_name` field instead, which will provide the full + * role name, including custom roles. */ + permission?: { + /** @enum {string} */ + to: "write" | "admin" | "read"; + }; + /** @description The role assigned to the collaborator. */ + role_name?: { + to: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** member edited event */ + "webhook-member-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the collaborator permissions */ + changes: { + old_permission?: { + /** @description The previous permissions of the collaborator if the action was edited. */ + from: string; + }; + permission?: { + from?: string | null; + to?: string | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** member removed event */ + "webhook-member-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** membership added event */ + "webhook-membership-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team"; + /** User */ + sender: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + team: components["schemas"]["webhooks_team"]; + }; + /** membership removed event */ + "webhook-membership-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team" | "organization"; + /** User */ + sender: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + team: components["schemas"]["webhooks_team"]; + }; + "webhook-merge-group-checks-requested": { + /** @enum {string} */ + action: "checks_requested"; + installation?: components["schemas"]["simple-installation"]; + merge_group: components["schemas"]["merge-group"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-merge-group-destroyed": { + /** @enum {string} */ + action: "destroyed"; + /** + * @description Explains why the merge group is being destroyed. The group could have been merged, removed from the queue (dequeued), or invalidated by an earlier queue entry being dequeued (invalidated). + * @enum {string} + */ + reason?: "merged" | "invalidated" | "dequeued"; + installation?: components["schemas"]["simple-installation"]; + merge_group: components["schemas"]["merge-group"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** meta deleted event */ + "webhook-meta-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The deleted webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ + hook: { + active: boolean; + config: { + /** @enum {string} */ + content_type: "json" | "form"; + insecure_ssl: string; + secret?: string; + /** Format: uri */ + url: string; + }; + created_at: string; + events: ("*" | "branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "create" | "delete" | "deployment" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "meta" | "milestone" | "organization" | "org_block" | "package" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "pull_request_review_thread" | "push" | "registry_package" | "release" | "repository" | "repository_import" | "repository_vulnerability_alert" | "secret_scanning_alert" | "secret_scanning_alert_location" | "security_and_analysis" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_job" | "workflow_run" | "repository_dispatch" | "projects_v2_item")[]; + id: number; + name: string; + type: string; + updated_at: string; + }; + /** @description The id of the modified webhook. */ + hook_id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** milestone closed event */ + "webhook-milestone-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone created event */ + "webhook-milestone-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone_3"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone deleted event */ + "webhook-milestone-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone edited event */ + "webhook-milestone-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the milestone if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + due_on?: { + /** @description The previous version of the due date if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone opened event */ + "webhook-milestone-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone_3"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** org_block blocked event */ + "webhook-org-block-blocked": { + /** @enum {string} */ + action: "blocked"; + blocked_user: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** org_block unblocked event */ + "webhook-org-block-unblocked": { + /** @enum {string} */ + action: "unblocked"; + blocked_user: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization deleted event */ + "webhook-organization-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership?: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization member_added event */ + "webhook-organization-member-added": { + /** @enum {string} */ + action: "member_added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization member_invited event */ + "webhook-organization-member-invited": { + /** @enum {string} */ + action: "member_invited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The invitation for the user or email if the action is `member_invited`. */ + invitation: { + /** Format: date-time */ + created_at: string; + email: string | null; + /** Format: date-time */ + failed_at: string | null; + failed_reason: string | null; + id: number; + /** Format: uri */ + invitation_teams_url: string; + /** User */ + inviter: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + login: string | null; + node_id: string; + role: string; + team_count: number; + invitation_source?: string; + }; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + user?: components["schemas"]["webhooks_user"]; + }; + /** organization member_removed event */ + "webhook-organization-member-removed": { + /** @enum {string} */ + action: "member_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization renamed event */ + "webhook-organization-renamed": { + /** @enum {string} */ + action: "renamed"; + changes?: { + login?: { + from?: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership?: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Ruby Gems metadata */ + "webhook-rubygems-metadata": { + name?: string; + description?: string; + readme?: string; + homepage?: string; + version_info?: { + version?: string; + }; + platform?: string; + metadata?: { + [key: string]: string; + }; + repo?: string; + dependencies?: { + [key: string]: string; + }[]; + commit_oid?: string; + }; + /** package published event */ + "webhook-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description Information about the package. */ + package: { + created_at: string | null; + description: string | null; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + package_type: string; + package_version: { + /** User */ + author?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: Record | null; + manifest?: Record | null; + tag?: { + digest?: string; + name?: string; + }; + } | null; + created_at?: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + npm_metadata?: { + name?: string; + version?: string; + npm_user?: string; + author?: Record | null; + bugs?: Record | null; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: Record | null; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: Record | null; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: Record[]; + contributors?: Record[]; + engines?: Record; + keywords?: string[]; + files?: string[]; + bin?: Record; + man?: Record; + directories?: Record | null; + os?: string[]; + cpu?: string[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + } | null; + nuget_metadata?: { + id?: number | string; + name?: string; + value?: boolean | string | number | { + url?: string; + branch?: string; + commit?: string; + type?: string; + }; + }[] | null; + package_files: { + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string | null; + size: number; + state: string | null; + updated_at: string; + }[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + source_url?: string; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + } | null; + registry: { + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + } | null; + updated_at: string | null; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** package updated event */ + "webhook-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description Information about the package. */ + package: { + created_at: string; + description: string | null; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + package_type: string; + package_version: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + package_files: { + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string; + size: number; + state: string; + updated_at: string; + }[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + /** Format: uri */ + source_url?: string; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: { + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + } | null; + updated_at: string; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** page_build event */ + "webhook-page-build": { + /** @description The [List GitHub Pages builds](https://docs.github.com/rest/pages/pages#list-github-pages-builds) itself. */ + build: { + commit: string | null; + created_at: string; + duration: number; + error: { + message: string | null; + }; + /** User */ + pusher: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + status: string; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** personal_access_token_request approved event */ + "webhook-personal-access-token-request-approved": { + /** @enum {string} */ + action: "approved"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request cancelled event */ + "webhook-personal-access-token-request-cancelled": { + /** @enum {string} */ + action: "cancelled"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request created event */ + "webhook-personal-access-token-request-created": { + /** @enum {string} */ + action: "created"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation?: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request denied event */ + "webhook-personal-access-token-request-denied": { + /** @enum {string} */ + action: "denied"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + organization: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation: components["schemas"]["simple-installation"]; + }; + "webhook-ping": { + /** + * Webhook + * @description The webhook that is being pinged + */ + hook?: { + /** @description Determines whether the hook is actually triggered for the events it subscribes to. */ + active: boolean; + /** @description Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app. */ + app_id?: number; + config: { + content_type?: components["schemas"]["webhook-config-content-type"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + secret?: components["schemas"]["webhook-config-secret"]; + url?: components["schemas"]["webhook-config-url"]; + }; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + deliveries_url?: string; + /** @description Determines what events the hook is triggered for. Default: ['push']. */ + events: string[]; + /** @description Unique identifier of the webhook. */ + id: number; + last_response?: components["schemas"]["hook-response"]; + /** + * @description The type of webhook. The only valid value is 'web'. + * @enum {string} + */ + name: "web"; + /** Format: uri */ + ping_url?: string; + /** Format: uri */ + test_url?: string; + type: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url?: string; + }; + /** @description The ID of the webhook that triggered the ping. */ + hook_id?: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + /** @description Random string of GitHub zen. */ + zen?: string; + }; + /** @description The webhooks ping payload encoded with URL encoding. */ + "webhook-ping-form-encoded": { + /** @description A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** project_card converted event */ + "webhook-project-card-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + note: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: components["schemas"]["webhooks_project_card"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card created event */ + "webhook-project-card-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: components["schemas"]["webhooks_project_card"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card deleted event */ + "webhook-project-card-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Card */ + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number | null; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card edited event */ + "webhook-project-card-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + note: { + from: string | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: components["schemas"]["webhooks_project_card"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card moved event */ + "webhook-project-card-moved": { + /** @enum {string} */ + action: "moved"; + changes?: { + column_id: { + from: number; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } & { + after_id: number | null; + archived?: boolean; + column_id?: number; + column_url?: string; + created_at?: string; + creator?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + } | null; + id?: number; + node_id?: string; + note?: string | null; + project_url?: string; + updated_at?: string; + url?: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project closed event */ + "webhook-project-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_column created event */ + "webhook-project-column-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column deleted event */ + "webhook-project-column-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column edited event */ + "webhook-project-column-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + name?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column moved event */ + "webhook-project-column-moved": { + /** @enum {string} */ + action: "moved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project created event */ + "webhook-project-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project deleted event */ + "webhook-project-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project edited event */ + "webhook-project-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the project if the action was `edited`. */ + changes?: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The changes to the project if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project reopened event */ + "webhook-project-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Closed Event */ + "webhook-projects-v2-project-closed": { + /** @enum {string} */ + action: "closed"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** @description A project was created */ + "webhook-projects-v2-project-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Deleted Event */ + "webhook-projects-v2-project-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Edited Event */ + "webhook-projects-v2-project-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + description?: { + from?: string | null; + to?: string | null; + }; + public?: { + from?: boolean; + to?: boolean; + }; + short_description?: { + from?: string | null; + to?: string | null; + }; + title?: { + from?: string; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Archived Event */ + "webhook-projects-v2-item-archived": { + /** @enum {string} */ + action: "archived"; + changes: components["schemas"]["webhooks_project_changes"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Converted Event */ + "webhook-projects-v2-item-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + content_type?: { + from?: string | null; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Created Event */ + "webhook-projects-v2-item-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Deleted Event */ + "webhook-projects-v2-item-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Edited Event */ + "webhook-projects-v2-item-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes made to the item may involve modifications in the item's fields and draft issue body. + * It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. */ + changes?: { + field_value: { + field_node_id?: string; + field_type?: string; + field_name?: string; + project_number?: number; + from?: (string | number | components["schemas"]["projects-v2-single-select-option"] | components["schemas"]["projects-v2-iteration-setting"]) | null; + to?: (string | number | components["schemas"]["projects-v2-single-select-option"] | components["schemas"]["projects-v2-iteration-setting"]) | null; + }; + } | { + body: { + from?: string | null; + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Reordered Event */ + "webhook-projects-v2-item-reordered": { + /** @enum {string} */ + action: "reordered"; + changes: { + previous_projects_v2_item_node_id?: { + from?: string | null; + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Restored Event */ + "webhook-projects-v2-item-restored": { + /** @enum {string} */ + action: "restored"; + changes: components["schemas"]["webhooks_project_changes"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Reopened Event */ + "webhook-projects-v2-project-reopened": { + /** @enum {string} */ + action: "reopened"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Status Update Created Event */ + "webhook-projects-v2-status-update-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Status Update Deleted Event */ + "webhook-projects-v2-status-update-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Status Update Edited Event */ + "webhook-projects-v2-status-update-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from?: string | null; + to?: string | null; + }; + status?: { + /** @enum {string|null} */ + from?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; + /** @enum {string|null} */ + to?: "INACTIVE" | "ON_TRACK" | "AT_RISK" | "OFF_TRACK" | "COMPLETE" | null; + }; + start_date?: { + /** Format: date */ + from?: string | null; + /** Format: date */ + to?: string | null; + }; + target_date?: { + /** Format: date */ + from?: string | null; + /** Format: date */ + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user"]; + }; + /** public event */ + "webhook-public": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request assigned event */ + "webhook-pull-request-assigned": { + /** @enum {string} */ + action: "assigned"; + assignee: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request auto_merge_disabled event */ + "webhook-pull-request-auto-merge-disabled": { + /** @enum {string} */ + action: "auto_merge_disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + reason: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request auto_merge_enabled event */ + "webhook-pull-request-auto-merge-enabled": { + /** @enum {string} */ + action: "auto_merge_enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + reason?: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request closed event */ + "webhook-pull-request-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request converted_to_draft event */ + "webhook-pull-request-converted-to-draft": { + /** @enum {string} */ + action: "converted_to_draft"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request demilestoned event */ + "webhook-pull-request-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + milestone?: components["schemas"]["milestone"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["webhooks_pull_request_5"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request dequeued event */ + "webhook-pull-request-dequeued": { + /** @enum {string} */ + action: "dequeued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** @enum {string} */ + reason: "UNKNOWN_REMOVAL_REASON" | "MANUAL" | "MERGE" | "MERGE_CONFLICT" | "CI_FAILURE" | "CI_TIMEOUT" | "ALREADY_MERGED" | "QUEUE_CLEARED" | "ROLL_BACK" | "BRANCH_PROTECTIONS" | "GIT_TREE_INVALID" | "INVALID_MERGE_COMMIT"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request edited event */ + "webhook-pull-request-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the comment if the action was `edited`. */ + changes: { + base?: { + ref: { + from: string; + }; + sha: { + from: string; + }; + }; + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request enqueued event */ + "webhook-pull-request-enqueued": { + /** @enum {string} */ + action: "enqueued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request labeled event */ + "webhook-pull-request-labeled": { + /** @enum {string} */ + action: "labeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label?: components["schemas"]["webhooks_label"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request locked event */ + "webhook-pull-request-locked": { + /** @enum {string} */ + action: "locked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request milestoned event */ + "webhook-pull-request-milestoned": { + /** @enum {string} */ + action: "milestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + milestone?: components["schemas"]["milestone"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["webhooks_pull_request_5"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request opened event */ + "webhook-pull-request-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request ready_for_review event */ + "webhook-pull-request-ready-for-review": { + /** @enum {string} */ + action: "ready_for_review"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request reopened event */ + "webhook-pull-request-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment created event */ + "webhook-pull-request-review-comment-created": { + /** @enum {string} */ + action: "created"; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number | null; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + 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 level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment deleted event */ + "webhook-pull-request-review-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: components["schemas"]["webhooks_review_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment edited event */ + "webhook-pull-request-review-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: components["schemas"]["webhooks_changes"]; + comment: components["schemas"]["webhooks_review_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + user_view_type?: string; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review dismissed event */ + "webhook-pull-request-review-dismissed": { + /** @enum {string} */ + action: "dismissed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + /** @enum {string} */ + state: "dismissed" | "approved" | "changes_requested"; + /** Format: date-time */ + submitted_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review edited event */ + "webhook-pull-request-review-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + review: components["schemas"]["webhooks_review"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request review_request_removed event */ + "webhook-pull-request-review-request-removed": { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title. + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requested_reviewer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + sender: components["schemas"]["simple-user"]; + } | { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request review_requested event */ + "webhook-pull-request-review-requested": { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requested_reviewer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + sender: components["schemas"]["simple-user"]; + } | { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review submitted event */ + "webhook-pull-request-review-submitted": { + /** @enum {string} */ + action: "submitted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + review: components["schemas"]["webhooks_review"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_thread resolved event */ + "webhook-pull-request-review-thread-resolved": { + /** @enum {string} */ + action: "resolved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + thread: { + comments: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number | null; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + 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 level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }[]; + node_id: string; + }; + }; + /** pull_request_review_thread unresolved event */ + "webhook-pull-request-review-thread-unresolved": { + /** @enum {string} */ + action: "unresolved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + thread: { + comments: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + 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 level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }[]; + node_id: string; + }; + }; + /** pull_request synchronize event */ + "webhook-pull-request-synchronize": { + /** @enum {string} */ + action: "synchronize"; + after: string; + before: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request unassigned event */ + "webhook-pull-request-unassigned": { + /** @enum {string} */ + action: "unassigned"; + assignee?: components["schemas"]["webhooks_user_mannequin"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request unlabeled event */ + "webhook-pull-request-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label?: components["schemas"]["webhooks_label"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request unlocked event */ + "webhook-pull-request-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** push event */ + "webhook-push": { + /** @description The SHA of the most recent commit on `ref` after the push. */ + after: string; + base_ref: components["schemas"]["webhooks_nullable_string"]; + /** @description The SHA of the most recent commit on `ref` before the push. */ + before: string; + /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 2048 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. */ + commits: { + /** @description An array of files added in the commit. A maximum of 3000 changed files will be reported per commit. */ + added?: string[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. A maximum of 3000 changed files will be reported per commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. A maximum of 3000 changed files will be reported per commit. */ + removed?: string[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + }[]; + /** @description URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit. */ + compare: string; + /** @description Whether this push created the `ref`. */ + created: boolean; + /** @description Whether this push deleted the `ref`. */ + deleted: boolean; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description Whether this push was a force push of the `ref`. */ + forced: boolean; + /** Commit */ + head_commit: { + /** @description An array of files added in the commit. */ + added?: string[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. */ + removed?: string[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + } | null; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + pusher: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email?: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`. */ + ref: string; + /** + * Repository + * @description A git repository + */ + repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-registry-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + registry_package: { + created_at: string | null; + description: string | null; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + package_type: string; + package_version: { + author?: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: Record | null; + manifest?: Record | null; + tag?: { + digest?: string; + name?: string; + }; + }; + created_at?: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + npm_metadata?: { + name?: string; + version?: string; + npm_user?: string; + author?: (string | Record) | null; + bugs?: (string | Record) | null; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: (string | Record) | null; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: (string | Record) | null; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: string[]; + contributors?: string[]; + engines?: Record; + keywords?: string[]; + files?: string[]; + bin?: Record; + man?: Record; + directories?: (string | Record) | null; + os?: string[]; + cpu?: string[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + } | null; + nuget_metadata?: { + id?: (string | Record | number) | null; + name?: string; + value?: boolean | string | number | { + url?: string; + branch?: string; + commit?: string; + type?: string; + }; + }[] | null; + package_files: { + content_type: string; + created_at: string; + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string | null; + size: number; + state: string | null; + updated_at: string; + }[]; + package_url: string; + prerelease?: boolean; + release?: { + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: string | null; + prerelease?: boolean; + published_at?: string; + tag_name?: string; + target_commitish?: string; + url?: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + } | null; + registry: { + about_url?: string; + name?: string; + type?: string; + url?: string; + vendor?: string; + } | null; + updated_at: string | null; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + "webhook-registry-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + registry_package: { + created_at: string; + description: unknown; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + package_type: string; + package_version: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: ({ + tags?: string[]; + } | null)[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + package_files: { + content_type?: string; + created_at?: string; + download_url?: string; + id?: number; + md5?: string | null; + name?: string; + sha1?: string | null; + sha256?: string; + size?: number; + state?: string; + updated_at?: string; + }[]; + package_url: string; + prerelease?: boolean; + release?: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: Record | null; + updated_at: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** release created event */ + "webhook-release-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** release deleted event */ + "webhook-release-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** release edited event */ + "webhook-release-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + tag_name?: { + /** @description The previous version of the tag_name if the action was `edited`. */ + from: string; + }; + make_latest?: { + /** @description Whether this release was explicitly `edited` to be the latest. */ + to: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release prereleased event */ + "webhook-release-prereleased": { + /** @enum {string} */ + action: "prereleased"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + release: { + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + digest: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + } | null)[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + /** @description Whether or not the release is immutable. */ + immutable: boolean; + name: string | null; + node_id: string; + /** + * @description Whether the release is identified as a prerelease or a full release. + * @enum {boolean} + */ + prerelease: true; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release published event */ + "webhook-release-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release_1"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release released event */ + "webhook-release-released": { + /** @enum {string} */ + action: "released"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release unpublished event */ + "webhook-release-unpublished": { + /** @enum {string} */ + action: "unpublished"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release_1"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Repository advisory published event */ + "webhook-repository-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + repository_advisory: components["schemas"]["repository-advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Repository advisory reported event */ + "webhook-repository-advisory-reported": { + /** @enum {string} */ + action: "reported"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + repository_advisory: components["schemas"]["repository-advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** repository archived event */ + "webhook-repository-archived": { + /** @enum {string} */ + action: "archived"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository created event */ + "webhook-repository-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository deleted event */ + "webhook-repository-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_dispatch event */ + "webhook-repository-dispatch-sample": { + /** @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + action: string; + branch: string; + /** @description The `client_payload` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + client_payload: { + [key: string]: unknown; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository edited event */ + "webhook-repository-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + default_branch?: { + from: string; + }; + description?: { + from: string | null; + }; + homepage?: { + from: string | null; + }; + topics?: { + from?: string[] | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_import event */ + "webhook-repository-import": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @enum {string} */ + status: "success" | "cancelled" | "failure"; + }; + /** repository privatized event */ + "webhook-repository-privatized": { + /** @enum {string} */ + action: "privatized"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository publicized event */ + "webhook-repository-publicized": { + /** @enum {string} */ + action: "publicized"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository renamed event */ + "webhook-repository-renamed": { + /** @enum {string} */ + action: "renamed"; + changes: { + repository: { + name: { + from: string; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository ruleset created event */ + "webhook-repository-ruleset-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository ruleset deleted event */ + "webhook-repository-ruleset-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository ruleset edited event */ + "webhook-repository-ruleset-edited": { + /** @enum {string} */ + action: "edited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + changes?: { + name?: { + from?: string; + }; + enforcement?: { + from?: string; + }; + conditions?: { + added?: components["schemas"]["repository-ruleset-conditions"][]; + deleted?: components["schemas"]["repository-ruleset-conditions"][]; + updated?: { + condition?: components["schemas"]["repository-ruleset-conditions"]; + changes?: { + condition_type?: { + from?: string; + }; + target?: { + from?: string; + }; + include?: { + from?: string[]; + }; + exclude?: { + from?: string[]; + }; + }; + }[]; + }; + rules?: { + added?: components["schemas"]["repository-rule"][]; + deleted?: components["schemas"]["repository-rule"][]; + updated?: { + rule?: components["schemas"]["repository-rule"]; + changes?: { + configuration?: { + from?: string; + }; + rule_type?: { + from?: string; + }; + pattern?: { + from?: string; + }; + }; + }[]; + }; + }; + sender: components["schemas"]["simple-user"]; + }; + /** repository transferred event */ + "webhook-repository-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + owner: { + from: { + /** Organization */ + organization?: { + /** Format: uri */ + avatar_url: string; + description: string | null; + /** Format: uri */ + events_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url?: string; + id: number; + /** Format: uri */ + issues_url: string; + login: string; + /** Format: uri-template */ + members_url: string; + node_id: string; + /** Format: uri-template */ + public_members_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + url: string; + }; + /** User */ + user?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository unarchived event */ + "webhook-repository-unarchived": { + /** @enum {string} */ + action: "unarchived"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert create event */ + "webhook-repository-vulnerability-alert-create": { + /** @enum {string} */ + action: "create"; + alert: components["schemas"]["webhooks_alert"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert dismiss event */ + "webhook-repository-vulnerability-alert-dismiss": { + /** @enum {string} */ + action: "dismiss"; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_comment?: string | null; + dismiss_reason: string; + dismissed_at: string; + /** User */ + dismisser: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "dismissed"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert reopen event */ + "webhook-repository-vulnerability-alert-reopen": { + /** @enum {string} */ + action: "reopen"; + alert: components["schemas"]["webhooks_alert"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert resolve event */ + "webhook-repository-vulnerability-alert-resolve": { + /** @enum {string} */ + action: "resolve"; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "fixed" | "open"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert created event */ + "webhook-secret-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created": { + /** @enum {string} */ + action?: "created"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + installation?: components["schemas"]["simple-installation"]; + location: components["schemas"]["secret-scanning-location"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created-form-encoded": { + /** @description A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** secret_scanning_alert publicly leaked event */ + "webhook-secret-scanning-alert-publicly-leaked": { + /** @enum {string} */ + action: "publicly_leaked"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert reopened event */ + "webhook-secret-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert resolved event */ + "webhook-secret-scanning-alert-resolved": { + /** @enum {string} */ + action: "resolved"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert validated event */ + "webhook-secret-scanning-alert-validated": { + /** @enum {string} */ + action: "validated"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_scan completed event */ + "webhook-secret-scanning-scan-completed": { + /** @enum {string} */ + action: "completed"; + /** + * @description What type of scan was completed + * @enum {string} + */ + type: "backfill" | "custom-pattern-backfill" | "pattern-version-backfill"; + /** + * @description What type of content was scanned + * @enum {string} + */ + source: "git" | "issues" | "pull-requests" | "discussions" | "wiki"; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at: string; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at: string; + /** @description List of patterns that were updated. This will be empty for normal backfill scans or custom pattern updates */ + secret_types?: string[] | null; + /** @description If the scan was triggered by a custom pattern update, this will be the name of the pattern that was updated */ + custom_pattern_name?: string | null; + /** + * @description If the scan was triggered by a custom pattern update, this will be the scope of the pattern that was updated + * @enum {string|null} + */ + custom_pattern_scope?: "repository" | "organization" | "enterprise" | null; + repository?: components["schemas"]["repository-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory published event */ + "webhook-security-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + security_advisory: components["schemas"]["webhooks_security_advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory updated event */ + "webhook-security-advisory-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + security_advisory: components["schemas"]["webhooks_security_advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory withdrawn event */ + "webhook-security-advisory-withdrawn": { + /** @enum {string} */ + action: "withdrawn"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cvss_severities?: components["schemas"]["cvss-severities"]; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string; + }; + sender?: components["schemas"]["simple-user"]; + }; + /** security_and_analysis event */ + "webhook-security-and-analysis": { + changes: { + from?: { + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["full-repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sponsorship cancelled event */ + "webhook-sponsorship-cancelled": { + /** @enum {string} */ + action: "cancelled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship created event */ + "webhook-sponsorship-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship edited event */ + "webhook-sponsorship-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + privacy_level?: { + /** @description The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship pending_cancellation event */ + "webhook-sponsorship-pending-cancellation": { + /** @enum {string} */ + action: "pending_cancellation"; + effective_date?: components["schemas"]["webhooks_effective_date"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship pending_tier_change event */ + "webhook-sponsorship-pending-tier-change": { + /** @enum {string} */ + action: "pending_tier_change"; + changes: components["schemas"]["webhooks_changes_8"]; + effective_date?: components["schemas"]["webhooks_effective_date"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship tier_changed event */ + "webhook-sponsorship-tier-changed": { + /** @enum {string} */ + action: "tier_changed"; + changes: components["schemas"]["webhooks_changes_8"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** star created event */ + "webhook-star-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: string | null; + }; + /** star deleted event */ + "webhook-star-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: unknown; + }; + /** status event */ + "webhook-status": { + /** Format: uri */ + avatar_url?: string | null; + /** @description An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches. */ + branches: { + commit: { + sha: string | null; + /** Format: uri */ + url: string | null; + }; + name: string; + protected: boolean; + }[]; + commit: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id?: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + comments_url: string; + commit: { + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + comment_count: number; + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification: { + payload: string | null; + /** @enum {string} */ + reason: "expired_key" | "not_signing_key" | "gpgverify_error" | "gpgverify_unavailable" | "unsigned" | "unknown_signature_type" | "no_user" | "unverified_email" | "bad_email" | "unknown_key" | "malformed_signature" | "invalid" | "valid" | "bad_cert" | "ocsp_pending"; + signature: string | null; + verified: boolean; + verified_at: string | null; + }; + }; + /** User */ + committer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id?: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + node_id: string; + parents: { + /** Format: uri */ + html_url: string; + sha: string; + /** Format: uri */ + url: string; + }[]; + sha: string; + /** Format: uri */ + url: string; + }; + context: string; + created_at: string; + /** @description The optional human-readable description added to the status. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The unique identifier of the status. */ + id: number; + installation?: components["schemas"]["simple-installation"]; + name: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @description The Commit SHA. */ + sha: string; + /** + * @description The new state. Can be `pending`, `success`, `failure`, or `error`. + * @enum {string} + */ + state: "pending" | "success" | "failure" | "error"; + /** @description The optional link added to the status. */ + target_url: string | null; + updated_at: string; + }; + /** parent issue added event */ + "webhook-sub-issues-parent-issue-added": { + /** @enum {string} */ + action: "parent_issue_added"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** parent issue removed event */ + "webhook-sub-issues-parent-issue-removed": { + /** @enum {string} */ + action: "parent_issue_removed"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sub-issue added event */ + "webhook-sub-issues-sub-issue-added": { + /** @enum {string} */ + action: "sub_issue_added"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sub-issue removed event */ + "webhook-sub-issues-sub-issue-removed": { + /** @enum {string} */ + action: "sub_issue_removed"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** team_add event */ + "webhook-team-add": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team added_to_repository event */ + "webhook-team-added-to-repository": { + /** @enum {string} */ + action: "added_to_repository"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team created event */ + "webhook-team-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team deleted event */ + "webhook-team-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team edited event */ + "webhook-team-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the team if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + privacy?: { + /** @description The previous version of the team's privacy if the action was `edited`. */ + from: string; + }; + notification_setting?: { + /** @description The previous version of the team's notification setting if the action was `edited`. */ + from: string; + }; + repository?: { + permissions: { + from: { + /** @description The previous version of the team member's `admin` permission on a repository, if the action was `edited`. */ + admin?: boolean; + /** @description The previous version of the team member's `pull` permission on a repository, if the action was `edited`. */ + pull?: boolean; + /** @description The previous version of the team member's `push` permission on a repository, if the action was `edited`. */ + push?: boolean; + }; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team removed_from_repository event */ + "webhook-team-removed-from-repository": { + /** @enum {string} */ + action: "removed_from_repository"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** watch started event */ + "webhook-watch-started": { + /** @enum {string} */ + action: "started"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** workflow_dispatch event */ + "webhook-workflow-dispatch": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + inputs: { + [key: string]: unknown; + } | null; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: string; + }; + /** workflow_job completed event */ + "webhook-workflow-job-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "success" | "failure" | null | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: number | null; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: string | null; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: number | null; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: string | null; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, `waiting`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + }[]; + /** Format: uri */ + url: string; + } & { + check_run_url?: string; + completed_at?: string; + /** @enum {string} */ + conclusion: "success" | "failure" | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; + /** @description The time that the job created. */ + created_at?: string; + head_sha?: string; + html_url?: string; + id?: number; + labels?: (string | null)[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: number | null; + runner_group_name?: string | null; + runner_id?: number | null; + runner_name?: string | null; + started_at?: string; + status?: string; + /** @description The name of the current branch. */ + head_branch?: string | null; + /** @description The name of the workflow. */ + workflow_name?: string | null; + steps?: (Record | null)[]; + url?: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job in_progress event */ + "webhook-workflow-job-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "success" | "failure" | null | "cancelled" | "neutral"; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: number | null; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: string | null; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: number | null; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: string | null; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | null | "cancelled"; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued" | "pending"; + }[]; + /** Format: uri */ + url: string; + } & { + check_run_url?: string; + completed_at?: string | null; + conclusion?: string | null; + /** @description The time that the job created. */ + created_at?: string; + head_sha?: string; + html_url?: string; + id?: number; + labels?: string[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: number | null; + runner_group_name?: string | null; + runner_id?: number | null; + runner_name?: string | null; + started_at?: string; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + /** @description The name of the current branch. */ + head_branch?: string | null; + /** @description The name of the workflow. */ + workflow_name?: string | null; + steps: { + completed_at: string | null; + conclusion: string | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "pending" | "queued"; + }[]; + url?: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job queued event */ + "webhook-workflow-job-queued": { + /** @enum {string} */ + action: "queued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + conclusion: string | null; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: number | null; + runner_group_name: string | null; + runner_id: number | null; + runner_name: string | null; + /** Format: date-time */ + started_at: string; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "completed" | "in_progress" | "queued" | "pending"; + }[]; + /** Format: uri */ + url: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job waiting event */ + "webhook-workflow-job-waiting": { + /** @enum {string} */ + action: "waiting"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + conclusion: string | null; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: number | null; + runner_group_name: string | null; + runner_id: number | null; + runner_name: string | null; + /** Format: date-time */ + started_at: string; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "completed" | "in_progress" | "queued" | "pending" | "waiting"; + }[]; + /** Format: uri */ + url: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_run completed event */ + "webhook-workflow-run-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "startup_failure" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + 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; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + } | null)[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + 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; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + /** + * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. + * @example Simple Workflow + */ + display_title?: string; + }; + }; + /** workflow_run in_progress event */ + "webhook-workflow-run-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + 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; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string | null; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + } | null)[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + 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; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + }; + }; + /** workflow_run requested event */ + "webhook-workflow-run-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + 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; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + 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; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + display_title: string; + }; + }; + }; + responses: { + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed_simple: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; + }; + /** @description Resource not found */ + not_found: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Bad Request */ + bad_request: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + /** @description Accepted */ + accepted: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description Not modified */ + not_modified: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + requires_authentication: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Forbidden */ + forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Internal Error */ + internal_error: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Conflict */ + conflict: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description A header with no content is returned. */ + no_content: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Service unavailable */ + service_unavailable: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Forbidden Gist */ + forbidden_gist: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + block?: { + reason?: string; + created_at?: string; + html_url?: string | null; + }; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Moved permanently */ + moved_permanently: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Billing usage report response for an organization */ + billing_usage_report_org: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing-usage-report"]; + }; + }; + /** @description Response */ + actions_runner_jitconfig: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + runner: components["schemas"]["runner"]; + /** @description The base64 encoded runner configuration. */ + encoded_jit_config: string; + }; + }; + }; + /** @description Response */ + actions_runner_labels: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** @description Response */ + actions_runner_labels_readonly: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** @description Copilot Usage Merics API setting is disabled at the organization or enterprise level. */ + usage_metrics_api_disabled: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description The value of `per_page` multiplied by `page` cannot be greater than 10000. */ + package_es_list_error: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Gone */ + gone: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Temporary Redirect */ + temporary_redirect: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_read: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_write: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Bad Request */ + code_scanning_bad_request: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if the repository is archived, if GitHub Advanced Security is not enabled for this repository or if rate limit is exceeded */ + code_scanning_autofix_create_forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if analysis could not be processed */ + unprocessable_analysis: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Found */ + found: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if there is already a validation run in progress with a different default setup configuration */ + code_scanning_conflict: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if the configuration change cannot be made because the repository is not in the required state */ + code_scanning_invalid_state: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response for a private repository when GitHub Advanced Security is not enabled, or if used against a fork */ + dependency_review_forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Unavailable due to service under maintenance. */ + porter_maintenance: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Unacceptable */ + unacceptable: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response when getting a billing usage report */ + billing_usage_report_user: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing-usage-report-user"]; + }; + }; + }; + parameters: { + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "pagination-before": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "pagination-after": string; + /** @description The direction to sort the results by. */ + direction: "asc" | "desc"; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "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 The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page: number; + /** @description Only show results that were last 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 client ID of the GitHub app. */ + "client-id": string; + "app-slug": string; + /** @description The unique identifier of the classroom assignment. */ + "assignment-id": number; + /** @description The unique identifier of the classroom. */ + "classroom-id": number; + /** @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 code security configuration. */ + "configuration-id": number; + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + "dependabot-alert-comma-separated-states": string; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + "dependabot-alert-comma-separated-severities": string; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + "dependabot-alert-comma-separated-ecosystems": string; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + "dependabot-alert-comma-separated-packages": string; + /** @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: + * - An exact number (`n`) + * - Comparators such as `>n`, `=n`, `<=n` + * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 + * + * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. */ + "dependabot-alert-comma-separated-epss": string; + /** @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. + * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. */ + "dependabot-alert-comma-separated-has": string | "patch"[]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + "dependabot-alert-scope": "development" | "runtime"; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. */ + "dependabot-alert-sort": "created" | "updated" | "epss_percentage"; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + "pagination-first": number; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + "pagination-last": number; + /** @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. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" 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 A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + "secret-scanning-alert-validity": string; + /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ + "secret-scanning-alert-publicly-leaked": boolean; + /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ + "secret-scanning-alert-multi-repo": boolean; + /** @description A boolean value representing whether or not to hide literal secrets in the results. */ + "secret-scanning-alert-hide-secret": boolean; + /** @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. */ + sort: "created" | "updated"; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository without the `.git` extension. 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 notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + "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 If specified, only return results for a single year. The value of `year` is an integer with four digits representing a year. For example, `2025`. Default value is the current year. */ + "billing-usage-report-year": number; + /** @description If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the default `year` is used. */ + "billing-usage-report-month": number; + /** @description If specified, only return results for a single day. The value of `day` is an integer between `1` and `31`. If no `year` or `month` is specified, the default `year` and `month` are used. */ + "billing-usage-report-day": number; + /** @description If specified, only return results for a single hour. The value of `hour` is an integer between `0` and `23`. If no `year`, `month`, or `day` is specified, the default `year`, `month`, and `day` are used. */ + "billing-usage-report-hour": number; + /** @description Unique identifier of the GitHub-hosted runner. */ + "hosted-runner-id": number; + /** @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 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 The name of the secret. */ + "secret-name": string; + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "variables-per-page": number; + /** @description The name of the variable. */ + "variable-name": string; + /** @description The handle for the GitHub user account. */ + username: string; + /** @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 The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + "hook-id": number; + /** @description The type of the actor */ + "api-insights-actor-type": "installation" | "classic_pat" | "fine_grained_pat" | "oauth_app" | "github_app_user_to_server"; + /** @description The ID of the actor */ + "api-insights-actor-id": number; + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "api-insights-min-timestamp": string; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "api-insights-max-timestamp": string; + /** @description The property to sort the results by. */ + "api-insights-route-stats-sort": ("last_rate_limited_timestamp" | "last_request_timestamp" | "rate_limited_request_count" | "http_method" | "api_route" | "total_request_count")[]; + /** @description Providing a substring will filter results where the API route contains the substring. This is a case-insensitive search. */ + "api-insights-api-route-substring": string; + /** @description The property to sort the results by. */ + "api-insights-sort": ("last_rate_limited_timestamp" | "last_request_timestamp" | "rate_limited_request_count" | "subject_name" | "total_request_count")[]; + /** @description Providing a substring will filter results where the subject name contains the substring. This is a case-insensitive search. */ + "api-insights-subject-name-substring": string; + /** @description The ID of the user to query for stats */ + "api-insights-user-id": string; + /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ + "api-insights-timestamp-increment": string; + /** @description Providing a substring will filter results where the actor name contains the substring. This is a case-insensitive search. */ + "api-insights-actor-name-substring": string; + /** @description The unique identifier of the invitation. */ + "invitation-id": number; + /** @description The unique identifier of the issue type. */ + "issue-type-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 slug of the team name. */ + "team-slug": string; + /** @description The unique identifier of the role. */ + "role-id": number; + /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + "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 The property by which to sort the results. */ + "personal-access-token-sort": "created_at"; + /** @description A list of owner usernames to use to filter the results. */ + "personal-access-token-owner": string[]; + /** @description The name of the repository to use to filter the results. */ + "personal-access-token-repository": string; + /** @description The permission to use to filter the results. */ + "personal-access-token-permission": string; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-before": string; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-after": string; + /** @description The ID of the token */ + "personal-access-token-token-id": string[]; + /** @description The unique identifier of the fine-grained personal access token. */ + "fine-grained-personal-access-token-id": number; + /** @description The custom property name */ + "custom-property-name": string; + /** @description A comma-separated list of rule targets to filter by. + * If provided, only rulesets that apply to the specified targets will be returned. + * For example, `branch,tag,push`. + * */ + "ruleset-targets": string; + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ + "ref-in-query": string; + /** @description The name of the repository to filter on. */ + "repository-name-in-query": string; + /** @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for rule suites that occurred in the past 7 days (168 hours). */ + "time-period": "hour" | "day" | "week" | "month"; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + "actor-name-in-query": string; + /** @description The rule suite results to filter on. When specified, only suites with this result will be returned. */ + "rule-suite-result": "pass" | "fail" | "bypass" | "all"; + /** @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. */ + "rule-suite-id": number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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/guides/using-pagination-in-the-rest-api#using-link-headers). 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 Unique identifier of the hosted compute network configuration. */ + "network-configuration-id": string; + /** @description Unique identifier of the hosted compute network settings. */ + "network-settings-id": 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 security feature to enable or disable. */ + "security-product": "dependency_graph" | "dependabot_alerts" | "dependabot_security_updates" | "advanced_security" | "code_scanning_default_setup" | "secret_scanning" | "secret_scanning_push_protection"; + /** @description The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. */ + "org-security-product-enablement": "enable_all" | "disable_all"; + /** @description The unique identifier of the card. */ + "card-id": number; + /** @description The unique identifier of the column. */ + "column-id": number; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + "artifact-name": string; + /** @description The unique identifier of the artifact. */ + "artifact-id": number; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + "actions-cache-git-ref-full": string; + /** @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/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 Actions can set a status of `waiting`, `pending`, or `requested`. */ + "workflow-run-status": "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting" | "pending"; + /** @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 Only returns workflow runs that are associated with the specified `head_sha`. */ + "workflow-run-head-sha": string; + /** @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. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + 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 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 The number of the pull request for the results you want to list. */ + "pr-alias": number; + /** @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 commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + "commit-ref": string; + /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + "dependabot-alert-comma-separated-manifests": string; + /** @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + "dependabot-alert-number": components["schemas"]["alert-number"]; + /** @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. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + "environment-name": string; + /** @description The unique identifier of the branch policy. */ + "branch-policy-id": number; + /** @description The unique identifier of the protection rule. */ + "protection-rule-id": number; + /** + * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + "git-ref-only": 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 ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + "pages-deployment-id": number | string; + /** @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 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 Set to `true` to use advanced search. + * Example: `http://api.github.com/search/issues?q={query}&advanced_search=true` */ + "issues-advanced-search": string; + /** @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; + /** @description Only show repositories 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-repo-date": string; + /** @description Only show repositories 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-repo-date": string; + /** @description The unique identifier of the SSH signing key. */ + "ssh-signing-key-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-starred": "created" | "updated"; + }; + requestBodies: never; + headers: { + /** @example ; rel="next", ; rel="last" */ + link: string; + /** @example text/html */ + "content-type": string; + /** @example 0.17.4 */ + "x-common-marker-version": string; + /** @example 5000 */ + "x-rate-limit-limit": number; + /** @example 4999 */ + "x-rate-limit-remaining": number; + /** @example 1590701888 */ + "x-rate-limit-reset": number; + /** @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 */ + location: string; + }; + pathItems: never; +} +export type $defs = Record; +export interface operations { + "meta/root": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["root"]; + }; + }; + }; + }; + "security-advisories/list-global-advisories": { + parameters: { + query?: { + /** @description If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned. */ + ghsa_id?: string; + /** @description If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. */ + type?: "reviewed" | "malware" | "unreviewed"; + /** @description If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned. */ + cve_id?: string; + /** @description If specified, only advisories for these ecosystems will be returned. */ + ecosystem?: components["schemas"]["security-advisory-ecosystems"]; + /** @description If specified, only advisories with these severities will be returned. */ + severity?: "unknown" | "low" | "medium" | "high" | "critical"; + /** @description If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. + * + * Example: `cwes=79,284,22` or `cwes[]=79&cwes[]=284&cwes[]=22` */ + cwes?: string | string[]; + /** @description Whether to only return advisories that have been withdrawn. */ + is_withdrawn?: boolean; + /** @description If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. + * If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. + * + * Example: `affects=package1,package2@1.0.0,package3@^2.0.0` or `affects[]=package1&affects[]=package2@1.0.0` */ + affects?: string | string[]; + /** @description If specified, only return advisories that were published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + published?: string; + /** @description If specified, only return advisories that were updated on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + updated?: string; + /** @description If specified, only show advisories that were updated or published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + modified?: string; + /** @description If specified, only return advisories that have an EPSS percentage score that matches the provided value. + * The EPSS percentage represents the likelihood of a CVE being exploited. */ + epss_percentage?: string; + /** @description If specified, only return advisories that have an EPSS percentile score that matches the provided value. + * The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. */ + epss_percentile?: string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description The property to sort the results by. */ + sort?: "updated" | "published" | "epss_percentage" | "epss_percentile"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["global-advisory"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + /** @description Too many requests */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "security-advisories/get-global-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["global-advisory"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "apps/get-authenticated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + }; + }; + "apps/create-from-manifest": { + parameters: { + query?: never; + header?: never; + path: { + code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "apps/get-webhook-config-for-app": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "apps/update-webhook-config-for-app": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: 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"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "apps/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @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?: components["parameters"]["cursor"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/get-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/redeliver-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/list-installation-requests-for-authenticated-app": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of integration installation requests */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration-installation-request"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + "apps/list-installations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Only show results that were last 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; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The permissions the installation has are included under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"][]; + }; + }; + }; + }; + "apps/get-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "apps/delete-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "apps/create-installation-access-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + 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"]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "apps/suspend-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "apps/unsuspend-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "apps/delete-authorization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/check-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth or GitHub application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/delete-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/reset-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth or GitHub application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/scope-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The 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 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 access token to. **Required** unless `target` is specified. + * @example 1 + */ + target_id?: number; + /** @description The list of repository names to scope the user 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 access token to. `repository_ids` may not be specified if `repositories` is specified. + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "apps/get-by-slug": { + parameters: { + query?: never; + header?: never; + path: { + app_slug: components["parameters"]["app-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "classroom/get-an-assignment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the classroom assignment. */ + assignment_id: components["parameters"]["assignment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom-assignment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "classroom/list-accepted-assignments-for-an-assignment": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the classroom assignment. */ + assignment_id: components["parameters"]["assignment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom-accepted-assignment"][]; + }; + }; + }; + }; + "classroom/get-assignment-grades": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the classroom assignment. */ + assignment_id: components["parameters"]["assignment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom-assignment-grade"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "classroom/list-classrooms": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-classroom"][]; + }; + }; + }; + }; + "classroom/get-a-classroom": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the classroom. */ + classroom_id: components["parameters"]["classroom-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "classroom/list-assignments-for-a-classroom": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the classroom. */ + classroom_id: components["parameters"]["classroom-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-classroom-assignment"][]; + }; + }; + }; + }; + "codes-of-conduct/get-all-codes-of-conduct": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-of-conduct"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "codes-of-conduct/get-conduct-code": { + parameters: { + query?: never; + header?: never; + path: { + key: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-of-conduct"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + "credentials/revoke": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of credentials to be revoked, up to 1000 per request. */ + credentials: string[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 422: components["responses"]["validation_failed_simple"]; + 500: components["responses"]["internal_error"]; + }; + }; + "emojis/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "code-security/get-configurations-for-enterprise": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/create-configuration-for-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the enterprise. */ + name: string; + /** @description A description of the code security configuration */ + description: string; + /** + * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. + * + * > [!WARNING] + * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. + * + * @default disabled + * @enum {string} + */ + advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; + /** + * @description The enablement status of GitHub Code Security features. + * @enum {string} + */ + code_security?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependency Graph + * @default enabled + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @default disabled + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @default disabled + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @default disabled + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of GitHub Secret Protection features. + * @enum {string} + */ + secret_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @default disabled + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @default disabled + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @default disabled + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @default enforced + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Successfully created code security configuration */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/get-default-configurations-for-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-default-configurations"]; + }; + }; + }; + }; + "code-security/get-single-configuration-for-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/delete-configuration-for-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/update-enterprise-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique across the enterprise. */ + name?: string; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. + * + * > [!WARNING] + * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. + * + * @enum {string} + */ + advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; + /** + * @description The enablement status of GitHub Code Security features. + * @enum {string} + */ + code_security?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of GitHub Secret Protection features. + * @enum {string} + */ + secret_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/attach-enterprise-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of repositories to attach the configuration to. + * @enum {string} + */ + scope: "all" | "all_without_configurations"; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/set-configuration-as-default-for-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Specify which types of repository this security configuration should be applied to by default. + * @enum {string} + */ + default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; + }; + }; + }; + responses: { + /** @description Default successfully changed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description Specifies which types of repository this security configuration is applied to by default. + * @enum {string} + */ + default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/get-repositories-for-enterprise-configuration": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. + * + * Can be: `all`, `attached`, `attaching`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` */ + status?: string; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration-repositories"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/list-alerts-for-enterprise": { + parameters: { + query?: { + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + /** @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: + * - An exact number (`n`) + * - Comparators such as `>n`, `=n`, `<=n` + * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 + * + * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. */ + epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; + /** @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. + * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. */ + has?: components["parameters"]["dependabot-alert-comma-separated-has"]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + first?: components["parameters"]["pagination-first"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + last?: components["parameters"]["pagination-last"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert-with-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "secret-scanning/list-alerts-for-enterprise": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** @description A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** @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`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** @description 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"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + validity?: components["parameters"]["secret-scanning-alert-validity"]; + /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ + is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; + /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ + is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; + /** @description A boolean value representing whether or not to hide literal secrets in the results. */ + hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "activity/list-public-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "activity/get-feeds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["feed"]; + }; + }; + }; + }; + "gists/list": { + parameters: { + query?: { + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/create": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + 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"); + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + [name: string]: unknown; + }; + 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"]; + }; + }; + "gists/list-public": { + parameters: { + query?: { + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/list-starred": { + parameters: { + query?: { + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The description of the gist. + * @example Example Ruby script + */ + description?: string; + /** + * @description The gist files to be updated, renamed, or deleted. Each `key` must match the current filename + * (including extension) of the targeted gist file. For example: `hello.py`. + * + * To delete a file, set the whole file to null. For example: `hello.py : null`. The file will also be + * deleted if the specified object does not contain at least one of `content` or `filename`. + * @example { + * "hello.rb": { + * "content": "blah", + * "filename": "goodbye.rb" + * } + * } + */ + files?: { + [key: string]: { + /** @description The new content of the file. */ + content?: string; + /** @description The new filename for the file. */ + filename?: string | null; + } | null; + }; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/list-comments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/create-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "gists/list-commits": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-commit"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/list-forks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/fork": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/check-is-starred": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if gist is starred */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if gist is not starred */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + }; + }; + "gists/star": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/unstar": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-revision": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gitignore/get-all-templates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "gitignore/get-template": { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gitignore-template"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "apps/list-repos-accessible-to-installation": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + 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"]; + }; + }; + "apps/revoke-installation-access-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/list": { + parameters: { + query?: { + /** @description 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"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last 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; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + 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": { + parameters: { + query?: { + featured?: boolean; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "licenses/get": { + parameters: { + query?: never; + header?: never; + path: { + license: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "markdown/render": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The Markdown text to render in HTML. */ + text: string; + /** + * @description The rendering mode. + * @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "Content-Type": components["headers"]["content-type"]; + /** @example 279 */ + "Content-Length"?: string; + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + [name: string]: unknown; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "markdown/render-raw": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "text/plain": string; + "text/x-markdown": string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + [name: string]: unknown; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "apps/get-subscription-plan-for-account": { + parameters: { + query?: never; + header?: never; + path: { + /** @description account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "apps/list-plans": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-accounts-for-plan": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/get-subscription-plan-for-account-stubbed": { + parameters: { + query?: never; + header?: never; + path: { + /** @description account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "apps/list-plans-stubbed": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + "apps/list-accounts-for-plan-stubbed": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + "meta/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "activity/list-public-events-for-repo-network": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-notifications-for-authenticated-user": { + parameters: { + query?: { + /** @description If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** @description Only show results that were last 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"]; + /** @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?: components["parameters"]["before"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 50). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + 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"]; + }; + }; + "activity/mark-notifications-as-read": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Reset Content */ + 205: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/get-thread": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/mark-thread-as-done": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "activity/mark-thread-as-read": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reset Content */ + 205: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/get-thread-subscription-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/set-thread-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to block all notifications from a thread. + * @default false + */ + ignored?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/delete-thread-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "meta/get-octocat": { + parameters: { + query?: { + /** @description The words to show in Octocat's speech bubble */ + s?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/octocat-stream": string; + }; + }; + }; + }; + "orgs/list": { + parameters: { + query?: { + /** @description An organization ID. Only return organizations with an ID greater than this ID. */ + since?: components["parameters"]["since-org"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "dependabot/repository-access-for-org": { + parameters: { + query?: { + /** @description The page number of results to fetch. */ + page?: number; + /** @description Number of results per page. */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-repository-access-details"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/update-repository-access-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to add. */ + repository_ids_to_add?: number[]; + /** @description List of repository IDs to remove. */ + repository_ids_to_remove?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/set-repository-access-default-level": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The default repository access level for Dependabot updates. + * @example internal + * @enum {string} + */ + default_level: "public" | "internal"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "billing/get-github-billing-usage-report-org": { + parameters: { + query?: { + /** @description If specified, only return results for a single year. The value of `year` is an integer with four digits representing a year. For example, `2025`. Default value is the current year. */ + year?: components["parameters"]["billing-usage-report-year"]; + /** @description If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the default `year` is used. */ + month?: components["parameters"]["billing-usage-report-month"]; + /** @description If specified, only return results for a single day. The value of `day` is an integer between `1` and `31`. If no `year` or `month` is specified, the default `year` and `month` are used. */ + day?: components["parameters"]["billing-usage-report-day"]; + /** @description If specified, only return results for a single hour. The value of `hour` is an integer between `0` and `23`. If no `year`, `month`, or `day` is specified, the default `year`, `month`, and `day` are used. */ + hour?: components["parameters"]["billing-usage-report-hour"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["billing_usage_report_org"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "orgs/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "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. The maximum size is 160 characters. */ + 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 closing down 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; + /** + * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. + * @default false + */ + web_commit_signoff_required?: boolean; + /** @example "http://github.blog" */ + blog?: string; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + advanced_security_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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 can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** @description If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. */ + secret_scanning_push_protection_custom_link?: string; + /** @description Controls whether or not deploy keys may be added and used for repositories in the organization. */ + deploy_keys_enabled_for_repositories?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 409: components["responses"]["conflict"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; + }; + }; + }; + }; + "actions/get-actions-cache-usage-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; + }; + }; + "actions/get-actions-cache-usage-by-repo-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; + }; + }; + }; + }; + }; + "actions/list-hosted-runners-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["actions-hosted-runner"][]; + }; + }; + }; + }; + }; + "actions/create-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name: string; + /** @description The image of runner. To list all available images, use `GET /actions/hosted-runners/images/github-owned` or `GET /actions/hosted-runners/images/partner`. */ + image: { + /** @description The unique identifier of the runner image. */ + id?: string; + /** + * @description The source of the runner image. + * @enum {string} + */ + source?: "github" | "partner" | "custom"; + }; + /** @description The machine size of the runner. To list available sizes, use `GET actions/hosted-runners/machine-sizes` */ + size: string; + /** @description The existing runner group to add this runner to. */ + runner_group_id: number; + /** @description The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost. */ + maximum_runners?: number; + /** @description Whether this runner should be created with a static public IP. Note limit on account. To list limits on account, use `GET actions/hosted-runners/limits` */ + enable_static_ip?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + "actions/get-hosted-runners-github-owned-images-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + images: components["schemas"]["actions-hosted-runner-image"][]; + }; + }; + }; + }; + }; + "actions/get-hosted-runners-partner-images-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + images: components["schemas"]["actions-hosted-runner-image"][]; + }; + }; + }; + }; + }; + "actions/get-hosted-runners-limits-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-hosted-runner-limits"]; + }; + }; + }; + }; + "actions/get-hosted-runners-machine-specs-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + machine_specs: components["schemas"]["actions-hosted-runner-machine-spec"][]; + }; + }; + }; + }; + }; + "actions/get-hosted-runners-platforms-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + platforms: string[]; + }; + }; + }; + }; + }; + "actions/get-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the GitHub-hosted runner. */ + hosted_runner_id: components["parameters"]["hosted-runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + "actions/delete-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the GitHub-hosted runner. */ + hosted_runner_id: components["parameters"]["hosted-runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + "actions/update-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the GitHub-hosted runner. */ + hosted_runner_id: components["parameters"]["hosted-runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name?: string; + /** @description The existing runner group to add this runner to. */ + runner_group_id?: number; + /** @description The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost. */ + maximum_runners?: number; + /** @description Whether this runner should be updated with a static public IP. Note limit on account. To list limits on account, use `GET actions/hosted-runners/limits` */ + enable_static_ip?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + "oidc/get-oidc-custom-sub-template-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A JSON serialized template for OIDC subject claim customization */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + }; + }; + "oidc/update-oidc-custom-sub-template-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + responses: { + /** @description Empty response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/get-github-actions-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-organization-permissions"]; + }; + }; + }; + }; + "actions/set-github-actions-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-selected-repositories-enabled-github-actions-organization": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + }; + }; + "actions/set-selected-repositories-enabled-github-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to enable for GitHub Actions. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/enable-selected-repository-github-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/disable-selected-repository-github-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-allowed-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + "actions/set-allowed-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-github-actions-default-workflow-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + "actions/set-github-actions-default-workflow-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-self-hosted-runner-groups-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Only return runner groups that are allowed to be used by this repository. */ + visible_to_repository?: components["parameters"]["visible-to-repository"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runner_groups: components["schemas"]["runner-groups-org"][]; + }; + }; + }; + }; + }; + "actions/create-self-hosted-runner-group-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + 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[]; + /** @description The identifier of a hosted compute network configuration. */ + network_configuration_id?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + "actions/get-self-hosted-runner-group-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + "actions/delete-self-hosted-runner-group-from-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/update-self-hosted-runner-group-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + 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 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[]; + /** @description The identifier of a hosted compute network configuration. */ + network_configuration_id?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + "actions/list-github-hosted-runners-in-group-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["actions-hosted-runner"][]; + }; + }; + }; + }; + }; + "actions/list-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + "actions/set-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/add-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-self-hosted-runners-in-group-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + "actions/set-self-hosted-runners-in-group-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of runner IDs to add to the runner group. */ + runners: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/add-self-hosted-runner-to-group-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/remove-self-hosted-runner-from-group-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-self-hosted-runners-for-org": { + parameters: { + query?: { + /** @description The name of a self-hosted runner. */ + name?: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + "actions/list-runner-applications-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + "actions/generate-runner-jitconfig-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the new runner. */ + name: string; + /** @description The ID of the runner group to register the runner to. */ + runner_group_id: number; + /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ + labels: string[]; + /** + * @description The working directory to be used for job execution, relative to the runner install directory. + * @default _work + */ + work_folder?: string; + }; + }; + }; + responses: { + 201: components["responses"]["actions_runner_jitconfig"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/create-registration-token-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + "actions/create-remove-token-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + "actions/get-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + "actions/delete-self-hosted-runner-from-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-labels-for-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-labels-for-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + 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[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/add-custom-labels-to-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/remove-custom-label-from-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** @description The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-org-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-actions-secret"][]; + }; + }; + }; + }; + }; + "actions/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + "actions/get-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-actions-secret"]; + }; + }; + }; + }; + "actions/create-or-update-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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/actions/secrets#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/actions/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/delete-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + "actions/set-selected-repos-for-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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 [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/add-selected-repo-to-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type is not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/remove-selected-repo-from-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-org-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["organization-actions-variable"][]; + }; + }; + }; + }; + }; + "actions/create-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + /** + * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a variable */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + "actions/get-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-actions-variable"]; + }; + }; + }; + }; + "actions/delete-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/update-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + /** + * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. + * @enum {string} + */ + visibility?: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-selected-repos-for-org-variable": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/set-selected-repos-for-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The IDs of the repositories that can access the organization variable. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/add-selected-repo-to-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/remove-selected-repo-from-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/list-attestations-bulk": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of subject digests to fetch attestations for. */ + subject_digests: string[]; + /** @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ + predicate_type?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Mapping of subject digest to bundles. */ + attestations_subject_digests?: { + [key: string]: { + /** @description The bundle of the attestation. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[] | null; + }; + /** @description Information about the current page. */ + page_info?: { + /** @description Indicates whether there is a next page. */ + has_next?: boolean; + /** @description Indicates whether there is a previous page. */ + has_previous?: boolean; + /** @description The cursor to the next page. */ + next?: string; + /** @description The cursor to the previous page. */ + previous?: string; + }; + }; + }; + }; + }; + }; + "orgs/delete-attestations-bulk": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of subject digests associated with the artifact attestations to delete. */ + subject_digests: string[]; + } | { + /** @description List of unique IDs associated with the artifact attestations to delete. */ + attestation_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete-attestations-by-subject-digest": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Subject Digest */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete-attestations-by-id": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Attestation ID */ + attestation_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-attestations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ + predicate_type?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + attestations?: { + /** @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[]; + }; + }; + }; + }; + }; + "orgs/list-blocked-users": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "orgs/check-blocked-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If the user is blocked */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description If the user is not blocked */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "orgs/block-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/unblock-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "campaigns/list-org-campaigns": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description If specified, only campaigns with this state will be returned. */ + state?: components["schemas"]["campaign-state"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated" | "ends_at" | "published"; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["campaign-summary"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "campaigns/create-campaign": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the campaign */ + name: string; + /** @description A description for the campaign */ + description: string; + /** @description The logins of the users to set as the campaign managers. At this time, only a single manager can be supplied. */ + managers?: string[]; + /** @description The slugs of the teams to set as the campaign managers. */ + team_managers?: string[]; + /** + * Format: date-time + * @description The end date and time of the campaign. The date must be in the future. + */ + ends_at: string; + /** + * Format: uri + * @description The contact link of the campaign. Must be a URI. + */ + contact_link?: string | null; + /** @description The code scanning alerts to include in this campaign */ + code_scanning_alerts: { + /** @description The repository id */ + repository_id: number; + /** @description The alert numbers */ + alert_numbers: number[]; + }[]; + /** + * @description If true, will automatically generate issues for the campaign. The default is false. + * @default false + */ + generate_issues?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["campaign-summary"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Too Many Requests */ + 429: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "campaigns/get-campaign-summary": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The campaign number. */ + campaign_number: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["campaign-summary"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "campaigns/delete-campaign": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The campaign number. */ + campaign_number: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Deletion successful */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "campaigns/update-campaign": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The campaign number. */ + campaign_number: number; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the campaign */ + name?: string; + /** @description A description for the campaign */ + description?: string; + /** @description The logins of the users to set as the campaign managers. At this time, only a single manager can be supplied. */ + managers?: string[]; + /** @description The slugs of the teams to set as the campaign managers. */ + team_managers?: string[]; + /** + * Format: date-time + * @description The end date and time of the campaign, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + ends_at?: string; + /** + * Format: uri + * @description The contact link of the campaign. Must be a URI. + */ + contact_link?: string | null; + state?: components["schemas"]["campaign-state"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["campaign-summary"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/list-alerts-for-org": { + parameters: { + query?: { + /** @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["parameters"]["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["parameters"]["tool-guid"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state-query"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated"; + /** @description If specified, only code scanning alerts with this severity will be returned. */ + severity?: components["schemas"]["code-scanning-alert-severity"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-security/get-configurations-for-org": { + parameters: { + query?: { + /** @description The target type of the code security configuration */ + target_type?: "global" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/create-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the organization. */ + name: string; + /** @description A description of the code security configuration */ + description: string; + /** + * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. + * + * > [!WARNING] + * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. + * + * @default disabled + * @enum {string} + */ + advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; + /** + * @description The enablement status of GitHub Code Security features. + * @enum {string} + */ + code_security?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependency Graph + * @default enabled + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @default disabled + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @default disabled + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @default disabled + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default not_set + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of GitHub Secret Protection features. + * @enum {string} + */ + secret_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @default disabled + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated bypass + * @default disabled + * @enum {string} + */ + secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for secret scanning delegated bypass */ + secret_scanning_delegated_bypass_options?: { + /** @description The bypass reviewers for secret scanning delegated bypass */ + reviewers?: { + /** @description The ID of the team or role selected as a bypass reviewer */ + reviewer_id: number; + /** + * @description The type of the bypass reviewer + * @enum {string} + */ + reviewer_type: "TEAM" | "ROLE"; + }[]; + }; + /** + * @description The enablement status of secret scanning validity checks + * @default disabled + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @default disabled + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @default enforced + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Successfully created code security configuration */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + }; + }; + "code-security/get-default-configurations": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-default-configurations"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/detach-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository IDs to detach from configurations. Up to 1000 IDs can be provided. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/get-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/delete-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "code-security/update-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the organization. */ + name?: string; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. + * + * > [!WARNING] + * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. + * + * @enum {string} + */ + advanced_security?: "enabled" | "disabled" | "code_security" | "secret_protection"; + /** + * @description The enablement status of GitHub Code Security features. + * @enum {string} + */ + code_security?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of GitHub Secret Protection features. + * @enum {string} + */ + secret_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated bypass + * @enum {string} + */ + secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for secret scanning delegated bypass */ + secret_scanning_delegated_bypass_options?: { + /** @description The bypass reviewers for secret scanning delegated bypass */ + reviewers?: { + /** @description The ID of the team or role selected as a bypass reviewer */ + reviewer_id: number; + /** + * @description The type of the bypass reviewer + * @enum {string} + */ + reviewer_type: "TEAM" | "ROLE"; + }[]; + }; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Response when a configuration is updated */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + /** @description Response when no new updates are made */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "code-security/attach-configuration": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of repositories to attach the configuration to. `selected` means the configuration will be attached to only the repositories specified by `selected_repository_ids` + * @enum {string} + */ + scope: "all" | "all_without_configurations" | "public" | "private_or_internal" | "selected"; + /** @description An array of repository IDs to attach the configuration to. You can only provide a list of repository ids when the `scope` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + }; + }; + "code-security/set-configuration-as-default": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Specify which types of repository this security configuration should be applied to by default. + * @enum {string} + */ + default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; + }; + }; + }; + responses: { + /** @description Default successfully changed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description Specifies which types of repository this security configuration is applied to by default. + * @enum {string} + */ + default_for_new_repos?: "all" | "none" | "private_and_internal" | "public"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "code-security/get-repositories-for-configuration": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. + * + * Can be: `all`, `attached`, `attaching`, `detached`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` */ + status?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the code security configuration. */ + configuration_id: components["parameters"]["configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration-repositories"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/list-in-organization": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "codespaces/set-codespaces-access": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization. + * @enum {string} + */ + visibility: "disabled" | "selected_members" | "all_members" | "all_members_and_outside_collaborators"; + /** @description The usernames of the organization members who should have access to codespaces in the organization. Required when `visibility` is `selected_members`. The provided list of usernames will replace any existing value. */ + selected_usernames?: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/set-codespaces-access-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members whose codespaces be billed to the organization. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/delete-codespaces-access-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members whose codespaces should not be billed to the organization. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/list-org-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-org-secret"][]; + }; + }; + }; + }; + }; + "codespaces/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; + }; + "codespaces/get-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-org-secret"]; + }; + }; + }; + }; + "codespaces/create-or-update-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The 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/codespaces/organization-secrets#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description The 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/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/delete-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/set-selected-repos-for-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "codespaces/add-selected-repo-to-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type is not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/remove-selected-repo-from-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "copilot/get-copilot-organization-details": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-organization-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description There is a problem with your account's associated payment method. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/list-copilot-seats": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Total number of Copilot seats for the organization currently being billed. */ + total_seats?: number; + seats?: components["schemas"]["copilot-seat-details"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/add-copilot-seats-for-teams": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of team names within the organization to which to grant access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_created: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/cancel-copilot-seat-assignment-for-teams": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of teams from which to revoke access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/add-copilot-seats-for-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members to be granted access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_created: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/cancel-copilot-seat-assignment-for-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members for which to revoke access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, the seat management setting is set to enable Copilot for all users or is unconfigured, or a user's seat cannot be cancelled because it was assigned to them via a team. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/copilot-metrics-for-organization": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-usage-metrics-day"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["usage_metrics_api_disabled"]; + 500: components["responses"]["internal_error"]; + }; + }; + "dependabot/list-alerts-for-org": { + parameters: { + query?: { + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + /** @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: + * - An exact number (`n`) + * - Comparators such as `>n`, `=n`, `<=n` + * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 + * + * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. */ + epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; + /** @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. + * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. */ + has?: components["parameters"]["dependabot-alert-comma-separated-has"]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + first?: components["parameters"]["pagination-first"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + last?: components["parameters"]["pagination-last"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert-with-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "dependabot/list-org-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-dependabot-secret"][]; + }; + }; + }; + }; + }; + "dependabot/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; + }; + "dependabot/get-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-dependabot-secret"]; + }; + }; + }; + }; + "dependabot/create-or-update-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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/dependabot/secrets#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/dependabot/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: string[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "dependabot/delete-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "dependabot/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + "dependabot/set-selected-repos-for-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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/dependabot/secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "dependabot/add-selected-repo-to-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type is not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "dependabot/remove-selected-repo-from-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "packages/list-docker-migration-conflicting-packages-for-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/list-public-org-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "orgs/list-failed-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Must be passed as "web". */ + name: string; + /** @description Key/value pairs to provide settings for this 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"]; + /** @example "kdaigle" */ + username?: string; + /** @example "password" */ + password?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. + * @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/orgs/octocat/hooks/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this 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"]; + }; + /** + * @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-webhook-config-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "orgs/update-webhook-config-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: 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"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "orgs/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @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?: components["parameters"]["cursor"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/redeliver-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/ping-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "api-insights/get-route-stats-by-actor": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: components["parameters"]["api-insights-route-stats-sort"]; + /** @description Providing a substring will filter results where the API route contains the substring. This is a case-insensitive search. */ + api_route_substring?: components["parameters"]["api-insights-api-route-substring"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The type of the actor */ + actor_type: components["parameters"]["api-insights-actor-type"]; + /** @description The ID of the actor */ + actor_id: components["parameters"]["api-insights-actor-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-route-stats"]; + }; + }; + }; + }; + "api-insights/get-subject-stats": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: components["parameters"]["api-insights-sort"]; + /** @description Providing a substring will filter results where the subject name contains the substring. This is a case-insensitive search. */ + subject_name_substring?: components["parameters"]["api-insights-subject-name-substring"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-subject-stats"]; + }; + }; + }; + }; + "api-insights/get-summary-stats": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-summary-stats"]; + }; + }; + }; + }; + "api-insights/get-summary-stats-by-user": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the user to query for stats */ + user_id: components["parameters"]["api-insights-user-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-summary-stats"]; + }; + }; + }; + }; + "api-insights/get-summary-stats-by-actor": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The type of the actor */ + actor_type: components["parameters"]["api-insights-actor-type"]; + /** @description The ID of the actor */ + actor_id: components["parameters"]["api-insights-actor-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-summary-stats"]; + }; + }; + }; + }; + "api-insights/get-time-stats": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ + timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-time-stats"]; + }; + }; + }; + }; + "api-insights/get-time-stats-by-user": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ + timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the user to query for stats */ + user_id: components["parameters"]["api-insights-user-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-time-stats"]; + }; + }; + }; + }; + "api-insights/get-time-stats-by-actor": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ + timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The type of the actor */ + actor_type: components["parameters"]["api-insights-actor-type"]; + /** @description The ID of the actor */ + actor_id: components["parameters"]["api-insights-actor-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-time-stats"]; + }; + }; + }; + }; + "api-insights/get-user-stats": { + parameters: { + query: { + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: components["parameters"]["api-insights-sort"]; + /** @description Providing a substring will filter results where the actor name contains the substring. This is a case-insensitive search. */ + actor_name_substring?: components["parameters"]["api-insights-actor-name-substring"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the user to query for stats */ + user_id: components["parameters"]["api-insights-user-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-insights-user-stats"]; + }; + }; + }; + }; + "apps/get-org-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + "orgs/list-app-installations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + }; + }; + "interactions/get-restrictions-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"] | Record; + }; + }; + }; + }; + "interactions/set-restrictions-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "interactions/remove-restrictions-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/list-pending-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Filter invitations by their member role. */ + role?: "all" | "admin" | "direct_member" | "billing_manager" | "hiring_manager"; + /** @description Filter invitations by their invitation source. */ + invitation_source?: "all" | "member" | "scim"; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + 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. + * * `reinstate` - The previous role assigned to the invitee before they were removed from your organization. Can be one of the roles listed above. Only works if the invitee was previously part of your organization. + * @default direct_member + * @enum {string} + */ + role?: "admin" | "direct_member" | "billing_manager" | "reinstate"; + /** @description Specify IDs for the teams you want to invite new members to. */ + team_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/cancel-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/list-invitation-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-issue-types": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-type"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-issue-type": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["organization-create-issue-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-type"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "orgs/update-issue-type": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the issue type. */ + issue_type_id: components["parameters"]["issue-type-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["organization-update-issue-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-type"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "orgs/delete-issue-type": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the issue type. */ + issue_type_id: components["parameters"]["issue-type-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "issues/list-for-org": { + parameters: { + query?: { + /** @description 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"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description Can be the name of an issue type. */ + type?: string; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-members": { + parameters: { + query?: { + /** @description 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. `2fa_insecure` means that only members with [insecure 2FA methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) will be returned. These options are only available for organization owners. */ + filter?: "2fa_disabled" | "2fa_insecure" | "all"; + /** @description Filter members returned by their role. */ + role?: "all" | "admin" | "member"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/check-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if requester is an organization member and user is a member */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if requester is not an organization member */ + 302: { + headers: { + /** @example https://api.github.com/orgs/github/public_members/pezra */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if requester is an organization member and user is not a member */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/remove-member": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "codespaces/get-codespaces-for-user-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "codespaces/delete-from-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + 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"]; + }; + }; + "codespaces/stop-in-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "copilot/get-copilot-seat-details-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The user's GitHub Copilot seat details, including usage. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-seat-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization or the user has a pending organization invitation. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/get-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/set-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + 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"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/remove-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/list-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + }; + }; + "migrations/start-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + 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. */ + exclude?: "repositories"[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "migrations/get-status-for-org": { + parameters: { + query?: { + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description * `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: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/download-archive-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/delete-archive-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/unlock-repo-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** @description repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/list-repos-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-org-roles": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response - list of organization roles */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The total number of organization roles available to the organization. */ + total_count?: number; + /** @description The list of organization roles available to the organization. */ + roles?: components["schemas"]["organization-role"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/revoke-all-org-roles-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/assign-team-to-org-role": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization, team or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled for the organization, or validation failed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/revoke-org-role-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/revoke-all-org-roles-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/assign-user-to-org-role": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization, user or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled enabled for the organization, the validation failed, or the user is not an organization member. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/revoke-org-role-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/get-org-role": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-role"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/list-org-role-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response - List of assigned teams */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-role-assignment"][]; + }; + }; + /** @description Response if the organization or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled or validation failed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/list-org-role-users": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the role. */ + role_id: components["parameters"]["role-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response - List of assigned users */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user-role-assignment"][]; + }; + }; + /** @description Response if the organization or role does not exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if the organization roles feature is not enabled or validation failed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/list-outside-collaborators": { + parameters: { + query?: { + /** @description 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. `2fa_insecure` means that only outside collaborators with [insecure 2FA methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) will be returned. */ + filter?: "2fa_disabled" | "2fa_insecure" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "orgs/convert-member-to-outside-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description User is getting converted asynchronously */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description User was converted */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description 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/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/remove-outside-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity if user is a member of the organization */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + }; + "packages/list-packages-for-organization": { + parameters: { + query: { + /** @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 selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + visibility?: components["parameters"]["package-visibility"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: number; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "packages/get-package-for-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + "packages/delete-package-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-for-org": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-all-package-versions-for-package-owned-by-org": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-package-version-for-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + "packages/delete-package-version-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-version-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-pat-grant-requests": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The property by which to sort the results. */ + sort?: components["parameters"]["personal-access-token-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A list of owner usernames to use to filter the results. */ + owner?: components["parameters"]["personal-access-token-owner"]; + /** @description The name of the repository to use to filter the results. */ + repository?: components["parameters"]["personal-access-token-repository"]; + /** @description The permission to use to filter the results. */ + permission?: components["parameters"]["personal-access-token-permission"]; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_before?: components["parameters"]["personal-access-token-before"]; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_after?: components["parameters"]["personal-access-token-after"]; + /** @description The ID of the token */ + token_id?: components["parameters"]["personal-access-token-token-id"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-programmatic-access-grant-request"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/review-pat-grant-requests-in-bulk": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values. */ + pat_request_ids?: number[]; + /** + * @description Action to apply to the requests. + * @enum {string} + */ + action: "approve" | "deny"; + /** @description Reason for approving or denying the requests. Max 1024 characters. */ + reason?: string | null; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/review-pat-grant-request": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the request for access via fine-grained personal access token. */ + pat_request_id: number; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the request. + * @enum {string} + */ + action: "approve" | "deny"; + /** @description Reason for approving or denying the request. Max 1024 characters. */ + reason?: string | null; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/list-pat-grant-request-repositories": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the request for access via fine-grained personal access token. */ + pat_request_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/list-pat-grants": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The property by which to sort the results. */ + sort?: components["parameters"]["personal-access-token-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A list of owner usernames to use to filter the results. */ + owner?: components["parameters"]["personal-access-token-owner"]; + /** @description The name of the repository to use to filter the results. */ + repository?: components["parameters"]["personal-access-token-repository"]; + /** @description The permission to use to filter the results. */ + permission?: components["parameters"]["personal-access-token-permission"]; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_before?: components["parameters"]["personal-access-token-before"]; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_after?: components["parameters"]["personal-access-token-after"]; + /** @description The ID of the token */ + token_id?: components["parameters"]["personal-access-token-token-id"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-programmatic-access-grant"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/update-pat-accesses": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the fine-grained personal access token. + * @enum {string} + */ + action: "revoke"; + /** @description The IDs of the fine-grained personal access tokens. */ + pat_ids: number[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/update-pat-access": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the fine-grained personal access token. */ + pat_id: components["parameters"]["fine-grained-personal-access-token-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the fine-grained personal access token. + * @enum {string} + */ + action: "revoke"; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/list-pat-grant-repositories": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the fine-grained personal access token. */ + pat_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "private-registries/list-org-private-registries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + configurations: components["schemas"]["org-private-registry-configuration"][]; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "private-registries/create-org-private-registry": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The registry type. + * @enum {string} + */ + registry_type: "maven_repository" | "nuget_feed" | "goproxy_server" | "npm_registry" | "rubygems_server" | "cargo_registry" | "composer_repository" | "docker_registry" | "git_source" | "helm_registry"; + /** + * Format: uri + * @description The URL of the private registry. + */ + url: string; + /** @description The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication. */ + username?: string | null; + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint. */ + encrypted_value: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id: string; + /** + * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. You can manage the list of selected repositories using the [Update a private registry for an organization](https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization) endpoint. This field should be omitted if `visibility` is set to `all` or `private`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description The organization private registry configuration */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-private-registry-configuration-with-selected-repositories"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "private-registries/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The identifier for the key. + * @example 012345678912345678 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + */ + key: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "private-registries/get-org-private-registry": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The specified private registry configuration for the organization */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-private-registry-configuration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "private-registries/delete-org-private-registry": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "private-registries/update-org-private-registry": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The registry type. + * @enum {string} + */ + registry_type?: "maven_repository" | "nuget_feed" | "goproxy_server" | "npm_registry" | "rubygems_server" | "cargo_registry" | "composer_repository" | "docker_registry" | "git_source" | "helm_registry"; + /** + * Format: uri + * @description The URL of the private registry. + */ + url?: string; + /** @description The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication. */ + username?: string | null; + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint. */ + encrypted_value?: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. + * @enum {string} + */ + visibility?: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. This field should be omitted if `visibility` is set to `all` or `private`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/list-for-org": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/create-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "orgs/get-all-custom-properties": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["custom-property"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-or-update-custom-properties": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The array of custom properties to create or update. */ + properties: components["schemas"]["custom-property"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["custom-property"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/get-custom-property": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The custom property name */ + custom_property_name: components["parameters"]["custom-property-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["custom-property"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-or-update-custom-property": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The custom property name */ + custom_property_name: components["parameters"]["custom-property-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["custom-property-set-payload"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["custom-property"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/remove-custom-property": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The custom property name */ + custom_property_name: components["parameters"]["custom-property-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-custom-properties-values-for-repos": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Finds repositories in the organization with a query containing 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/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + repository_query?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-repo-custom-property-values"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/create-or-update-custom-properties-values-for-repos": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of repositories that the custom property values will be applied to. */ + repository_names: string[]; + /** @description List of custom property names and associated values to apply to the repositories. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/list-public-members": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "orgs/check-public-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if user is a public member */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if user is not a public member */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/set-public-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "orgs/remove-public-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-for-org": { + parameters: { + query?: { + /** @description Specifies the types of repositories you want returned. */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + "repos/create-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + 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 Whether the repository is private. + * @default false + */ + private?: boolean; + /** + * @description The visibility of the repository. + * @enum {string} + */ + visibility?: "public" | "private"; + /** + * @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 Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads?: 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. **The authenticated user must be an organization owner to set this property to `true`.** + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description The custom properties for the new repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-org-rulesets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description A comma-separated list of rule targets to filter by. + * If provided, only rulesets that apply to the specified targets will be returned. + * For example, `branch,tag,push`. + * */ + targets?: components["parameters"]["ruleset-targets"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/create-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name: string; + /** + * @description The target of the ruleset + * @default branch + * @enum {string} + */ + target?: "branch" | "tag" | "push" | "repository"; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["org-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-org-rule-suites": { + parameters: { + query?: { + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ + ref?: components["parameters"]["ref-in-query"]; + /** @description The name of the repository to filter on. */ + repository_name?: components["parameters"]["repository-name-in-query"]; + /** @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for rule suites that occurred in the past 7 days (168 hours). */ + time_period?: components["parameters"]["time-period"]; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + actor_name?: components["parameters"]["actor-name-in-query"]; + /** @description The rule suite results to filter on. When specified, only suites with this result will be returned. */ + rule_suite_result?: components["parameters"]["rule-suite-result"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suites"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-org-rule-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. */ + rule_suite_id: components["parameters"]["rule-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suite"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/update-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody?: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name?: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag" | "push" | "repository"; + enforcement?: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["org-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/delete-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/get-org-ruleset-history": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ruleset-version"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/get-org-ruleset-version": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + /** @description The ID of the version */ + version_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ruleset-version-with-state"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "secret-scanning/list-alerts-for-org": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** @description A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** @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`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** @description 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"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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"]; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + validity?: components["parameters"]["secret-scanning-alert-validity"]; + /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ + is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; + /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ + is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; + /** @description A boolean value representing whether or not to hide literal secrets in the results. */ + hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "security-advisories/list-org-repository-advisories": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "published"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description Filter by the state of the repository advisories. Only advisories of this state will be returned. */ + state?: "triage" | "draft" | "published" | "closed"; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-security-manager-teams": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-simple"][]; + }; + }; + }; + }; + "orgs/add-security-manager-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "orgs/remove-security-manager-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "billing/get-github-actions-billing-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + "billing/get-github-packages-billing-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + "billing/get-shared-storage-billing-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + "hosted-compute/list-network-configurations-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + network_configurations: components["schemas"]["network-configuration"][]; + }; + }; + }; + }; + }; + "hosted-compute/create-network-configuration-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the network configuration. Must be between 1 and 100 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name: string; + /** + * @description The hosted compute service to use for the network configuration. + * @enum {string} + */ + compute_service?: "none" | "actions"; + /** @description The identifier of the network settings to use for the network configuration. Exactly one network settings must be specified. */ + network_settings_ids: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["network-configuration"]; + }; + }; + }; + }; + "hosted-compute/get-network-configuration-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the hosted compute network configuration. */ + network_configuration_id: components["parameters"]["network-configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["network-configuration"]; + }; + }; + }; + }; + "hosted-compute/delete-network-configuration-from-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the hosted compute network configuration. */ + network_configuration_id: components["parameters"]["network-configuration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "hosted-compute/update-network-configuration-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the hosted compute network configuration. */ + network_configuration_id: components["parameters"]["network-configuration-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the network configuration. Must be between 1 and 100 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name?: string; + /** + * @description The hosted compute service to use for the network configuration. + * @enum {string} + */ + compute_service?: "none" | "actions"; + /** @description The identifier of the network settings to use for the network configuration. Exactly one network settings must be specified. */ + network_settings_ids?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["network-configuration"]; + }; + }; + }; + }; + "hosted-compute/get-network-settings-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the hosted compute network settings. */ + network_settings_id: components["parameters"]["network-settings-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["network-settings"]; + }; + }; + }; + }; + "copilot/copilot-metrics-for-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-usage-metrics-day"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["usage_metrics_api_disabled"]; + 500: components["responses"]["internal_error"]; + }; + }; + "teams/list": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "teams/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** @description List GitHub usernames 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 The notification setting the team has chosen. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * Default: `notifications_enabled` + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description **Closing down notice**. 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/get-by-name": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/delete-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/update-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + 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 The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description **Closing down notice**. 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; + }; + }; + }; + responses: { + /** @description Response when the updated information already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/list-discussions-in-org": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Pinned discussions only filter */ + pinned?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + "teams/create-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + "teams/get-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + "teams/delete-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/update-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + "teams/list-discussion-comments-in-org": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + "teams/create-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + "teams/get-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + "teams/delete-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/update-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + "reactions/list-for-team-discussion-comment-in-org": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + "reactions/create-for-team-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response when the reaction type has already been added to this team discussion comment */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + "reactions/delete-for-team-discussion-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "reactions/list-for-team-discussion-in-org": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + "reactions/create-for-team-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + "reactions/delete-for-team-discussion": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/list-pending-invitations-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + "teams/list-members-in-org": { + parameters: { + query?: { + /** @description Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "teams/get-membership-for-user-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description if user has no team membership */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/add-or-update-membership-for-user-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/remove-membership-for-user-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/list-projects-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + }; + }; + "teams/check-permissions-for-project-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** @description Not Found if project is not managed by this team */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/add-or-update-project-permissions-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if the project is not owned by the organization */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + }; + "teams/remove-project-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/list-repos-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + "teams/check-permissions-for-repo-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Alternative response with repository permissions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description 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: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if team does not have permission for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/add-or-update-repo-permissions-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and 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. */ + permission?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/remove-repo-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/list-child-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if child teams exist */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + }; + }; + "orgs/enable-or-disable-security-product-on-all-org-repos": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The security feature to enable or disable. */ + security_product: components["parameters"]["security-product"]; + /** @description The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. */ + enablement: components["parameters"]["org-security-product-enablement"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description CodeQL query suite to be used. If you specify the `query_suite` parameter, the default setup will be configured with this query suite only on all repositories that didn't have default setup already configured. It will not change the query suite on repositories that already have default setup configured. + * If you don't specify any `query_suite` in your request, the preferred query suite of the organization will be applied. + * @enum {string} + */ + query_suite?: "default" | "extended"; + }; + }; + }; + responses: { + /** @description Action started */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "projects/get-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "projects/delete-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "projects/update-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "projects/move-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + resource?: string; + field?: string; + }[]; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + /** @description Response */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + }; + "projects/get-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "projects/delete-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/update-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/list-cards": { + parameters: { + query?: { + /** @description Filters the project cards that are returned by the card's state. */ + archived_state?: "all" | "archived" | "not_archived"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-card"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; + }; + }; + /** @description Response */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + }; + "projects/move-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Delete Success */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "projects/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + /** @description Not Found if the authenticated user does not have access to the project */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/list-collaborators": { + parameters: { + query?: { + /** @description 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"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + 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"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/add-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. + * @default write + * @example write + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "projects/remove-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "projects/get-permission-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "projects/list-columns": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-column"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "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_simple"]; + }; + }; + "rate-limit/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; + "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; + "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rate-limit-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 307: components["responses"]["temporary_redirect"]; + /** @description If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "repos/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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. + * @default false + */ + private?: boolean; + /** + * @description The visibility of the repository. + * @enum {string} + */ + visibility?: "public" | "private"; + /** @description Specify which security and analysis features to enable or disable for the repository. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. 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)." + * + * For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: + * `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. + * + * 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)." + * + * For standalone Code Scanning or Secret Protection products, this parameter cannot be used. */ + advanced_security?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable GitHub Code Security for this repository. */ + code_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; + }; + /** @description Use the `status` property to enable or disable secret scanning AI detection for this repository. For more information, see "[Responsible detection of generic secrets with AI](https://docs.github.com/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets)." */ + secret_scanning_ai_detection?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ + secret_scanning_non_provider_patterns?: { + /** @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; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to archive this repository. `false` will unarchive a previously archived repository. + * @default false + */ + archived?: boolean; + /** + * @description Either `true` to allow private forks, or `false` to prevent private forks. + * @default false + */ + allow_forking?: boolean; + /** + * @description Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits. + * @default false + */ + web_commit_signoff_required?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "actions/list-artifacts-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + name?: components["parameters"]["artifact-name"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + "actions/get-artifact": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["artifact"]; + }; + }; + }; + }; + "actions/delete-artifact": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/download-artifact": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + archive_format: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + Location: components["headers"]["location"]; + [name: string]: unknown; + }; + content?: never; + }; + 410: components["responses"]["gone"]; + }; + }; + "actions/get-actions-cache-usage": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-usage-by-repository"]; + }; + }; + }; + }; + "actions/get-actions-cache-list": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["actions-cache-git-ref-full"]; + /** @description An explicit key or prefix for identifying the cache */ + key?: components["parameters"]["actions-cache-key"]; + /** @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. */ + sort?: components["parameters"]["actions-cache-list-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; + }; + "actions/delete-actions-cache-by-key": { + parameters: { + query: { + /** @description A key for identifying the cache. */ + key: components["parameters"]["actions-cache-key-required"]; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["actions-cache-git-ref-full"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; + }; + "actions/delete-actions-cache-by-id": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the GitHub Actions cache. */ + cache_id: components["parameters"]["cache-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-job-for-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["job"]; + }; + }; + }; + }; + "actions/download-job-logs-for-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @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 */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/re-run-job-for-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "actions/get-custom-oidc-sub-claim-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Status response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["oidc-custom-sub-repo"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-oidc-sub-claim-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ + use_default: boolean; + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys?: string[]; + }; + }; + }; + responses: { + /** @description Empty response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-repo-organization-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + "actions/list-repo-organization-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; + }; + "actions/get-github-actions-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-repository-permissions"]; + }; + }; + }; + }; + "actions/set-github-actions-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-workflow-access-to-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + }; + }; + "actions/set-workflow-access-to-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-allowed-actions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + "actions/set-allowed-actions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-github-actions-default-workflow-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + "actions/set-github-actions-default-workflow-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict response when changing a setting is prevented by the owning organization */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-self-hosted-runners-for-repo": { + parameters: { + query?: { + /** @description The name of a self-hosted runner. */ + name?: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + "actions/list-runner-applications-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + "actions/generate-runner-jitconfig-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the new runner. */ + name: string; + /** @description The ID of the runner group to register the runner to. */ + runner_group_id: number; + /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ + labels: string[]; + /** + * @description The working directory to be used for job execution, relative to the runner install directory. + * @default _work + */ + work_folder?: string; + }; + }; + }; + responses: { + 201: components["responses"]["actions_runner_jitconfig"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/create-registration-token-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + "actions/create-remove-token-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + "actions/get-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + "actions/delete-self-hosted-runner-from-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-labels-for-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-labels-for-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + 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[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/add-custom-labels-to-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/remove-custom-label-from-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** @description The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-workflow-runs-for-repo": { + parameters: { + query?: { + /** @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?: components["parameters"]["actor"]; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** @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/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** @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 Actions can set a status of `waiting`, `pending`, or `requested`. */ + status?: components["parameters"]["workflow-run-status"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @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?: components["parameters"]["created"]; + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + head_sha?: components["parameters"]["workflow-run-head-sha"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + "actions/get-workflow-run": { + parameters: { + query?: { + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + "actions/delete-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/get-reviews-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment-approvals"][]; + }; + }; + }; + }; + "actions/approve-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/list-workflow-run-artifacts": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + name?: components["parameters"]["artifact-name"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + "actions/get-workflow-run-attempt": { + parameters: { + query?: { + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** @description The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + "actions/list-jobs-for-workflow-run-attempt": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** @description The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "actions/download-workflow-run-attempt-logs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** @description The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @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 */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/cancel-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "actions/review-custom-gates-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["review-custom-gates-comment-required"] | components["schemas"]["review-custom-gates-state-required"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/force-cancel-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "actions/list-jobs-for-workflow-run": { + parameters: { + query?: { + /** @description 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"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + }; + }; + "actions/download-workflow-run-logs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @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 */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/delete-workflow-run-logs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + }; + }; + "actions/get-pending-deployments-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pending-deployment"][]; + }; + }; + }; + }; + "actions/review-pending-deployments-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The list of environment ids to approve or reject + * @example [ + * 161171787, + * 161171795 + * ] + */ + 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + }; + "actions/re-run-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + "actions/re-run-workflow-failed-jobs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + "actions/get-workflow-run-usage": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-run-usage"]; + }; + }; + }; + }; + "actions/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + "actions/get-repo-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + "actions/get-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + "actions/create-or-update-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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 a repository public key](https://docs.github.com/rest/actions/secrets#get-a-repository-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/delete-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-repo-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; + }; + "actions/create-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + "actions/get-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-variable"]; + }; + }; + }; + }; + "actions/delete-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/update-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-repo-workflows": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflows: components["schemas"]["workflow"][]; + }; + }; + }; + }; + }; + "actions/get-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow"]; + }; + }; + }; + }; + "actions/disable-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/create-workflow-dispatch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/enable-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-workflow-runs": { + parameters: { + query?: { + /** @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?: components["parameters"]["actor"]; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** @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/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** @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 Actions can set a status of `waiting`, `pending`, or `requested`. */ + status?: components["parameters"]["workflow-run-status"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @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?: components["parameters"]["created"]; + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + head_sha?: components["parameters"]["workflow-run-head-sha"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + "actions/get-workflow-usage": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-usage"]; + }; + }; + }; + }; + "repos/list-activities": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The Git reference for the activities you want to list. + * + * The `ref` for a branch can be formatted either as `refs/heads/BRANCH_NAME` or `BRANCH_NAME`, where `BRANCH_NAME` is the name of your branch. */ + ref?: string; + /** @description The GitHub username to use to filter by the actor who performed the activity. */ + actor?: string; + /** @description The time period to filter by. + * + * For example, `day` will filter for activity that occurred in the past 24 hours, and `week` will filter for activity that occurred in the past 7 days (168 hours). */ + time_period?: "day" | "week" | "month" | "quarter" | "year"; + /** @description The activity type to filter by. + * + * For example, you can choose to filter by "force_push", to see all force pushes to the repository. */ + activity_type?: "push" | "force_push" | "branch_creation" | "branch_deletion" | "pr_merge" | "merge_queue_merge"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["activity"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "issues/list-assignees": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/check-user-can-be-assigned": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + assignee: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Otherwise a `404` status code is returned. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "repos/create-attestation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + }; + }; + }; + responses: { + /** @description response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The ID of the attestation. */ + id?: number; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-attestations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ + predicate_type?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + attestations?: { + /** @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[]; + }; + }; + }; + }; + }; + "repos/list-autolinks": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["autolink"][]; + }; + }; + }; + }; + "repos/create-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description This prefix appended by certain 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 different characters depending on the value of `is_alphanumeric`. */ + url_template: string; + /** + * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. + * @default true + */ + is_alphanumeric?: boolean; + }; + }; + }; + responses: { + /** @description response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/check-automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if Dependabot is enabled */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-automated-security-fixes"]; + }; + }; + /** @description Not Found if Dependabot is not enabled for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/enable-automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/disable-automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-branches": { + parameters: { + query?: { + /** @description Setting to `true` returns only branches protected by branch protections or rulesets. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ + protected?: boolean; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["short-branch"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-protection"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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 **Closing down notice**: 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 Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`. + * @default false + */ + require_last_push_approval?: boolean; + /** @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/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/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; + /** + * @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`. + * @default false + */ + lock_branch?: boolean; + /** + * @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`. + * @default false + */ + allow_fork_syncing?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "repos/delete-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-admin-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + "repos/set-admin-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + "repos/delete-admin-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-pull-request-review-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + }; + }; + "repos/delete-pull-request-review-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-pull-request-review-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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 Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` + * @default false + */ + require_last_push_approval?: boolean; + /** @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[]; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-commit-signature-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-commit-signature-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-commit-signature-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-status-checks-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/remove-status-check-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/update-status-check-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Require branches to be up to date before merging. */ + strict?: boolean; + /** + * @deprecated + * @description **Closing down notice**: 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; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-all-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-restriction-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-apps-with-access-to-protected-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-app-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-app-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-app-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-teams-with-access-to-protected-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-team-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-team-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-team-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-users-with-access-to-protected-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-user-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-user-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-user-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/rename-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The new name of the branch. */ + new_name: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "checks/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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 of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. + * @default queued + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; + /** + * 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. */ + output?: { + /** @description The title of the check run. */ + title: string; + /** @description The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ + summary: string; + /** @description The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ + 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/checks/runs#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. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + 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. Line numbers start at 1. */ + 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. Column numbers start at 1. */ + 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. */ + 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. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-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; + }[]; + } & (({ + /** @enum {unknown} */ + status: "completed"; + } & { + [key: string]: unknown; + }) | ({ + /** @enum {unknown} */ + status?: "queued" | "in_progress"; + } & { + [key: string]: unknown; + })); + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + "checks/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + "checks/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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 of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "waiting" | "requested" | "pending"; + /** + * @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. */ + 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/checks/runs#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. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + 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. Line numbers start at 1. */ + 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. Column numbers start at 1. */ + 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. */ + 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. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-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; + }[]; + } | ({ + /** @enum {unknown} */ + status?: "completed"; + } & { + [key: string]: unknown; + }) | ({ + /** @enum {unknown} */ + status?: "queued" | "in_progress"; + } & { + [key: string]: unknown; + }); + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + "checks/list-annotations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-annotation"][]; + }; + }; + }; + }; + "checks/rerequest-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Validation error if the check run is not rerequestable */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "checks/create-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The sha of the head commit. */ + head_sha: string; + }; + }; + }; + responses: { + /** @description Response when the suite already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + /** @description Response when the suite was created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + }; + "checks/set-suites-preferences": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. */ + 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; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite-preference"]; + }; + }; + }; + }; + "checks/get-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + }; + "checks/list-for-suite": { + parameters: { + query?: { + /** @description Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** @description Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + "checks/rerequest-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + "code-scanning/list-alerts-for-repo": { + parameters: { + query?: { + /** @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["parameters"]["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["parameters"]["tool-guid"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @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`. */ + ref?: components["parameters"]["git-ref"]; + /** @description The number of the pull request for the results you want to list. */ + pr?: components["parameters"]["pr-alias"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated"; + /** @description If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state-query"]; + /** @description If specified, only code scanning alerts with this severity will be returned. */ + severity?: components["schemas"]["code-scanning-alert-severity"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "code-scanning/get-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "code-scanning/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + 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"]; + create_request?: components["schemas"]["code-scanning-alert-create-request"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-autofix": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-autofix"]; + }; + }; + 400: components["responses"]["code_scanning_bad_request"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/create-autofix": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-autofix"]; + }; + }; + /** @description Accepted */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-autofix"]; + }; + }; + 400: components["responses"]["code_scanning_bad_request"]; + 403: components["responses"]["code_scanning_autofix_create_forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/commit-autofix": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["code-scanning-autofix-commits"]; + }; + }; + responses: { + /** @description Created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-autofix-commits-response"]; + }; + }; + 400: components["responses"]["code_scanning_bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/list-alert-instances": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @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`. */ + ref?: components["parameters"]["git-ref"]; + /** @description The number of the pull request for the results you want to list. */ + pr?: components["parameters"]["pr-alias"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "code-scanning/list-recent-analyses": { + parameters: { + query?: { + /** @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["parameters"]["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["parameters"]["tool-guid"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The number of the pull request for the results you want to list. */ + pr?: components["parameters"]["pr-alias"]; + /** @description 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"]; + /** @description Filter analyses belonging to the same SARIF upload. */ + sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property by which to sort the results. */ + sort?: "created"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-analysis"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-analysis": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + 422: components["responses"]["unprocessable_analysis"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/delete-analysis": { + parameters: { + query?: { + /** @description 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; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "code-scanning/list-codeql-databases": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-codeql-database": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The language of the CodeQL database. */ + language: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"]; + }; + }; + 302: components["responses"]["found"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/delete-codeql-database": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The language of the CodeQL database. */ + language: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/create-variant-analysis": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + language: components["schemas"]["code-scanning-variant-analysis-language"]; + /** @description A Base64-encoded tarball containing a CodeQL query and all its dependencies */ + query_pack: string; + /** @description List of repository names (in the form `owner/repo-name`) to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repositories?: string[]; + /** @description List of repository lists to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repository_lists?: string[]; + /** @description List of organization or user names whose repositories the query should be run against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repository_owners?: string[]; + } & (unknown | unknown | unknown); + }; + }; + responses: { + /** @description Variant analysis submitted for processing */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unable to process variant analysis submission */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-variant-analysis": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the variant analysis. */ + codeql_variant_analysis_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-variant-analysis-repo-task": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the controller repository. */ + repo: string; + /** @description The ID of the variant analysis. */ + codeql_variant_analysis_id: number; + /** @description The account owner of the variant analysis repository. The name is not case sensitive. */ + repo_owner: string; + /** @description The name of the variant analysis repository. */ + repo_name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis-repo-task"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-default-setup": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-default-setup"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/update-default-setup": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["code-scanning-default-setup-update"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-default-setup-update-response"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["code_scanning_conflict"]; + 422: components["responses"]["code_scanning_invalid_state"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/upload-sarif": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref: components["schemas"]["code-scanning-ref-full"]; + 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; + /** @description Whether the SARIF file will be validated according to the code scanning specifications. + * This parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning. */ + validate?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; + }; + }; + /** @description Bad Request if the sarif field is invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** @description Payload Too Large if the sarif field is too large */ + 413: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-sarif": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SARIF ID obtained after uploading. */ + sarif_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-sarifs-status"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + /** @description Not Found if the sarif id does not match any upload */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-security/get-configuration-for-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-security-configuration-for-repository"]; + }; + }; + 204: components["responses"]["no_content"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/codeowners-errors": { + parameters: { + query?: { + /** @description 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; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codeowners-errors"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "codespaces/list-in-repository-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "codespaces/create-with-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @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; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "codespaces/list-devcontainers-in-repository-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + devcontainers: { + path: string; + name?: string; + display_name?: string; + }[]; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/repo-machines-for-authenticated-user": { + parameters: { + query?: { + /** @description The location to check for available machines. Assigned by IP if not provided. */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description The branch or commit to check for prebuild availability and devcontainer restrictions. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "codespaces/pre-flight-with-repo-for-authenticated-user": { + parameters: { + query?: { + /** @description The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ + ref?: string; + /** @description An alternative IP for default location auto-detection, such as when proxying a request. */ + client_ip?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when a user is able to create codespaces from the repository. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "codespaces/check-permissions-for-devcontainer": { + parameters: { + query: { + /** @description The git reference that points to the location of the devcontainer configuration to use for the permission check. The value of `ref` will typically be a branch name (`heads/BRANCH_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: string; + /** @description Path to the devcontainer.json configuration to use for the permission check. */ + devcontainer_path: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when the permission check is successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-permissions-check-for-devcontainer"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "codespaces/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["repo-codespaces-secret"][]; + }; + }; + }; + }; + }; + "codespaces/get-repo-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; + }; + "codespaces/get-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repo-codespaces-secret"]; + }; + }; + }; + }; + "codespaces/create-or-update-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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 a repository public key](https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "codespaces/delete-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-collaborators": { + parameters: { + query?: { + /** @description 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"; + /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ + permission?: "pull" | "triage" | "push" | "maintain" | "admin"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["collaborator"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/check-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if user is a collaborator */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if user is not a collaborator */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/add-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. + * @default push + */ + permission?: string; + }; + }; + }; + responses: { + /** @description Response when a new invitation is created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + /** @description 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: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Response when: + * - validation failed, or the endpoint has been spammed + * - an Enterprise Managed User (EMU) account was invited to a repository in an enterprise with personal user accounts */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + }; + }; + "repos/remove-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when collaborator was removed from the repository. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-collaborator-permission-level": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if user has admin permissions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-collaborator-permission"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/list-commit-comments-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + "repos/get-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/list-for-commit-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a commit comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the commit comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-commits": { + parameters: { + query?: { + /** @description SHA or branch to start listing commits from. Default: the repository’s default branch (usually `main`). */ + sha?: string; + /** @description Only commits containing this file path will be returned. */ + path?: string; + /** @description GitHub username or email address to use to filter by commit author. */ + author?: string; + /** @description GitHub username or email address to use to filter by commit committer. */ + committer?: string; + /** @description Only show results that were last 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`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ + since?: string; + /** @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`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ + until?: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/list-branches-for-head-commit": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-short"][]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-comments-for-commit": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + "repos/create-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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 **Closing down notice**. Use **position** parameter instead. Line number in the file to comment on. */ + line?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-pull-requests-associated-with-commit": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "repos/get-commit": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "checks/list-for-ref": { + parameters: { + query?: { + /** @description Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** @description Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + app_id?: number; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + "checks/list-suites-for-ref": { + parameters: { + query?: { + /** + * @description Filters check suites by GitHub App `id`. + * @example 1 + */ + app_id?: number; + /** @description Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + check_suites: components["schemas"]["check-suite"][]; + }; + }; + }; + }; + }; + "repos/get-combined-status-for-ref": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["combined-commit-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/list-commit-statuses-for-ref": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + }; + }; + "repos/get-community-profile-metrics": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["community-profile"]; + }; + }; + }; + }; + "repos/compare-commits": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`. */ + basehead: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "repos/get-content": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/vnd.github.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"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-or-update-file-contents": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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. */ + 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; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/delete-file": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The blob SHA of the file being deleted. */ + sha: string; + /** @description The branch name. Default: the repository’s default branch */ + 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; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "repos/list-contributors": { + parameters: { + query?: { + /** @description Set to `1` or `true` to include anonymous contributors in results. */ + anon?: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If repository contains content */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["contributor"][]; + }; + }; + /** @description Response if repository is empty */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/list-alerts-for-repo": { + parameters: { + query?: { + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + manifest?: components["parameters"]["dependabot-alert-comma-separated-manifests"]; + /** @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: + * - An exact number (`n`) + * - Comparators such as `>n`, `=n`, `<=n` + * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 + * + * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. */ + epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; + /** @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. + * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. */ + has?: components["parameters"]["dependabot-alert-comma-separated-has"]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** + * @deprecated + * @description **Closing down notice**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead. + */ + page?: number; + /** + * @deprecated + * @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + first?: components["parameters"]["pagination-first"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + last?: components["parameters"]["pagination-last"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "dependabot/get-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the Dependabot alert. + * A `dismissed_reason` must be provided when setting the state to `dismissed`. + * @enum {string} + */ + state: "dismissed" | "open"; + /** + * @description **Required when `state` is `dismissed`.** A reason for dismissing the alert. + * @enum {string} + */ + dismissed_reason?: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk"; + /** @description An optional comment associated with dismissing the alert. */ + dismissed_comment?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "dependabot/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["dependabot-secret"][]; + }; + }; + }; + }; + }; + "dependabot/get-repo-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; + }; + "dependabot/get-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-secret"]; + }; + }; + }; + }; + "dependabot/create-or-update-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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 a repository public key](https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "dependabot/delete-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "dependency-graph/diff-range": { + parameters: { + query?: { + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + name?: components["parameters"]["manifest-path"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description 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; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependency-graph-diff"]; + }; + }; + 403: components["responses"]["dependency_review_forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependency-graph/export-sbom": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependency-graph-spdx-sbom"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependency-graph/create-repository-snapshot": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["snapshot"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + 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; + }; + }; + }; + }; + }; + "repos/list-deployments": { + parameters: { + query?: { + /** @description The SHA recorded at creation time. */ + sha?: string; + /** @description The name of the ref. This can be a branch, tag, or SHA. */ + ref?: string; + /** @description The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ + task?: string; + /** @description The name of the environment that was deployed to (e.g., `staging` or `production`). */ + environment?: string | null; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + }; + "repos/create-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The ref to deploy. This can be a branch, tag, or SHA. */ + ref: string; + /** + * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + * @default deploy + */ + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + /** @description Merged branch response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Conflict when there is a merge conflict or the commit's status checks failed */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "repos/list-deployment-statuses": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-status"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-deployment-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @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`. If not defined, the environment of the previous status on the deployment will be used, if it exists. Otherwise, the environment of the deployment will be used. */ + environment?: string; + /** + * @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deployment-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + status_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-dispatch-event": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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. The maximum number of top-level properties is 10. The total size of the JSON payload must be less than 64KB. */ + client_payload?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-all-environments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The number of environments in this repository + * @example 5 + */ + total_count?: number; + environments?: components["schemas"]["environment"][]; + }; + }; + }; + }; + }; + "repos/get-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + }; + }; + "repos/create-or-update-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + wait_timer?: components["schemas"]["wait-timer"]; + prevent_self_review?: components["schemas"]["prevent-self-review"]; + /** @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-settings"]; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + /** @description 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: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "repos/delete-an-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-deployment-branch-policies": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The number of deployment branch policies for the environment. + * @example 2 + */ + total_count: number; + branch_policies: components["schemas"]["deployment-branch-policy"][]; + }; + }; + }; + }; + }; + "repos/create-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern-with-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + /** @description Response if the same branch name pattern already exists */ + 303: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the branch policy. */ + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + }; + }; + "repos/update-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the branch policy. */ + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + }; + }; + "repos/delete-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the branch policy. */ + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-all-deployment-protection-rules": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of deployment protection rules */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The number of enabled custom deployment protection rules for this environment + * @example 10 + */ + total_count?: number; + custom_deployment_protection_rules?: components["schemas"]["deployment-protection-rule"][]; + }; + }; + }; + }; + }; + "repos/create-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The ID of the custom app that will be enabled on the environment. */ + integration_id?: number; + }; + }; + }; + responses: { + /** @description The enabled custom deployment protection rule */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-protection-rule"]; + }; + }; + }; + }; + "repos/list-custom-deployment-rule-integrations": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A list of custom deployment rule integrations available for this environment. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The total number of custom deployment protection rule integrations available for this environment. + * @example 35 + */ + total_count?: number; + available_custom_deployment_protection_rule_integrations?: components["schemas"]["custom-deployment-rule-app"][]; + }; + }; + }; + }; + }; + "repos/get-custom-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the protection rule. */ + protection_rule_id: components["parameters"]["protection-rule-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-protection-rule"]; + }; + }; + }; + }; + "repos/disable-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The unique identifier of the protection rule. */ + protection_rule_id: components["parameters"]["protection-rule-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-environment-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + "actions/get-environment-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + "actions/get-environment-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + "actions/create-or-update-environment-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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 environment public key](https://docs.github.com/rest/actions/secrets#get-an-environment-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/delete-environment-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/list-environment-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; + }; + "actions/create-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + "actions/get-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-variable"]; + }; + }; + }; + }; + "actions/delete-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "actions/update-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "activity/list-repo-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "repos/list-forks": { + parameters: { + query?: { + /** @description The sort order. `stargazers` will sort by star count. */ + sort?: "newest" | "oldest" | "stargazers" | "watchers"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 400: components["responses"]["bad_request"]; + }; + }; + "repos/create-fork": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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; + /** @description When forking from an existing repository, fork with only the default branch. */ + default_branch_only?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "git/create-blob": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["short-blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["repository-rule-violation-error"]; + }; + }; + }; + }; + "git/get-blob": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + file_sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/create-commit": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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 full 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/get-commit": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "git/list-matching-refs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** + * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"][]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "git/get-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** + * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "git/create-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/delete-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** + * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 409: components["responses"]["conflict"]; + /** @description Validation failed, an attempt was made to delete the default branch, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "git/update-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** + * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + ref: components["parameters"]["git-ref-only"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/create-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/get-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + tag_sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "git/create-tree": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/get-tree": { + parameters: { + query?: { + /** @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. */ + recursive?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA1 value or ref (branch or tag) name of the tree. */ + tree_sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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. */ + 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; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/hooks/12345678 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + config?: components["schemas"]["webhook-config"]; + /** + * @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-webhook-config-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "repos/update-webhook-config-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: 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"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + "repos/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @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?: components["parameters"]["cursor"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/redeliver-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/ping-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/test-push-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/get-import-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/start-import": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/spraints/socm/import */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/cancel-import": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/update-import": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/get-commit-authors": { + parameters: { + query?: { + /** @description A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["porter-author"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/map-commit-author": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + author_id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The new Git author email. */ + email?: string; + /** @description The new Git author name. */ + name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["porter-author"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/get-large-files": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["porter-large-file"][]; + }; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/set-lfs-preference": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @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"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "apps/get-repo-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + "interactions/get-restrictions-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"] | Record; + }; + }; + }; + }; + "interactions/set-restrictions-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + /** @description Response */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "interactions/remove-restrictions-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + }; + }; + "repos/delete-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/update-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @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"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + }; + }; + "issues/list-for-repo": { + parameters: { + query?: { + /** @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. */ + milestone?: string; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description 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; + /** @description Can be the name of an issue type. If the string `*` is passed, issues with any type are accepted. If the string `none` is passed, issues without type are returned. */ + type?: string; + /** @description The user that created the issue. */ + creator?: string; + /** @description A user that's mentioned in the issue. */ + mentioned?: string; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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 closing down.**_ */ + 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[]; + /** + * @description The name of the issue type to associate with this issue. _NOTE: Only users with push access can set the type for new issues. The type is silently dropped otherwise._ + * @example Epic + */ + type?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "issues/list-comments-for-repo": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description Either `asc` or `desc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/update-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/list-for-issue-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-issue-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-issue-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/list-events-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-event"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-event": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + event_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-event"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "issues/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the issue. */ + title?: (string | number) | null; + /** @description The contents of the issue. */ + body?: string | null; + /** @description Username to assign to this issue. **This field is closing down.** */ + assignee?: string | null; + /** + * @description The open or closed state of the issue. + * @enum {string} + */ + state?: "open" | "closed"; + /** + * @description The reason for the state change. Ignored unless `state` is changed. + * @example not_planned + * @enum {string|null} + */ + state_reason?: "completed" | "not_planned" | "duplicate" | "reopened" | null; + 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. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped. */ + labels?: (string | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + })[]; + /** @description Usernames 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. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped. */ + assignees?: string[]; + /** + * @description The name of the issue type to associate with this issue or use `null` to remove the current issue type. Only users with push access can set the type for issues. Without push access to the repository, type changes are silently dropped. + * @example Epic + */ + type?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "issues/add-assignees": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + 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[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + }; + "issues/remove-assignees": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + }; + "issues/check-user-can-be-assigned-to-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + assignee: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if `assignee` can be assigned to `issue_number` */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if `assignee` can not be assigned to `issue_number` */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "issues/list-comments": { + parameters: { + query?: { + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/create-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/list-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-event-for-issue"][]; + }; + }; + 410: components["responses"]["gone"]; + }; + }; + "issues/list-labels-on-issue": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/set-labels": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + 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/issues/labels#add-labels-to-an-issue)." */ + labels?: string[]; + } | string[] | { + labels?: { + name: string; + }[]; + } | { + name: string; + }[] | string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/add-labels": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "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/issues/labels#set-labels-for-an-issue)." */ + labels?: string[]; + } | string[] | { + labels?: { + name: string; + }[]; + } | { + name: string; + }[] | string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/remove-all-labels": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/remove-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/lock": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "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; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/unlock": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/list-for-issue": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "reactions/create-for-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/remove-sub-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the sub-issue to remove */ + sub_issue_id: number; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/1/sub-issue */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "issues/list-sub-issues": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/add-sub-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the sub-issue to add. The sub-issue must belong to the same repository owner as the parent issue */ + sub_issue_id: number; + /** @description Option that, when true, instructs the operation to replace the sub-issues current parent issue */ + replace_parent?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/sub-issues/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/reprioritize-sub-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the sub-issue to reprioritize */ + sub_issue_id: number; + /** @description The id of the sub-issue to be prioritized after (either positional argument after OR before should be specified). */ + after_id?: number; + /** @description The id of the sub-issue to be prioritized before (either positional argument after OR before should be specified). */ + before_id?: number; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "issues/list-events-for-timeline": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["timeline-issue-events"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "repos/list-deploy-keys": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deploy-key"][]; + }; + }; + }; + }; + "repos/create-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/list-labels-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/labels/bug */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/update-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + }; + }; + "repos/list-languages": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["language"]; + }; + }; + }; + }; + "licenses/get-for-repo": { + parameters: { + query?: { + /** @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`. */ + ref?: components["parameters"]["git-ref"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/merge-upstream": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the branch which should be updated to match upstream. */ + branch: string; + }; + }; + }; + responses: { + /** @description The branch has been successfully synced with the upstream repository */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["merged-upstream"]; + }; + }; + /** @description The branch could not be synced because of a merge conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description The branch could not be synced for some other reason */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/merge": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Successful Response (The resulting merge commit) */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + /** @description Response when already merged */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found when the base or head does not exist */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when there is a merge conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/list-milestones": { + parameters: { + query?: { + /** @description The state of the milestone. Either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** @description What to sort results by. Either `due_on` or `completeness`. */ + sort?: "due_on" | "completeness"; + /** @description The direction of the sort. Either `asc` or `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/update-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + }; + }; + "issues/list-labels-for-milestone": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + }; + }; + "activity/list-repo-notifications-for-authenticated-user": { + parameters: { + query?: { + /** @description If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** @description Only show results that were last 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"]; + /** @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?: components["parameters"]["before"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + }; + }; + "activity/mark-repo-notifications-as-read": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + /** @description Reset Content */ + 205: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-pages": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-information-about-pages-site": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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/pages/configuring-a-custom-domain-for-your-github-pages-site)." */ + cname?: string | null; + /** @description Specify whether HTTPS should be enforced for the repository. */ + https_enforced?: boolean; + /** + * @description The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + source?: ("gh-pages" | "master" | "master /docs") | { + /** @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"; + }; + } | unknown | unknown | unknown | unknown | unknown; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 400: components["responses"]["bad_request"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/create-pages-site": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": ({ + /** + * @description The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + /** @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"; + }; + } | unknown | unknown) | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/delete-pages-site": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-pages-builds": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build"][]; + }; + }; + }; + }; + "repos/request-pages-build": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build-status"]; + }; + }; + }; + }; + "repos/get-latest-pages-build": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + "repos/get-pages-build": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + build_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + "repos/create-pages-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The ID of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ + artifact_id?: number; + /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ + artifact_url?: string; + /** + * @description The target environment for this GitHub Pages deployment. + * @default github-pages + */ + environment?: string; + /** + * @description A unique string that represents the version of the build for this deployment. + * @default GITHUB_SHA + */ + pages_build_version: string; + /** @description The OIDC token issued by GitHub Actions certifying the origin of the deployment. */ + oidc_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-deployment"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-pages-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + pages_deployment_id: components["parameters"]["pages-deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pages-deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/cancel-pages-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + pages_deployment_id: components["parameters"]["pages-deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-pages-health-check": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pages-health-check"]; + }; + }; + /** @description Empty response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Custom domains are not available for GitHub Pages */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description There isn't a CNAME for this page */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/check-private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Private vulnerability reporting status */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Whether or not private vulnerability reporting is enabled for the repository. */ + enabled: boolean; + }; + }; + }; + 422: components["responses"]["bad_request"]; + }; + }; + "repos/enable-private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + "repos/disable-private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + "projects/list-for-repo": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + 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"]; + }; + }; + "projects/create-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "repos/get-custom-properties-values": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["custom-property-value"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-or-update-custom-properties-values": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of custom property names and associated values to apply to the repositories. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/list": { + parameters: { + query?: { + /** @description Either `open`, `closed`, or `all` to filter by state. */ + state?: "open" | "closed" | "all"; + /** @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`. */ + head?: string; + /** @description Filter pulls by base branch name. Example: `gh-pages`. */ + base?: string; + /** @description What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** @description The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the new pull request. Required unless `issue` is specified. */ + title?: 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`. */ + head: string; + /** + * Format: repo.nwo + * @description The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization. + * @example octo-org/octo-repo + */ + head_repo?: 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/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ + draft?: boolean; + /** + * Format: int64 + * @description An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. + * @example 1 + */ + issue?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/list-review-comments-for-repo": { + parameters: { + query?: { + sort?: "created" | "updated" | "created_at"; + /** @description The direction to sort results. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + "pulls/get-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/delete-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/update-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the reply to the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + }; + }; + "reactions/list-for-pull-request-review-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a pull request review comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-pull-request-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the pull request review comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-pull-request-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "pulls/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Pass the appropriate [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 406: components["responses"]["unacceptable"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/create-with-pr-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @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; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/list-review-comments": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description The direction to sort results. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + "pulls/create-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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 closing down. 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. 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. + */ + 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/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** @description **Required unless using `subject_type:file`**. 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/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/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; + /** + * @description The level at which the comment is targeted. + * @enum {string} + */ + subject_type?: "line" | "file"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/create-reply-for-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/list-commits": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + }; + }; + "pulls/list-files": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["diff-entry"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/check-if-merged": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if pull request has been merged */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if pull request has not been merged */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "pulls/merge": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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 The merge method to use. + * @enum {string} + */ + merge_method?: "merge" | "squash" | "rebase"; + } | null; + }; + }; + responses: { + /** @description if merge was successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-merge-result"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Method Not Allowed if merge cannot be performed */ + 405: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Conflict if sha was provided and pull request head did not match */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/list-requested-reviewers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-request"]; + }; + }; + }; + }; + "pulls/request-reviewers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + 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[]; + } | unknown | unknown; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Unprocessable Entity if user is not a collaborator */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "pulls/remove-requested-reviewers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + 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[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/list-reviews": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The list of reviews returns in chronological order. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"][]; + }; + }; + }; + }; + "pulls/create-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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/pulls/reviews#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. 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. */ + 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; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/get-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/update-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/delete-pending-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/list-comments-for-review": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["review-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/dismiss-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The message for the pull request review dismissal */ + message: string; + /** + * @example "DISMISS" + * @enum {string} + */ + event?: "DISMISS"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/submit-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/update-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + 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/commits/commits#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; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-readme": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-readme-in-directory": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The alternate path to look for a README file */ + dir: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-releases": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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. */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** + * @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; + /** + * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} + */ + make_latest?: "true" | "false" | "legacy"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Not Found if the discussion category name is invalid */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-release-asset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + 302: components["responses"]["found"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-release-asset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/update-release-asset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + }; + }; + "repos/generate-release-notes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Name and body of generated release notes */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-notes-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-latest-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + }; + }; + "repos/get-release-by-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description tag parameter */ + tag: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/delete-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/update-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + 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. */ + 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 Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} + */ + make_latest?: "true" | "false" | "legacy"; + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Not Found if the discussion category name is invalid */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "repos/list-release-assets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"][]; + }; + }; + }; + }; + "repos/upload-release-asset": { + parameters: { + query: { + name: string; + label?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/octet-stream": string; + }; + }; + responses: { + /** @description Response for successful upload */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + /** @description Response if you upload an asset with the same filename as another uploaded asset */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "reactions/list-for-release": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a release. */ + content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the release. + * @enum {string} + */ + content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-branch-rules": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-rule-detailed"][]; + }; + }; + }; + }; + "repos/get-repo-rulesets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Include rulesets configured at higher levels that apply to this repository */ + includes_parents?: boolean; + /** @description A comma-separated list of rule targets to filter by. + * If provided, only rulesets that apply to the specified targets will be returned. + * For example, `branch,tag,push`. + * */ + targets?: components["parameters"]["ruleset-targets"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/create-repo-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name: string; + /** + * @description The target of the ruleset + * @default branch + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["repository-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-rule-suites": { + parameters: { + query?: { + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ + ref?: components["parameters"]["ref-in-query"]; + /** @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for rule suites that occurred in the past 7 days (168 hours). */ + time_period?: components["parameters"]["time-period"]; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + actor_name?: components["parameters"]["actor-name-in-query"]; + /** @description The rule suite results to filter on. When specified, only suites with this result will be returned. */ + rule_suite_result?: components["parameters"]["rule-suite-result"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suites"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-rule-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. */ + rule_suite_id: components["parameters"]["rule-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suite"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-ruleset": { + parameters: { + query?: { + /** @description Include rulesets configured at higher levels that apply to this repository */ + includes_parents?: boolean; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/update-repo-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody?: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name?: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + enforcement?: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["repository-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/delete-repo-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-ruleset-history": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ruleset-version"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-ruleset-version": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + /** @description The ID of the version */ + version_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ruleset-version-with-state"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "secret-scanning/list-alerts-for-repo": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** @description A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** @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`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** @description 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"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). 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"]; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + validity?: components["parameters"]["secret-scanning-alert-validity"]; + /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ + is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; + /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ + is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; + /** @description A boolean value representing whether or not to hide literal secrets in the results. */ + hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-alert"][]; + }; + }; + /** @description Repository is public or secret scanning is disabled for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/get-alert": { + parameters: { + query?: { + /** @description A boolean value representing whether or not to hide literal secrets in the results. */ + hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description State does not match the resolution or resolution comment */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/list-locations-for-alert": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @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["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-location"][]; + }; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/create-push-protection-bypass": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-push-protection-bypass"]; + }; + }; + /** @description User does not have enough permissions to perform this action. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Placeholder ID not found, or push protection is disabled on this repository. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request, input data missing or incorrect. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/get-scan-history": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-scan-history"]; + }; + }; + /** @description Repository does not have GitHub Advanced Security or secret scanning enabled */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "security-advisories/list-repository-advisories": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "published"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description Filter by state of the repository advisories. Only advisories of this state will be returned. */ + state?: "triage" | "draft" | "published" | "closed"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "security-advisories/create-repository-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["repository-advisory-create"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "security-advisories/create-private-vulnerability-report": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["private-vulnerability-report-create"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "security-advisories/get-repository-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "security-advisories/update-repository-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["repository-advisory-update"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + }; + }; + "security-advisories/create-repository-advisory-cve-request": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "security-advisories/create-fork": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "activity/list-stargazers-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][] | components["schemas"]["stargazer"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-code-frequency-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + /** @description Repository contains more than 10,000 commits */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-commit-activity-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + "repos/get-contributors-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["contributor-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + "repos/get-participation-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The array order is oldest week (index 0) to most recent week. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["participation-stats"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-punch-card-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @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. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 204: components["responses"]["no_content"]; + }; + }; + "repos/create-commit-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + sha: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @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 | null; + /** @description A short description of the status. */ + description?: string | null; + /** + * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. + * @default default + */ + context?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status"]; + }; + }; + }; + }; + "activity/list-watchers-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "activity/get-repo-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if you subscribe to the repository */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if you don't subscribe to the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "activity/set-repo-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + }; + }; + "activity/delete-repo-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-tags": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tag"][]; + }; + }; + }; + }; + "repos/list-tag-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tag-protection"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-tag-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An optional glob pattern to match against when enforcing tag protection. */ + pattern: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tag-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-tag-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the tag protection. */ + tag_protection_id: components["parameters"]["tag-protection-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/download-tarball-archive": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + ref: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/list-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-all-topics": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/replace-all-topics": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "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` will be saved as lowercase. */ + names: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "repos/get-clones": { + parameters: { + query?: { + /** @description The time frame to display results for. */ + per?: components["parameters"]["per"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["clone-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-top-paths": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["content-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-top-referrers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["referrer-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-views": { + parameters: { + query?: { + /** @description The time frame to display results for. */ + per?: components["parameters"]["per"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["view-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/transfer": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The username or organization name the repository will be transferred to. */ + new_owner: string; + /** @description The new name to be given to the repository. */ + new_name?: 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[]; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"]; + }; + }; + }; + }; + "repos/check-vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if repository is enabled with vulnerability alerts */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if repository is not enabled with vulnerability alerts */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/enable-vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/disable-vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/download-zipball-archive": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + ref: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/create-using-template": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the template repository. The name is not case sensitive. */ + template_owner: string; + /** @description The name of the template repository without the `.git` extension. The name is not case sensitive. */ + template_repo: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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; + /** + * @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 + */ + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + }; + }; + "repos/list-public": { + parameters: { + query?: { + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + since?: components["parameters"]["since-repo"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "search/code": { + parameters: { + query: { + /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; + /** + * @deprecated + * @description **This field is closing down.** 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/search/search#ranking-search-results) + */ + sort?: "indexed"; + /** + * @deprecated + * @description **This field is closing down.** 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 number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "search/commits": { + parameters: { + query: { + /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; + /** @description Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "author-date" | "committer-date"; + /** @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?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["commit-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "search/issues-and-pull-requests": { + parameters: { + query: { + /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; + /** @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/search/search#ranking-search-results) */ + sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; + /** @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?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Set to `true` to use advanced search. + * Example: `http://api.github.com/search/issues?q={query}&advanced_search=true` */ + advanced_search?: components["parameters"]["issues-advanced-search"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["issue-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "search/labels": { + parameters: { + query: { + /** @description The id of the repository. */ + repository_id: number; + /** @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/search/search#constructing-a-search-query). */ + q: string; + /** @description Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "created" | "updated"; + /** @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?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "search/repos": { + parameters: { + query: { + /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; + /** @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/search/search#ranking-search-results) */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + /** @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?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["repo-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "search/topics": { + parameters: { + query: { + /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ + q: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["topic-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "search/users": { + parameters: { + query: { + /** @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 the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/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; + /** @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/search/search#ranking-search-results) */ + sort?: "followers" | "repositories" | "joined"; + /** @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?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["user-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "teams/get-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/delete-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/update-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + 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. 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 The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description **Closing down notice**. 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; + }; + }; + }; + responses: { + /** @description Response when the updated information already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/list-discussions-legacy": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + "teams/create-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + "teams/get-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + "teams/delete-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/update-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + "teams/list-discussion-comments-legacy": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + "teams/create-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + "teams/get-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + "teams/delete-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/update-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + "reactions/list-for-team-discussion-comment-legacy": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + "reactions/create-for-team-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + "reactions/list-for-team-discussion-legacy": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + "reactions/create-for-team-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + "teams/list-pending-invitations-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + "teams/list-members-legacy": { + parameters: { + query?: { + /** @description Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/get-member-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if user is a member */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description if user is not a member */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/add-member-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if team synchronization is set up */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description 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: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/remove-member-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if team synchronization is setup */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/get-membership-for-user-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/add-or-update-membership-for-user-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/remove-membership-for-user-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/list-projects-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/check-permissions-for-project-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** @description Not Found if project is not managed by this team */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/add-or-update-project-permissions-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + 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 method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if the project is not owned by the organization */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/remove-project-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/list-repos-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/check-permissions-for-repo-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Alternative response with extra repository information */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description Response if repository is managed by this team */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if repository is not managed by this team */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/add-or-update-repo-permissions-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + 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"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/remove-repo-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "teams/list-child-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if child teams exist */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-authenticated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/update-authenticated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "users/list-blocked-by-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "users/check-blocked": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If the user is blocked */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description If the user is not blocked */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "users/block": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "users/unblock": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description ID of the Repository to filter on */ + repository_id?: components["parameters"]["repository-id-in-query"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "codespaces/create-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Repository id for this codespace */ + repository_id: number; + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @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 The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @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; + }; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "codespaces/list-secrets-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-secret"][]; + }; + }; + }; + }; + }; + "codespaces/get-public-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-user-public-key"]; + }; + }; + }; + }; + "codespaces/get-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-secret"]; + }; + }; + }; + }; + "codespaces/create-or-update-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: 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 the public key for the authenticated user](https://docs.github.com/rest/codespaces/secrets#get-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/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids?: (number | string)[]; + }; + }; + }; + responses: { + /** @description Response after successfully creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response after successfully updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/delete-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "codespaces/list-repositories-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/set-repositories-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @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/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description No Content when repositories were added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/add-repository-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/remove-repository-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/get-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "codespaces/delete-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + 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"]; + }; + }; + "codespaces/update-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @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[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/export-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "codespaces/get-export-details-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + export_id: components["parameters"]["export-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/codespace-machines-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "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"]; + }; + }; + "codespaces/publish-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the new repository. */ + name?: string; + /** + * @description Whether the new repository should be private. + * @default false + */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace-with-full-repository"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/start-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + /** @description Payment required */ + 402: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/stop-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + 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"]; + }; + }; + "packages/list-docker-migration-conflicting-packages-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + }; + }; + "users/set-primary-email-visibility-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Denotes whether an email is publicly visible. + * @enum {string} + */ + visibility: "public" | "private"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/list-emails-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/add-email-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "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[]; + } | string[] | string; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/delete-email-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Email addresses associated with the GitHub user account. */ + emails: string[]; + } | string[] | string; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "users/list-followers-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/list-followed-by-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/check-person-is-followed-by-authenticated": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if the person is followed by the authenticated user */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description if the person is not followed by the authenticated user */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "users/follow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "users/unfollow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/list-gpg-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/create-gpg-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A descriptive name for the new key. */ + name?: string; + /** @description A GPG key in ASCII-armored format. */ + armored_public_key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-gpg-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-gpg-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "apps/list-installations-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description You can find the permissions for the installation under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "apps/list-installation-repos-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The access the user has to each repository is included in the hash under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repository_selection?: string; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/add-repo-to-installation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/remove-repo-from-installation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Returned when the application is installed on `all` repositories in the organization, or if this request would remove the last repository that the application has access to in the organization. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "interactions/get-restrictions-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"] | Record; + }; + }; + /** @description Response when there are no restrictions */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "interactions/set-restrictions-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "interactions/remove-restrictions-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "issues/list-for-authenticated-user": { + parameters: { + query?: { + /** @description 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"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/list-public-ssh-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/create-public-ssh-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. */ + key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-public-ssh-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-public-ssh-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-subscriptions-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-subscriptions-for-authenticated-user-stubbed": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + "orgs/list-memberships-for-authenticated-user": { + parameters: { + query?: { + /** @description Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ + state?: "active" | "pending"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state that the membership should be in. Only `"active"` will be accepted. + * @enum {string} + */ + state: "active"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "migrations/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "migrations/start-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Lock the repositories being migrated at the start of the migration + * @example true + */ + lock_repositories?: boolean; + /** + * @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; + /** + * @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[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "migrations/get-status-for-authenticated-user": { + parameters: { + query?: { + exclude?: string[]; + }; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/get-archive-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "migrations/delete-archive-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/unlock-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** @description repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/list-repos-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "packages/list-packages-for-authenticated-user": { + parameters: { + query: { + /** @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 selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + visibility?: components["parameters"]["package-visibility"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + }; + }; + "packages/get-package-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + "packages/delete-package-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-for-authenticated-user": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { + parameters: { + query?: { + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-package-version-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + "packages/delete-package-version-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-version-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/create-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + 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; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "users/list-public-emails-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/list-for-authenticated-user": { + parameters: { + query?: { + /** @description Limit results to repositories with the specified visibility. */ + visibility?: "all" | "public" | "private"; + /** @description Comma-separated list of values. Can include: + * * `owner`: Repositories that are owned by the authenticated user. + * * `collaborator`: Repositories that the user has been added to as a collaborator. + * * `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; + /** @description 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"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description Only show repositories 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-repo-date"]; + /** @description Only show repositories 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-repo-date"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/create-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @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 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; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions?: 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 Whether the repository is initialized with a minimal README. + * @default false + */ + auto_init?: boolean; + /** + * @description The desired language or platform to apply to the .gitignore. + * @example Haskell + */ + gitignore_template?: string; + /** + * @description The license keyword of the open source license for this repository. + * @example mit + */ + license_template?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_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 Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads?: boolean; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-invitations-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/decline-invitation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "repos/accept-invitation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "users/list-social-accounts-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/add-social-account-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Full URLs for the social media profiles to add. + * @example [] + */ + account_urls: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/delete-social-account-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Full URLs for the social media profiles to delete. + * @example [] + */ + account_urls: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: 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"]; + }; + }; + "users/list-ssh-signing-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/create-ssh-signing-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ + key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-ssh-signing-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the SSH signing key. */ + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-ssh-signing-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the SSH signing key. */ + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-repos-starred-by-authenticated-user": { + parameters: { + query?: { + /** @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?: components["parameters"]["sort-starred"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"][]; + "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/check-repo-is-starred-by-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if this repository is starred by you */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if this repository is not starred by you */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "activity/star-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/unstar-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-watched-repos-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "teams/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/get-by-id": { + parameters: { + query?: never; + header?: never; + path: { + /** @description account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "users/list": { + parameters: { + query?: { + /** @description A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "users/get-by-username": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "users/list-attestations-bulk": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of subject digests to fetch attestations for. */ + subject_digests: string[]; + /** @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ + predicate_type?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Mapping of subject digest to bundles. */ + attestations_subject_digests?: { + [key: string]: { + /** @description The bundle of the attestation. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[] | null; + }; + /** @description Information about the current page. */ + page_info?: { + /** @description Indicates whether there is a next page. */ + has_next?: boolean; + /** @description Indicates whether there is a previous page. */ + has_previous?: boolean; + /** @description The cursor to the next page. */ + next?: string; + /** @description The cursor to the previous page. */ + previous?: string; + }; + }; + }; + }; + }; + }; + "users/delete-attestations-bulk": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of subject digests associated with the artifact attestations to delete. */ + subject_digests: string[]; + } | { + /** @description List of unique IDs associated with the artifact attestations to delete. */ + attestation_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-attestations-by-subject-digest": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Subject Digest */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-attestations-by-id": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Attestation ID */ + attestation_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/list-attestations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + after?: components["parameters"]["pagination-after"]; + /** @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. */ + predicate_type?: string; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Subject Digest */ + subject_digest: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + attestations?: { + /** @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[]; + }; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "packages/list-docker-migration-conflicting-packages-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/list-events-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "activity/list-org-events-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "activity/list-public-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "users/list-followers-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "users/list-following-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "users/check-following-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + target_user: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if the user follows the target user */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description if the user does not follow the target user */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "gists/list-for-user": { + parameters: { + query?: { + /** @description Only show results that were last 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"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/list-gpg-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + }; + }; + "users/get-context-for-user": { + parameters: { + query?: { + /** @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`. */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + /** @description Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ + subject_id?: string; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hovercard"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/get-user-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + "users/list-public-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key-simple"][]; + }; + }; + }; + }; + "orgs/list-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + "packages/list-packages-for-user": { + parameters: { + query: { + /** @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 selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + visibility?: components["parameters"]["package-visibility"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "packages/get-package-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; }; - Branch: { - branchId?: string | null; - branchAddress: string; - branchName: string; - branchPhone: string; - description?: string | null; - branchPicture?: string | null; - /** Format: time */ - openTime: string; - /** Format: time */ - closeTime: string; - openDay: string; - status: string; - courts?: components["schemas"]["Court"][] | null; - prices?: components["schemas"]["Price"][] | null; - reviews?: components["schemas"]["Review"][] | null; - }; - BranchDistance: { - branch?: components["schemas"]["Branch"]; - /** Format: double */ - distance?: number; - }; - BranchDistancePagingResponse: { - data?: components["schemas"]["BranchDistance"][] | null; - /** Format: int32 */ - total?: number; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"]; + }; + }; }; - BranchPagingResponse: { - data?: components["schemas"]["Branch"][] | null; - /** Format: int32 */ - total?: number; + }; + "packages/delete-package-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; }; - CheckBookingTypeFlexModel: { - bookingId?: string | null; - /** Format: int32 */ - numberOfSlot?: number; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - Court: { - courtId?: string | null; - branchId?: string | null; - courtName?: string | null; - courtPicture?: string | null; - status: string; - branch?: components["schemas"]["Branch"]; + }; + "packages/restore-package-for-user": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; }; - CourtModel: { - branchId: string; - courtName: string; - courtPicture?: string | null; - status: string; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - CourtPagingResponse: { - data?: components["schemas"]["Court"][] | null; - /** Format: int32 */ - total?: number; + }; + "packages/get-all-package-versions-for-package-owned-by-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; }; - DailyBookingResponse: { - /** Format: int32 */ - todayCount?: number; - /** Format: double */ - changePercentage?: number; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - ForgetPasswordModel: { - /** Format: email */ - email: string; + }; + "packages/get-package-version-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; }; - IdentityRole: { - id?: string | null; - name?: string | null; - normalizedName?: string | null; - concurrencyStamp?: string | null; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; }; - IdentityUser: { - id?: string | null; - userName?: string | null; - normalizedUserName?: string | null; - email?: string | null; - normalizedEmail?: string | null; - emailConfirmed?: boolean; - passwordHash?: string | null; - securityStamp?: string | null; - concurrencyStamp?: string | null; - phoneNumber?: string | null; - phoneNumberConfirmed?: boolean; - twoFactorEnabled?: boolean; - /** Format: date-time */ - lockoutEnd?: string | null; - lockoutEnabled?: boolean; - /** Format: int32 */ - accessFailedCount?: number; - }; - IdentityUserPagingResponse: { - data?: components["schemas"]["IdentityUser"][] | null; - /** Format: int32 */ - total?: number; + }; + "packages/delete-package-version-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; }; - LocationModel: { - /** Format: double */ - latitude?: number; - /** Format: double */ - longitude?: number; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - LoginModel: { - /** Format: email */ - email: string; - password: string; + }; + "packages/restore-package-version-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @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: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; }; - News: { - newId?: string | null; - title: string; - content: string; - /** Format: date-time */ - publicationDate: string; - image?: string | null; - status: string; - isHomepageSlideshow: boolean; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; - NewsPagingResponse: { - data?: components["schemas"]["News"][] | null; - /** Format: int32 */ - total?: number; + }; + "projects/list-for-user": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; }; - Payment: { - paymentId?: string | null; - bookingId?: string | null; - /** Format: double */ - paymentAmount: number; - /** Format: date-time */ - paymentDate: string; - paymentMessage?: string | null; - paymentStatus: string; - paymentSignature?: string | null; - booking?: components["schemas"]["Booking"]; - }; - PaymentPagingResponse: { - data?: components["schemas"]["Payment"][] | null; - /** Format: int32 */ - total?: number; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed"]; }; - Price: { - priceId?: string | null; - branchId?: string | null; - type?: string | null; - isWeekend?: boolean | null; - /** Format: double */ - slotPrice: number; - branch?: components["schemas"]["Branch"]; - }; - PriceModel: { - branchId?: string | null; - type?: string | null; - isWeekend?: boolean | null; - /** Format: double */ - slotPrice: number; - }; - PutUserDetail: { - fullName: string; - userName?: string | null; - address?: string | null; - profilePicture?: string | null; - /** Format: int32 */ - yearOfBirth?: number | null; - phoneNumber?: string | null; - }; - QRCheckInModel: { - qrCodeData?: string | null; - }; - RefreshTokenModel: { - token?: string | null; - refreshToken?: string | null; - }; - RegisterModel: { - fullName: string; - /** Format: email */ - email: string; - password: string; - confirmPassword: string; + }; + "activity/list-received-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; }; - ResetPasswordModel: { - /** Format: email */ - email: string; - token?: string | null; - password?: string | null; - /** Format: password */ - confirmPassword?: string | null; - }; - RevenueResponse: { - /** Format: double */ - revenue?: number; - /** Format: double */ - changePercentage?: number; - }; - Review: { - reviewId?: string | null; - reviewText?: string | null; - /** Format: date-time */ - reviewDate: string; - /** Format: int32 */ - rating?: number | null; - id?: string | null; - branchId?: string | null; - user?: components["schemas"]["IdentityUser"]; - branch?: components["schemas"]["Branch"]; - }; - ReviewModel: { - reviewText?: string | null; - /** Format: int32 */ - rating: number; - userId: string; - branchId: string; - }; - ReviewPagingResponse: { - data?: components["schemas"]["Review"][] | null; - /** Format: int32 */ - total?: number; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; }; - SingleSingleValueTuple: Record; - SlotCheckModel: { - branchId?: string | null; - /** Format: date */ - slotDate?: string; - timeSlot: components["schemas"]["TimeSlotModel"]; + }; + "activity/list-received-public-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; }; - SlotModel: { - courtId?: string | null; - branchId?: string | null; - /** Format: date */ - slotDate?: string; - timeSlot: components["schemas"]["TimeSlotModel"]; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; }; - TimeSlot: { - slotId?: string | null; - courtId?: string | null; - bookingId?: string | null; - /** Format: date */ - slotDate: string; - /** Format: double */ - price: number; - /** Format: time */ - slotStartTime: string; - /** Format: time */ - slotEndTime: string; - status: string; - /** Format: date-time */ - created_at?: string | null; - court?: components["schemas"]["Court"]; - booking?: components["schemas"]["Booking"]; + }; + "repos/list-for-user": { + parameters: { + query?: { + /** @description Limit results to repositories of the specified type. */ + type?: "all" | "owner" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; }; - TimeSlotModel: { - /** Format: date */ - slotDate?: string | null; - /** Format: time */ - slotStartTime: string; - /** Format: time */ - slotEndTime: string; - }; - UserDetail: { - userId?: string | null; - /** Format: double */ - balance?: number; - /** Format: double */ - point?: number | null; - fullName?: string | null; - address?: string | null; - profilePicture?: string | null; - /** Format: int32 */ - yearOfBirth?: number | null; - isVip?: boolean | null; - user?: components["schemas"]["IdentityUser"]; - }; - UserDetailsModel: { - /** Format: double */ - point?: number | null; - /** Format: double */ - balance?: number | null; - fullName: string; - address?: string | null; - profilePicture?: string | null; - /** Format: int32 */ - yearOfBirth?: number | null; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + "billing/get-github-actions-billing-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + "billing/get-github-packages-billing-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + "billing/get-shared-storage-billing-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + "billing/get-github-billing-usage-report-user": { + parameters: { + query?: { + /** @description If specified, only return results for a single year. The value of `year` is an integer with four digits representing a year. For example, `2025`. Default value is the current year. */ + year?: components["parameters"]["billing-usage-report-year"]; + /** @description If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the default `year` is used. */ + month?: components["parameters"]["billing-usage-report-month"]; + /** @description If specified, only return results for a single day. The value of `day` is an integer between `1` and `31`. If no `year` or `month` is specified, the default `year` and `month` are used. */ + day?: components["parameters"]["billing-usage-report-day"]; + /** @description If specified, only return results for a single hour. The value of `hour` is an integer between `0` and `23`. If no `year`, `month`, or `day` is specified, the default `year`, `month`, and `day` are used. */ + hour?: components["parameters"]["billing-usage-report-hour"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["billing_usage_report_user"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "users/list-social-accounts-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + }; + }; + "users/list-ssh-signing-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + }; + }; + "activity/list-repos-starred-by-user": { + parameters: { + query?: { + /** @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?: components["parameters"]["sort-starred"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["starred-repository"][] | components["schemas"]["repository"][]; + }; + }; + }; + }; + "activity/list-repos-watched-by-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: components["parameters"]["per-page"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + "meta/get-all-versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "meta/get-zen": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": string; + }; + }; + }; + }; } -export type $defs = Record; -export type operations = Record; diff --git a/packages/CourtBooking/src/routes/__root.tsx b/packages/CourtBooking/src/routes/__root.tsx index d225fa71..2d56fd12 100644 --- a/packages/CourtBooking/src/routes/__root.tsx +++ b/packages/CourtBooking/src/routes/__root.tsx @@ -8,10 +8,10 @@ import { } from '@tanstack/react-router'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import * as React from 'react'; -import type { QueryClient } from '@tanstack/react-query'; import appCss from '../../styles/app.css?url'; import { DefaultCatchBoundary } from '../components/DefaultCatchBoundary'; import { NotFound } from '../components/NotFound'; +import { QueryClient } from '@tanstack/react-query'; export const Route = createRootRouteWithContext<{ queryClient: QueryClient; @@ -33,18 +33,6 @@ export const Route = createRootRouteWithContext<{ sizes: '180x180', href: '/apple-touch-icon.png', }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/favicon-16x16.png', - }, ], }), errorComponent: (props) => { diff --git a/packages/CourtBooking/src/routes/index.tsx b/packages/CourtBooking/src/routes/index.tsx index c37d81d0..8ad79c3d 100644 --- a/packages/CourtBooking/src/routes/index.tsx +++ b/packages/CourtBooking/src/routes/index.tsx @@ -1,16 +1,26 @@ import { createFileRoute } from '@tanstack/react-router'; import { useGetQuery } from '../api/hook'; +import { useMemo } from 'react'; export const Route = createFileRoute('/')({ component: Home, }); function Home() { - const booking = useGetQuery('/api/Bookings/current-time', { - baseUrl: '/api', - }); - console.log('Current Booking Time:', booking); + console.log('Home Component Rendered'); + const gists = useGetQuery('/gists', { params: { query: { per_page: 5 } } }); + // console.log('Current gist Time:', gists.error); + if (gists.isLoading) { + return
{gists.status}
; + } + return (
+ {/* {gists.data?.map((gist) => ( +
  • + {gist.description || 'Untitled'} + {new Date(gist.created_at).toLocaleTimeString()} +
  • + ))} */}

    Welcome Home!!!

    ); From 4de61eca5247dbaeba87d1d97654a85904975ea6 Mon Sep 17 00:00:00 2001 From: ttd11204 Date: Wed, 16 Jul 2025 19:31:21 +0700 Subject: [PATCH 4/9] chore(init): reinitialize project with bun + vite + TanStack Router preset Replaced old manually-configured project due to conflicts between TanStack Start and TanStack Query. New setup using: - bun create vite - React + TanStack Router (file-based routing) - Tailwind CSS - ESLint + Shadcn UI components This provides a stable baseline and avoids versioning or integration issues seen with manual setup. --- packages/court-booking/.cta.json | 20 + packages/court-booking/.cursorrules | 7 + packages/court-booking/.gitignore | 12 + packages/court-booking/.prettierignore | 3 + packages/court-booking/.vscode/settings.json | 19 + packages/court-booking/README.md | 348 + packages/court-booking/bun.lock | 2528 ++++++++ packages/court-booking/certs/cert.pem | 22 + packages/court-booking/certs/key.pem | 28 + packages/court-booking/components.json | 22 + packages/court-booking/eslint.config.js | 5 + packages/court-booking/package.json | 73 + packages/court-booking/prettier.config.js | 14 + .../public/example-guitar-flowers.jpg | Bin 0 -> 641048 bytes .../public/example-guitar-motherboard.jpg | Bin 0 -> 662579 bytes .../public/example-guitar-racing.jpg | Bin 0 -> 323790 bytes .../public/example-guitar-steamer-trunk.jpg | Bin 0 -> 435128 bytes .../public/example-guitar-superhero.jpg | Bin 0 -> 789823 bytes .../public/example-guitar-traveling.jpg | Bin 0 -> 457520 bytes .../public/example-guitar-video-games.jpg | Bin 0 -> 263404 bytes packages/court-booking/public/favicon.ico | Bin 0 -> 3870 bytes packages/court-booking/public/logo192.png | Bin 0 -> 5347 bytes packages/court-booking/public/logo512.png | Bin 0 -> 9664 bytes packages/court-booking/public/manifest.json | 25 + packages/court-booking/public/robots.txt | 3 + packages/court-booking/src/api/client.ts | 23 + packages/court-booking/src/api/hook.ts | 145 + packages/court-booking/src/api/types.ts | 5770 +++++++++++++++++ .../court-booking/src/components/Header.tsx | 55 + .../src/components/demo.FormComponents.tsx | 174 + .../src/components/example-AIAssistant.tsx | 173 + .../example-GuitarRecommendation.tsx | 47 + .../src/components/ui/button.tsx | 59 + .../court-booking/src/components/ui/input.tsx | 21 + .../court-booking/src/components/ui/label.tsx | 24 + .../src/components/ui/select.tsx | 183 + .../src/components/ui/slider.tsx | 63 + .../src/components/ui/switch.tsx | 29 + .../src/components/ui/textarea.tsx | 18 + .../court-booking/src/data/demo-table-data.ts | 50 + .../court-booking/src/data/example-guitars.ts | 83 + packages/court-booking/src/demo.index.css | 220 + .../src/hooks/demo.form-context.ts | 4 + packages/court-booking/src/hooks/demo.form.ts | 22 + .../src/integrations/tanchat/header-user.tsx | 5 + .../integrations/tanstack-query/layout.tsx | 5 + .../tanstack-query/root-provider.tsx | 15 + packages/court-booking/src/lib/demo-store.ts | 13 + packages/court-booking/src/lib/utils.ts | 6 + packages/court-booking/src/logo.svg | 44 + packages/court-booking/src/routeTree.gen.ts | 357 + packages/court-booking/src/router.tsx | 32 + packages/court-booking/src/routes/__root.tsx | 67 + .../src/routes/api.demo-names.ts | 10 + .../court-booking/src/routes/api.messages.ts | 22 + packages/court-booking/src/routes/api.sse.ts | 41 + .../src/routes/demo.form.address.tsx | 200 + .../src/routes/demo.form.simple.tsx | 65 + .../src/routes/demo.start.api-request.tsx | 24 + .../src/routes/demo.start.server-funcs.tsx | 50 + .../court-booking/src/routes/demo.store.tsx | 64 + .../court-booking/src/routes/demo.table.tsx | 361 ++ .../src/routes/demo.tanstack-query.tsx | 25 + .../court-booking/src/routes/example.chat.tsx | 159 + .../src/routes/example.guitars/$guitarId.tsx | 50 + .../src/routes/example.guitars/index.tsx | 54 + packages/court-booking/src/routes/index.tsx | 39 + .../src/scripts/generate-types.ts | 7 + .../src/store/example-assistant.ts | 3 + packages/court-booking/src/styles.css | 138 + packages/court-booking/src/utils/demo.ai.ts | 72 + packages/court-booking/src/utils/demo.sse.ts | 29 + .../court-booking/src/utils/demo.tools.ts | 47 + packages/court-booking/tsconfig.json | 33 + packages/court-booking/vite.config.ts | 28 + 75 files changed, 12357 insertions(+) create mode 100644 packages/court-booking/.cta.json create mode 100644 packages/court-booking/.cursorrules create mode 100644 packages/court-booking/.gitignore create mode 100644 packages/court-booking/.prettierignore create mode 100644 packages/court-booking/.vscode/settings.json create mode 100644 packages/court-booking/README.md create mode 100644 packages/court-booking/bun.lock create mode 100644 packages/court-booking/certs/cert.pem create mode 100644 packages/court-booking/certs/key.pem create mode 100644 packages/court-booking/components.json create mode 100644 packages/court-booking/eslint.config.js create mode 100644 packages/court-booking/package.json create mode 100644 packages/court-booking/prettier.config.js create mode 100644 packages/court-booking/public/example-guitar-flowers.jpg create mode 100644 packages/court-booking/public/example-guitar-motherboard.jpg create mode 100644 packages/court-booking/public/example-guitar-racing.jpg create mode 100644 packages/court-booking/public/example-guitar-steamer-trunk.jpg create mode 100644 packages/court-booking/public/example-guitar-superhero.jpg create mode 100644 packages/court-booking/public/example-guitar-traveling.jpg create mode 100644 packages/court-booking/public/example-guitar-video-games.jpg create mode 100644 packages/court-booking/public/favicon.ico create mode 100644 packages/court-booking/public/logo192.png create mode 100644 packages/court-booking/public/logo512.png create mode 100644 packages/court-booking/public/manifest.json create mode 100644 packages/court-booking/public/robots.txt create mode 100644 packages/court-booking/src/api/client.ts create mode 100644 packages/court-booking/src/api/hook.ts create mode 100644 packages/court-booking/src/api/types.ts create mode 100644 packages/court-booking/src/components/Header.tsx create mode 100644 packages/court-booking/src/components/demo.FormComponents.tsx create mode 100644 packages/court-booking/src/components/example-AIAssistant.tsx create mode 100644 packages/court-booking/src/components/example-GuitarRecommendation.tsx create mode 100644 packages/court-booking/src/components/ui/button.tsx create mode 100644 packages/court-booking/src/components/ui/input.tsx create mode 100644 packages/court-booking/src/components/ui/label.tsx create mode 100644 packages/court-booking/src/components/ui/select.tsx create mode 100644 packages/court-booking/src/components/ui/slider.tsx create mode 100644 packages/court-booking/src/components/ui/switch.tsx create mode 100644 packages/court-booking/src/components/ui/textarea.tsx create mode 100644 packages/court-booking/src/data/demo-table-data.ts create mode 100644 packages/court-booking/src/data/example-guitars.ts create mode 100644 packages/court-booking/src/demo.index.css create mode 100644 packages/court-booking/src/hooks/demo.form-context.ts create mode 100644 packages/court-booking/src/hooks/demo.form.ts create mode 100644 packages/court-booking/src/integrations/tanchat/header-user.tsx create mode 100644 packages/court-booking/src/integrations/tanstack-query/layout.tsx create mode 100644 packages/court-booking/src/integrations/tanstack-query/root-provider.tsx create mode 100644 packages/court-booking/src/lib/demo-store.ts create mode 100644 packages/court-booking/src/lib/utils.ts create mode 100644 packages/court-booking/src/logo.svg create mode 100644 packages/court-booking/src/routeTree.gen.ts create mode 100644 packages/court-booking/src/router.tsx create mode 100644 packages/court-booking/src/routes/__root.tsx create mode 100644 packages/court-booking/src/routes/api.demo-names.ts create mode 100644 packages/court-booking/src/routes/api.messages.ts create mode 100644 packages/court-booking/src/routes/api.sse.ts create mode 100644 packages/court-booking/src/routes/demo.form.address.tsx create mode 100644 packages/court-booking/src/routes/demo.form.simple.tsx create mode 100644 packages/court-booking/src/routes/demo.start.api-request.tsx create mode 100644 packages/court-booking/src/routes/demo.start.server-funcs.tsx create mode 100644 packages/court-booking/src/routes/demo.store.tsx create mode 100644 packages/court-booking/src/routes/demo.table.tsx create mode 100644 packages/court-booking/src/routes/demo.tanstack-query.tsx create mode 100644 packages/court-booking/src/routes/example.chat.tsx create mode 100644 packages/court-booking/src/routes/example.guitars/$guitarId.tsx create mode 100644 packages/court-booking/src/routes/example.guitars/index.tsx create mode 100644 packages/court-booking/src/routes/index.tsx create mode 100644 packages/court-booking/src/scripts/generate-types.ts create mode 100644 packages/court-booking/src/store/example-assistant.ts create mode 100644 packages/court-booking/src/styles.css create mode 100644 packages/court-booking/src/utils/demo.ai.ts create mode 100644 packages/court-booking/src/utils/demo.sse.ts create mode 100644 packages/court-booking/src/utils/demo.tools.ts create mode 100644 packages/court-booking/tsconfig.json create mode 100644 packages/court-booking/vite.config.ts diff --git a/packages/court-booking/.cta.json b/packages/court-booking/.cta.json new file mode 100644 index 00000000..8dc95441 --- /dev/null +++ b/packages/court-booking/.cta.json @@ -0,0 +1,20 @@ +{ + "projectName": "court-booking", + "mode": "file-router", + "typescript": true, + "tailwind": true, + "packageManager": "bun", + "git": true, + "version": 1, + "framework": "react-cra", + "chosenAddOns": [ + "eslint", + "form", + "shadcn", + "start", + "store", + "table", + "tanstack-query", + "tanchat" + ] +} \ No newline at end of file diff --git a/packages/court-booking/.cursorrules b/packages/court-booking/.cursorrules new file mode 100644 index 00000000..1472639b --- /dev/null +++ b/packages/court-booking/.cursorrules @@ -0,0 +1,7 @@ +# shadcn instructions + +Use the latest version of Shadcn to install new components, like this command to add a button component: + +```bash +pnpx shadcn@latest add button +``` diff --git a/packages/court-booking/.gitignore b/packages/court-booking/.gitignore new file mode 100644 index 00000000..484eb4ec --- /dev/null +++ b/packages/court-booking/.gitignore @@ -0,0 +1,12 @@ +node_modules +.DS_Store +dist +dist-ssr +*.local +count.txt +.env +.nitro +.tanstack +.output +.vinxi +count.txt diff --git a/packages/court-booking/.prettierignore b/packages/court-booking/.prettierignore new file mode 100644 index 00000000..5322d7fe --- /dev/null +++ b/packages/court-booking/.prettierignore @@ -0,0 +1,3 @@ +package-lock.json +pnpm-lock.yaml +yarn.lock \ No newline at end of file diff --git a/packages/court-booking/.vscode/settings.json b/packages/court-booking/.vscode/settings.json new file mode 100644 index 00000000..5eb6d3db --- /dev/null +++ b/packages/court-booking/.vscode/settings.json @@ -0,0 +1,19 @@ +{ + "files.watcherExclude": { + "**/routeTree.gen.ts": true + }, + "search.exclude": { + "**/routeTree.gen.ts": true + }, + "files.readonlyInclude": { + "**/routeTree.gen.ts": true + }, + + // Editor settings + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.codeActionsOnSave": { + "source.fixAll": "explicit" + }, + "editor.wordWrap": "on" +} diff --git a/packages/court-booking/README.md b/packages/court-booking/README.md new file mode 100644 index 00000000..7101402f --- /dev/null +++ b/packages/court-booking/README.md @@ -0,0 +1,348 @@ +Welcome to your new TanStack app! + +# Getting Started + +To run this application: + +```bash +bun install +bunx --bun run start +``` + +# Building For Production + +To build this application for production: + +```bash +bunx --bun run build +``` + +## Testing + +This project uses [Vitest](https://vitest.dev/) for testing. You can run the tests with: + +```bash +bunx --bun run test +``` + +## Styling + +This project uses [Tailwind CSS](https://tailwindcss.com/) for styling. + + +## Linting & Formatting + + +This project uses [eslint](https://eslint.org/) and [prettier](https://prettier.io/) for linting and formatting. Eslint is configured using [tanstack/eslint-config](https://tanstack.com/config/latest/docs/eslint). The following scripts are available: + +```bash +bunx --bun run lint +bunx --bun run format +bunx --bun run check +``` + + +## Shadcn + +Add components using the latest version of [Shadcn](https://ui.shadcn.com/). + +```bash +pnpx shadcn@latest add button +``` + + +# TanStack Chat Application + +Am example chat application built with TanStack Start, TanStack Store, and Claude AI. + +## .env Updates + +```env +ANTHROPIC_API_KEY=your_anthropic_api_key +``` + +## ✨ Features + +### AI Capabilities +- 🤖 Powered by Claude 3.5 Sonnet +- 📝 Rich markdown formatting with syntax highlighting +- 🎯 Customizable system prompts for tailored AI behavior +- 🔄 Real-time message updates and streaming responses (coming soon) + +### User Experience +- 🎨 Modern UI with Tailwind CSS and Lucide icons +- 🔍 Conversation management and history +- 🔐 Secure API key management +- 📋 Markdown rendering with code highlighting + +### Technical Features +- 📦 Centralized state management with TanStack Store +- 🔌 Extensible architecture for multiple AI providers +- 🛠️ TypeScript for type safety + +## Architecture + +### Tech Stack +- **Frontend Framework**: TanStack Start +- **Routing**: TanStack Router +- **State Management**: TanStack Store +- **Styling**: Tailwind CSS +- **AI Integration**: Anthropic's Claude API + + +## Routing +This project uses [TanStack Router](https://tanstack.com/router). The initial setup is a file based router. Which means that the routes are managed as files in `src/routes`. + +### Adding A Route + +To add a new route to your application just add another a new file in the `./src/routes` directory. + +TanStack will automatically generate the content of the route file for you. + +Now that you have two routes you can use a `Link` component to navigate between them. + +### Adding Links + +To use SPA (Single Page Application) navigation you will need to import the `Link` component from `@tanstack/react-router`. + +```tsx +import { Link } from "@tanstack/react-router"; +``` + +Then anywhere in your JSX you can use it like so: + +```tsx +About +``` + +This will create a link that will navigate to the `/about` route. + +More information on the `Link` component can be found in the [Link documentation](https://tanstack.com/router/v1/docs/framework/react/api/router/linkComponent). + +### Using A Layout + +In the File Based Routing setup the layout is located in `src/routes/__root.tsx`. Anything you add to the root route will appear in all the routes. The route content will appear in the JSX where you use the `` component. + +Here is an example layout that includes a header: + +```tsx +import { Outlet, createRootRoute } from '@tanstack/react-router' +import { TanStackRouterDevtools } from '@tanstack/react-router-devtools' + +import { Link } from "@tanstack/react-router"; + +export const Route = createRootRoute({ + component: () => ( + <> +
    + +
    + + + + ), +}) +``` + +The `` component is not required so you can remove it if you don't want it in your layout. + +More information on layouts can be found in the [Layouts documentation](https://tanstack.com/router/latest/docs/framework/react/guide/routing-concepts#layouts). + + +## Data Fetching + +There are multiple ways to fetch data in your application. You can use TanStack Query to fetch data from a server. But you can also use the `loader` functionality built into TanStack Router to load the data for a route before it's rendered. + +For example: + +```tsx +const peopleRoute = createRoute({ + getParentRoute: () => rootRoute, + path: "/people", + loader: async () => { + const response = await fetch("https://swapi.dev/api/people"); + return response.json() as Promise<{ + results: { + name: string; + }[]; + }>; + }, + component: () => { + const data = peopleRoute.useLoaderData(); + return ( +
      + {data.results.map((person) => ( +
    • {person.name}
    • + ))} +
    + ); + }, +}); +``` + +Loaders simplify your data fetching logic dramatically. Check out more information in the [Loader documentation](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#loader-parameters). + +### React-Query + +React-Query is an excellent addition or alternative to route loading and integrating it into you application is a breeze. + +First add your dependencies: + +```bash +bun install @tanstack/react-query @tanstack/react-query-devtools +``` + +Next we'll need to create a query client and provider. We recommend putting those in `main.tsx`. + +```tsx +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; + +// ... + +const queryClient = new QueryClient(); + +// ... + +if (!rootElement.innerHTML) { + const root = ReactDOM.createRoot(rootElement); + + root.render( + + + + ); +} +``` + +You can also add TanStack Query Devtools to the root route (optional). + +```tsx +import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; + +const rootRoute = createRootRoute({ + component: () => ( + <> + + + + + ), +}); +``` + +Now you can use `useQuery` to fetch your data. + +```tsx +import { useQuery } from "@tanstack/react-query"; + +import "./App.css"; + +function App() { + const { data } = useQuery({ + queryKey: ["people"], + queryFn: () => + fetch("https://swapi.dev/api/people") + .then((res) => res.json()) + .then((data) => data.results as { name: string }[]), + initialData: [], + }); + + return ( +
    +
      + {data.map((person) => ( +
    • {person.name}
    • + ))} +
    +
    + ); +} + +export default App; +``` + +You can find out everything you need to know on how to use React-Query in the [React-Query documentation](https://tanstack.com/query/latest/docs/framework/react/overview). + +## State Management + +Another common requirement for React applications is state management. There are many options for state management in React. TanStack Store provides a great starting point for your project. + +First you need to add TanStack Store as a dependency: + +```bash +bun install @tanstack/store +``` + +Now let's create a simple counter in the `src/App.tsx` file as a demonstration. + +```tsx +import { useStore } from "@tanstack/react-store"; +import { Store } from "@tanstack/store"; +import "./App.css"; + +const countStore = new Store(0); + +function App() { + const count = useStore(countStore); + return ( +
    + +
    + ); +} + +export default App; +``` + +One of the many nice features of TanStack Store is the ability to derive state from other state. That derived state will update when the base state updates. + +Let's check this out by doubling the count using derived state. + +```tsx +import { useStore } from "@tanstack/react-store"; +import { Store, Derived } from "@tanstack/store"; +import "./App.css"; + +const countStore = new Store(0); + +const doubledStore = new Derived({ + fn: () => countStore.state * 2, + deps: [countStore], +}); +doubledStore.mount(); + +function App() { + const count = useStore(countStore); + const doubledCount = useStore(doubledStore); + + return ( +
    + +
    Doubled - {doubledCount}
    +
    + ); +} + +export default App; +``` + +We use the `Derived` class to create a new store that is derived from another store. The `Derived` class has a `mount` method that will start the derived store updating. + +Once we've created the derived store we can use it in the `App` component just like we would any other store using the `useStore` hook. + +You can find out everything you need to know on how to use TanStack Store in the [TanStack Store documentation](https://tanstack.com/store/latest). + +# Demo files + +Files prefixed with `demo` can be safely deleted. They are there to provide a starting point for you to play around with the features you've installed. + +# Learn More + +You can learn more about all of the offerings from TanStack in the [TanStack documentation](https://tanstack.com). diff --git a/packages/court-booking/bun.lock b/packages/court-booking/bun.lock new file mode 100644 index 00000000..7c9c892f --- /dev/null +++ b/packages/court-booking/bun.lock @@ -0,0 +1,2528 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "name": "court-booking", + "dependencies": { + "@ai-sdk/anthropic": "^1.1.17", + "@ai-sdk/react": "^1.1.23", + "@faker-js/faker": "^9.6.0", + "@modelcontextprotocol/sdk": "^1.8.0", + "@radix-ui/react-label": "^2.1.7", + "@radix-ui/react-select": "^2.2.5", + "@radix-ui/react-slider": "^1.3.5", + "@radix-ui/react-slot": "^1.2.3", + "@radix-ui/react-switch": "^1.2.5", + "@tailwindcss/vite": "^4.0.6", + "@tanstack/match-sorter-utils": "^8.19.4", + "@tanstack/react-form": "^1.0.0", + "@tanstack/react-query": "^5.66.5", + "@tanstack/react-query-devtools": "^5.66.5", + "@tanstack/react-router": "^1.121.2", + "@tanstack/react-router-devtools": "^1.121.2", + "@tanstack/react-router-with-query": "^1.121.2", + "@tanstack/react-start": "^1.121.2", + "@tanstack/react-store": "^0.7.0", + "@tanstack/react-table": "^8.21.2", + "@tanstack/router-plugin": "^1.121.2", + "@tanstack/store": "^0.7.0", + "ai": "^4.1.65", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "highlight.js": "^11.11.1", + "lucide-react": "^0.475.0", + "openapi-fetch": "^0.14.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-markdown": "^9.0.1", + "rehype-highlight": "^7.0.0", + "rehype-raw": "^7.0.0", + "rehype-sanitize": "^6.0.0", + "remark-gfm": "^4.0.1", + "tailwind-merge": "^3.0.2", + "tailwindcss": "^4.0.6", + "tailwindcss-animate": "^1.0.7", + "vite-tsconfig-paths": "^5.1.4", + "zod": "^3.24.2", + }, + "devDependencies": { + "@tanstack/eslint-config": "^0.1.0", + "@testing-library/dom": "^10.4.0", + "@testing-library/react": "^16.2.0", + "@types/react": "^19.0.8", + "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", + "jsdom": "^26.0.0", + "openapi-typescript": "^7.8.0", + "prettier": "^3.5.3", + "typescript": "^5.7.2", + "vite": "^6.1.0", + "vitest": "^3.0.5", + "web-vitals": "^4.2.4", + }, + }, + }, + "packages": { + "@ai-sdk/anthropic": ["@ai-sdk/anthropic@1.2.12", "", { "dependencies": { "@ai-sdk/provider": "1.1.3", "@ai-sdk/provider-utils": "2.2.8" }, "peerDependencies": { "zod": "^3.0.0" } }, "sha512-YSzjlko7JvuiyQFmI9RN1tNZdEiZxc+6xld/0tq/VkJaHpEzGAb1yiNxxvmYVcjvfu/PcvCxAAYXmTYQQ63IHQ=="], + + "@ai-sdk/provider": ["@ai-sdk/provider@1.1.3", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg=="], + + "@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@2.2.8", "", { "dependencies": { "@ai-sdk/provider": "1.1.3", "nanoid": "^3.3.8", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.23.8" } }, "sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA=="], + + "@ai-sdk/react": ["@ai-sdk/react@1.2.12", "", { "dependencies": { "@ai-sdk/provider-utils": "2.2.8", "@ai-sdk/ui-utils": "1.2.11", "swr": "^2.2.5", "throttleit": "2.1.0" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "zod": "^3.23.8" }, "optionalPeers": ["zod"] }, "sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g=="], + + "@ai-sdk/ui-utils": ["@ai-sdk/ui-utils@1.2.11", "", { "dependencies": { "@ai-sdk/provider": "1.1.3", "@ai-sdk/provider-utils": "2.2.8", "zod-to-json-schema": "^3.24.1" }, "peerDependencies": { "zod": "^3.23.8" } }, "sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w=="], + + "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], + + "@asamuzakjp/css-color": ["@asamuzakjp/css-color@3.2.0", "", { "dependencies": { "@csstools/css-calc": "^2.1.3", "@csstools/css-color-parser": "^3.0.9", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "lru-cache": "^10.4.3" } }, "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw=="], + + "@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], + + "@babel/compat-data": ["@babel/compat-data@7.28.0", "", {}, "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw=="], + + "@babel/core": ["@babel/core@7.28.0", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.0", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.27.3", "@babel/helpers": "^7.27.6", "@babel/parser": "^7.28.0", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.0", "@babel/types": "^7.28.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ=="], + + "@babel/generator": ["@babel/generator@7.28.0", "", { "dependencies": { "@babel/parser": "^7.28.0", "@babel/types": "^7.28.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg=="], + + "@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.27.3", "", { "dependencies": { "@babel/types": "^7.27.3" } }, "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg=="], + + "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.27.2", "", { "dependencies": { "@babel/compat-data": "^7.27.2", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ=="], + + "@babel/helper-create-class-features-plugin": ["@babel/helper-create-class-features-plugin@7.27.1", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.1", "@babel/helper-member-expression-to-functions": "^7.27.1", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", "@babel/traverse": "^7.27.1", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A=="], + + "@babel/helper-globals": ["@babel/helper-globals@7.28.0", "", {}, "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw=="], + + "@babel/helper-member-expression-to-functions": ["@babel/helper-member-expression-to-functions@7.27.1", "", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA=="], + + "@babel/helper-module-imports": ["@babel/helper-module-imports@7.27.1", "", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w=="], + + "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.27.3", "", { "dependencies": { "@babel/helper-module-imports": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1", "@babel/traverse": "^7.27.3" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg=="], + + "@babel/helper-optimise-call-expression": ["@babel/helper-optimise-call-expression@7.27.1", "", { "dependencies": { "@babel/types": "^7.27.1" } }, "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw=="], + + "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.27.1", "", {}, "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw=="], + + "@babel/helper-replace-supers": ["@babel/helper-replace-supers@7.27.1", "", { "dependencies": { "@babel/helper-member-expression-to-functions": "^7.27.1", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/traverse": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA=="], + + "@babel/helper-skip-transparent-expression-wrappers": ["@babel/helper-skip-transparent-expression-wrappers@7.27.1", "", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg=="], + + "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="], + + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.27.1", "", {}, "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow=="], + + "@babel/helper-validator-option": ["@babel/helper-validator-option@7.27.1", "", {}, "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg=="], + + "@babel/helpers": ["@babel/helpers@7.27.6", "", { "dependencies": { "@babel/template": "^7.27.2", "@babel/types": "^7.27.6" } }, "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug=="], + + "@babel/parser": ["@babel/parser@7.28.0", "", { "dependencies": { "@babel/types": "^7.28.0" }, "bin": "./bin/babel-parser.js" }, "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g=="], + + "@babel/plugin-syntax-jsx": ["@babel/plugin-syntax-jsx@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w=="], + + "@babel/plugin-syntax-typescript": ["@babel/plugin-syntax-typescript@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ=="], + + "@babel/plugin-transform-modules-commonjs": ["@babel/plugin-transform-modules-commonjs@7.27.1", "", { "dependencies": { "@babel/helper-module-transforms": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw=="], + + "@babel/plugin-transform-react-jsx-self": ["@babel/plugin-transform-react-jsx-self@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw=="], + + "@babel/plugin-transform-react-jsx-source": ["@babel/plugin-transform-react-jsx-source@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw=="], + + "@babel/plugin-transform-typescript": ["@babel/plugin-transform-typescript@7.28.0", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-create-class-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg=="], + + "@babel/preset-typescript": ["@babel/preset-typescript@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-transform-modules-commonjs": "^7.27.1", "@babel/plugin-transform-typescript": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ=="], + + "@babel/runtime": ["@babel/runtime@7.27.6", "", {}, "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q=="], + + "@babel/template": ["@babel/template@7.27.2", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/parser": "^7.27.2", "@babel/types": "^7.27.1" } }, "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw=="], + + "@babel/traverse": ["@babel/traverse@7.28.0", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.0", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.0", "@babel/template": "^7.27.2", "@babel/types": "^7.28.0", "debug": "^4.3.1" } }, "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg=="], + + "@babel/types": ["@babel/types@7.28.1", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1" } }, "sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ=="], + + "@cloudflare/kv-asset-handler": ["@cloudflare/kv-asset-handler@0.4.0", "", { "dependencies": { "mime": "^3.0.0" } }, "sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA=="], + + "@colors/colors": ["@colors/colors@1.6.0", "", {}, "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA=="], + + "@csstools/color-helpers": ["@csstools/color-helpers@5.0.2", "", {}, "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA=="], + + "@csstools/css-calc": ["@csstools/css-calc@2.1.4", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ=="], + + "@csstools/css-color-parser": ["@csstools/css-color-parser@3.0.10", "", { "dependencies": { "@csstools/color-helpers": "^5.0.2", "@csstools/css-calc": "^2.1.4" }, "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg=="], + + "@csstools/css-parser-algorithms": ["@csstools/css-parser-algorithms@3.0.5", "", { "peerDependencies": { "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ=="], + + "@csstools/css-tokenizer": ["@csstools/css-tokenizer@3.0.4", "", {}, "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw=="], + + "@dabh/diagnostics": ["@dabh/diagnostics@2.0.3", "", { "dependencies": { "colorspace": "1.1.x", "enabled": "2.0.x", "kuler": "^2.0.0" } }, "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA=="], + + "@dependents/detective-less": ["@dependents/detective-less@5.0.1", "", { "dependencies": { "gonzales-pe": "^4.3.0", "node-source-walk": "^7.0.1" } }, "sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ=="], + + "@emnapi/core": ["@emnapi/core@1.4.4", "", { "dependencies": { "@emnapi/wasi-threads": "1.0.3", "tslib": "^2.4.0" } }, "sha512-A9CnAbC6ARNMKcIcrQwq6HeHCjpcBZ5wSx4U01WXCqEKlrzB9F9315WDNHkrs2xbx7YjjSxbUYxuN6EQzpcY2g=="], + + "@emnapi/runtime": ["@emnapi/runtime@1.4.4", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-hHyapA4A3gPaDCNfiqyZUStTMqIkKRshqPIuDOXv1hcBnD4U3l8cP0T1HMCfGRxQ6V64TGCcoswChANyOAwbQg=="], + + "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.0.3", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-8K5IFFsQqF9wQNJptGbS6FNKgUTsSRYnTqNCG1vPP8jFdjSv18n2mQfJpkt2Oibo9iBEzcDnDxNwKTzC7svlJw=="], + + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.6", "", { "os": "aix", "cpu": "ppc64" }, "sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.25.6", "", { "os": "android", "cpu": "arm" }, "sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.6", "", { "os": "android", "cpu": "arm64" }, "sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.25.6", "", { "os": "android", "cpu": "x64" }, "sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.6", "", { "os": "darwin", "cpu": "arm64" }, "sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.6", "", { "os": "darwin", "cpu": "x64" }, "sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.6", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.6", "", { "os": "freebsd", "cpu": "x64" }, "sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.6", "", { "os": "linux", "cpu": "arm" }, "sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.6", "", { "os": "linux", "cpu": "arm64" }, "sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.6", "", { "os": "linux", "cpu": "ia32" }, "sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.6", "", { "os": "linux", "cpu": "none" }, "sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.6", "", { "os": "linux", "cpu": "none" }, "sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.6", "", { "os": "linux", "cpu": "ppc64" }, "sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.6", "", { "os": "linux", "cpu": "none" }, "sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.6", "", { "os": "linux", "cpu": "s390x" }, "sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.6", "", { "os": "linux", "cpu": "x64" }, "sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig=="], + + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.6", "", { "os": "none", "cpu": "arm64" }, "sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.6", "", { "os": "none", "cpu": "x64" }, "sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g=="], + + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.6", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.6", "", { "os": "openbsd", "cpu": "x64" }, "sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw=="], + + "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.6", "", { "os": "none", "cpu": "arm64" }, "sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.6", "", { "os": "sunos", "cpu": "x64" }, "sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.6", "", { "os": "win32", "cpu": "arm64" }, "sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.6", "", { "os": "win32", "cpu": "ia32" }, "sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.6", "", { "os": "win32", "cpu": "x64" }, "sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA=="], + + "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.7.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw=="], + + "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.1", "", {}, "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ=="], + + "@eslint/config-array": ["@eslint/config-array@0.21.0", "", { "dependencies": { "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ=="], + + "@eslint/config-helpers": ["@eslint/config-helpers@0.3.0", "", {}, "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw=="], + + "@eslint/core": ["@eslint/core@0.15.1", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA=="], + + "@eslint/eslintrc": ["@eslint/eslintrc@3.3.1", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ=="], + + "@eslint/js": ["@eslint/js@9.31.0", "", {}, "sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw=="], + + "@eslint/object-schema": ["@eslint/object-schema@2.1.6", "", {}, "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA=="], + + "@eslint/plugin-kit": ["@eslint/plugin-kit@0.3.3", "", { "dependencies": { "@eslint/core": "^0.15.1", "levn": "^0.4.1" } }, "sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag=="], + + "@faker-js/faker": ["@faker-js/faker@9.9.0", "", {}, "sha512-OEl393iCOoo/z8bMezRlJu+GlRGlsKbUAN7jKB6LhnKoqKve5DXRpalbItIIcwnCjs1k/FOPjFzcA6Qn+H+YbA=="], + + "@fastify/busboy": ["@fastify/busboy@3.1.1", "", {}, "sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw=="], + + "@floating-ui/core": ["@floating-ui/core@1.7.2", "", { "dependencies": { "@floating-ui/utils": "^0.2.10" } }, "sha512-wNB5ooIKHQc+Kui96jE/n69rHFWAVoxn5CAzL1Xdd8FG03cgY3MLO+GF9U3W737fYDSgPWA6MReKhBQBop6Pcw=="], + + "@floating-ui/dom": ["@floating-ui/dom@1.7.2", "", { "dependencies": { "@floating-ui/core": "^1.7.2", "@floating-ui/utils": "^0.2.10" } }, "sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA=="], + + "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.4", "", { "dependencies": { "@floating-ui/dom": "^1.7.2" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-JbbpPhp38UmXDDAu60RJmbeme37Jbgsm7NrHGgzYYFKmblzRUh6Pa641dII6LsjwF4XlScDrde2UAzDo/b9KPw=="], + + "@floating-ui/utils": ["@floating-ui/utils@0.2.10", "", {}, "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ=="], + + "@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], + + "@humanfs/node": ["@humanfs/node@0.16.6", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" } }, "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw=="], + + "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], + + "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], + + "@ioredis/commands": ["@ioredis/commands@1.2.0", "", {}, "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg=="], + + "@isaacs/balanced-match": ["@isaacs/balanced-match@4.0.1", "", {}, "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ=="], + + "@isaacs/brace-expansion": ["@isaacs/brace-expansion@5.0.0", "", { "dependencies": { "@isaacs/balanced-match": "^4.0.1" } }, "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA=="], + + "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], + + "@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.12", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/source-map": ["@jridgewell/source-map@0.3.10", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, "sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.4", "", {}, "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.29", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ=="], + + "@mapbox/node-pre-gyp": ["@mapbox/node-pre-gyp@2.0.0", "", { "dependencies": { "consola": "^3.2.3", "detect-libc": "^2.0.0", "https-proxy-agent": "^7.0.5", "node-fetch": "^2.6.7", "nopt": "^8.0.0", "semver": "^7.5.3", "tar": "^7.4.0" }, "bin": { "node-pre-gyp": "bin/node-pre-gyp" } }, "sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg=="], + + "@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.15.1", "", { "dependencies": { "ajv": "^6.12.6", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-W/XlN9c528yYn+9MQkVjxiTPgPxoxt+oczfjHBDsJx0+59+O7B75Zhsp0B16Xbwbz8ANISDajh6+V7nIcPMc5w=="], + + "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@0.2.12", "", { "dependencies": { "@emnapi/core": "^1.4.3", "@emnapi/runtime": "^1.4.3", "@tybys/wasm-util": "^0.10.0" } }, "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ=="], + + "@netlify/binary-info": ["@netlify/binary-info@1.0.0", "", {}, "sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw=="], + + "@netlify/blobs": ["@netlify/blobs@9.1.2", "", { "dependencies": { "@netlify/dev-utils": "2.2.0", "@netlify/runtime-utils": "1.3.1" } }, "sha512-7dMjExSH4zj4ShvLem49mE3mf0K171Tx2pV4WDWhJbRUWW3SJIR2qntz0LvUGS97N5HO1SmnzrgWUhEXCsApiw=="], + + "@netlify/dev-utils": ["@netlify/dev-utils@2.2.0", "", { "dependencies": { "@whatwg-node/server": "^0.9.60", "chokidar": "^4.0.1", "decache": "^4.6.2", "dot-prop": "9.0.0", "env-paths": "^3.0.0", "find-up": "7.0.0", "lodash.debounce": "^4.0.8", "netlify": "^13.3.5", "parse-gitignore": "^2.0.0", "uuid": "^11.1.0", "write-file-atomic": "^6.0.0" } }, "sha512-5XUvZuffe3KetyhbWwd4n2ktd7wraocCYw10tlM+/u/95iAz29GjNiuNxbCD1T6Bn1MyGc4QLVNKOWhzJkVFAw=="], + + "@netlify/functions": ["@netlify/functions@3.1.10", "", { "dependencies": { "@netlify/blobs": "9.1.2", "@netlify/dev-utils": "2.2.0", "@netlify/serverless-functions-api": "1.41.2", "@netlify/zip-it-and-ship-it": "^12.1.0", "cron-parser": "^4.9.0", "decache": "^4.6.2", "extract-zip": "^2.0.1", "is-stream": "^4.0.1", "jwt-decode": "^4.0.0", "lambda-local": "^2.2.0", "read-package-up": "^11.0.0", "source-map-support": "^0.5.21" } }, "sha512-sI93kcJ2cUoMgDRPnrEm0lZhuiDVDqM6ngS/UbHTApIH3+eg3yZM5p/0SDFQQq9Bad0/srFmgBmTdXushzY5kg=="], + + "@netlify/open-api": ["@netlify/open-api@2.37.0", "", {}, "sha512-zXnRFkxgNsalSgU8/vwTWnav3R+8KG8SsqHxqaoJdjjJtnZR7wo3f+qqu4z+WtZ/4V7fly91HFUwZ6Uz2OdW7w=="], + + "@netlify/runtime-utils": ["@netlify/runtime-utils@1.3.1", "", {}, "sha512-7/vIJlMYrPJPlEW84V2yeRuG3QBu66dmlv9neTmZ5nXzwylhBEOhy11ai+34A8mHCSZI4mKns25w3HM9kaDdJg=="], + + "@netlify/serverless-functions-api": ["@netlify/serverless-functions-api@1.41.2", "", {}, "sha512-pfCkH50JV06SGMNsNPjn8t17hOcId4fA881HeYQgMBOrewjsw4csaYgHEnCxCEu24Y5x75E2ULbFpqm9CvRCqw=="], + + "@netlify/zip-it-and-ship-it": ["@netlify/zip-it-and-ship-it@12.2.1", "", { "dependencies": { "@babel/parser": "^7.22.5", "@babel/types": "7.28.0", "@netlify/binary-info": "^1.0.0", "@netlify/serverless-functions-api": "^2.1.3", "@vercel/nft": "0.29.4", "archiver": "^7.0.0", "common-path-prefix": "^3.0.0", "copy-file": "^11.0.0", "es-module-lexer": "^1.0.0", "esbuild": "0.25.5", "execa": "^8.0.0", "fast-glob": "^3.3.3", "filter-obj": "^6.0.0", "find-up": "^7.0.0", "is-builtin-module": "^3.1.0", "is-path-inside": "^4.0.0", "junk": "^4.0.0", "locate-path": "^7.0.0", "merge-options": "^3.0.4", "minimatch": "^9.0.0", "normalize-path": "^3.0.0", "p-map": "^7.0.0", "path-exists": "^5.0.0", "precinct": "^12.0.0", "require-package-name": "^2.0.1", "resolve": "^2.0.0-next.1", "semver": "^7.3.8", "tmp-promise": "^3.0.2", "toml": "^3.0.0", "unixify": "^1.0.0", "urlpattern-polyfill": "8.0.2", "yargs": "^17.0.0", "zod": "^3.23.8" }, "bin": { "zip-it-and-ship-it": "./bin.js" } }, "sha512-zAr+8Tg80y/sUbhdUkZsq4Uy1IMzkSB6H/sKRMrDQ2NJx4uPgf5X5jMdg9g2FljNcxzpfJwc1Gg4OXQrjD0Z4A=="], + + "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], + + "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], + + "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + + "@oozcitak/dom": ["@oozcitak/dom@1.15.10", "", { "dependencies": { "@oozcitak/infra": "1.0.8", "@oozcitak/url": "1.0.4", "@oozcitak/util": "8.3.8" } }, "sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ=="], + + "@oozcitak/infra": ["@oozcitak/infra@1.0.8", "", { "dependencies": { "@oozcitak/util": "8.3.8" } }, "sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg=="], + + "@oozcitak/url": ["@oozcitak/url@1.0.4", "", { "dependencies": { "@oozcitak/infra": "1.0.8", "@oozcitak/util": "8.3.8" } }, "sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw=="], + + "@oozcitak/util": ["@oozcitak/util@8.3.8", "", {}, "sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ=="], + + "@opentelemetry/api": ["@opentelemetry/api@1.9.0", "", {}, "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="], + + "@parcel/watcher": ["@parcel/watcher@2.5.1", "", { "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", "micromatch": "^4.0.5", "node-addon-api": "^7.0.0" }, "optionalDependencies": { "@parcel/watcher-android-arm64": "2.5.1", "@parcel/watcher-darwin-arm64": "2.5.1", "@parcel/watcher-darwin-x64": "2.5.1", "@parcel/watcher-freebsd-x64": "2.5.1", "@parcel/watcher-linux-arm-glibc": "2.5.1", "@parcel/watcher-linux-arm-musl": "2.5.1", "@parcel/watcher-linux-arm64-glibc": "2.5.1", "@parcel/watcher-linux-arm64-musl": "2.5.1", "@parcel/watcher-linux-x64-glibc": "2.5.1", "@parcel/watcher-linux-x64-musl": "2.5.1", "@parcel/watcher-win32-arm64": "2.5.1", "@parcel/watcher-win32-ia32": "2.5.1", "@parcel/watcher-win32-x64": "2.5.1" } }, "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg=="], + + "@parcel/watcher-android-arm64": ["@parcel/watcher-android-arm64@2.5.1", "", { "os": "android", "cpu": "arm64" }, "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA=="], + + "@parcel/watcher-darwin-arm64": ["@parcel/watcher-darwin-arm64@2.5.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw=="], + + "@parcel/watcher-darwin-x64": ["@parcel/watcher-darwin-x64@2.5.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg=="], + + "@parcel/watcher-freebsd-x64": ["@parcel/watcher-freebsd-x64@2.5.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ=="], + + "@parcel/watcher-linux-arm-glibc": ["@parcel/watcher-linux-arm-glibc@2.5.1", "", { "os": "linux", "cpu": "arm" }, "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA=="], + + "@parcel/watcher-linux-arm-musl": ["@parcel/watcher-linux-arm-musl@2.5.1", "", { "os": "linux", "cpu": "arm" }, "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q=="], + + "@parcel/watcher-linux-arm64-glibc": ["@parcel/watcher-linux-arm64-glibc@2.5.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w=="], + + "@parcel/watcher-linux-arm64-musl": ["@parcel/watcher-linux-arm64-musl@2.5.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg=="], + + "@parcel/watcher-linux-x64-glibc": ["@parcel/watcher-linux-x64-glibc@2.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A=="], + + "@parcel/watcher-linux-x64-musl": ["@parcel/watcher-linux-x64-musl@2.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg=="], + + "@parcel/watcher-wasm": ["@parcel/watcher-wasm@2.5.1", "", { "dependencies": { "is-glob": "^4.0.3", "micromatch": "^4.0.5", "napi-wasm": "^1.1.0" } }, "sha512-RJxlQQLkaMMIuWRozy+z2vEqbaQlCuaCgVZIUCzQLYggY22LZbP5Y1+ia+FD724Ids9e+XIyOLXLrLgQSHIthw=="], + + "@parcel/watcher-win32-arm64": ["@parcel/watcher-win32-arm64@2.5.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw=="], + + "@parcel/watcher-win32-ia32": ["@parcel/watcher-win32-ia32@2.5.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ=="], + + "@parcel/watcher-win32-x64": ["@parcel/watcher-win32-x64@2.5.1", "", { "os": "win32", "cpu": "x64" }, "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA=="], + + "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="], + + "@poppinss/colors": ["@poppinss/colors@4.1.5", "", { "dependencies": { "kleur": "^4.1.5" } }, "sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw=="], + + "@poppinss/dumper": ["@poppinss/dumper@0.6.4", "", { "dependencies": { "@poppinss/colors": "^4.1.5", "@sindresorhus/is": "^7.0.2", "supports-color": "^10.0.0" } }, "sha512-iG0TIdqv8xJ3Lt9O8DrPRxw1MRLjNpoqiSGU03P/wNLP/s0ra0udPJ1J2Tx5M0J3H/cVyEgpbn8xUKRY9j59kQ=="], + + "@poppinss/exception": ["@poppinss/exception@1.2.2", "", {}, "sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg=="], + + "@radix-ui/number": ["@radix-ui/number@1.1.1", "", {}, "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g=="], + + "@radix-ui/primitive": ["@radix-ui/primitive@1.1.2", "", {}, "sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA=="], + + "@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.7", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w=="], + + "@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw=="], + + "@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg=="], + + "@radix-ui/react-context": ["@radix-ui/react-context@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA=="], + + "@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw=="], + + "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.10", "", { "dependencies": { "@radix-ui/primitive": "1.1.2", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-escape-keydown": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ=="], + + "@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA=="], + + "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw=="], + + "@radix-ui/react-id": ["@radix-ui/react-id@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg=="], + + "@radix-ui/react-label": ["@radix-ui/react-label@2.1.7", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ=="], + + "@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.7", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-rect": "1.1.1", "@radix-ui/react-use-size": "1.1.1", "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ=="], + + "@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], + + "@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="], + + "@radix-ui/react-select": ["@radix-ui/react-select@2.2.5", "", { "dependencies": { "@radix-ui/number": "1.1.1", "@radix-ui/primitive": "1.1.2", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.10", "@radix-ui/react-focus-guards": "1.1.2", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.7", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-visually-hidden": "1.2.3", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA=="], + + "@radix-ui/react-slider": ["@radix-ui/react-slider@1.3.5", "", { "dependencies": { "@radix-ui/number": "1.1.1", "@radix-ui/primitive": "1.1.2", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-use-size": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-rkfe2pU2NBAYfGaxa3Mqosi7VZEWX5CxKaanRv0vZd4Zhl9fvQrg0VM93dv3xGLGfrHuoTRF3JXH8nb9g+B3fw=="], + + "@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-switch": ["@radix-ui/react-switch@1.2.5", "", { "dependencies": { "@radix-ui/primitive": "1.1.2", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-use-size": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-5ijLkak6ZMylXsaImpZ8u4Rlf5grRmoc0p0QeX9VJtlrM4f5m3nCTX8tWga/zOA8PZYIR/t0p2Mnvd7InrJ6yQ=="], + + "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], + + "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.2.2", "", { "dependencies": { "@radix-ui/react-use-effect-event": "0.0.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg=="], + + "@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.2", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA=="], + + "@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.1", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g=="], + + "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + + "@radix-ui/react-use-previous": ["@radix-ui/react-use-previous@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ=="], + + "@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.1", "", { "dependencies": { "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w=="], + + "@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ=="], + + "@radix-ui/react-visually-hidden": ["@radix-ui/react-visually-hidden@1.2.3", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug=="], + + "@radix-ui/rect": ["@radix-ui/rect@1.1.1", "", {}, "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw=="], + + "@redocly/ajv": ["@redocly/ajv@8.11.2", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js-replace": "^1.0.1" } }, "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg=="], + + "@redocly/config": ["@redocly/config@0.22.2", "", {}, "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ=="], + + "@redocly/openapi-core": ["@redocly/openapi-core@1.34.3", "", { "dependencies": { "@redocly/ajv": "^8.11.2", "@redocly/config": "^0.22.0", "colorette": "^1.2.0", "https-proxy-agent": "^7.0.5", "js-levenshtein": "^1.1.6", "js-yaml": "^4.1.0", "minimatch": "^5.0.1", "pluralize": "^8.0.0", "yaml-ast-parser": "0.0.43" } }, "sha512-3arRdUp1fNx55itnjKiUhO6t4Mf91TsrTIYINDNLAZPS0TPd5YpiXRctwjel0qqWoOOhjA34cZ3m4dksLDFUYg=="], + + "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.19", "", {}, "sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA=="], + + "@rollup/plugin-alias": ["@rollup/plugin-alias@5.1.1", "", { "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ=="], + + "@rollup/plugin-commonjs": ["@rollup/plugin-commonjs@28.0.6", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "commondir": "^1.0.1", "estree-walker": "^2.0.2", "fdir": "^6.2.0", "is-reference": "1.2.1", "magic-string": "^0.30.3", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^2.68.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw=="], + + "@rollup/plugin-inject": ["@rollup/plugin-inject@5.0.5", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "estree-walker": "^2.0.2", "magic-string": "^0.30.3" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg=="], + + "@rollup/plugin-json": ["@rollup/plugin-json@6.1.0", "", { "dependencies": { "@rollup/pluginutils": "^5.1.0" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA=="], + + "@rollup/plugin-node-resolve": ["@rollup/plugin-node-resolve@16.0.1", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "@types/resolve": "1.20.2", "deepmerge": "^4.2.2", "is-module": "^1.0.0", "resolve": "^1.22.1" }, "peerDependencies": { "rollup": "^2.78.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA=="], + + "@rollup/plugin-replace": ["@rollup/plugin-replace@6.0.2", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "magic-string": "^0.30.3" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ=="], + + "@rollup/plugin-terser": ["@rollup/plugin-terser@0.4.4", "", { "dependencies": { "serialize-javascript": "^6.0.1", "smob": "^1.0.0", "terser": "^5.17.4" }, "peerDependencies": { "rollup": "^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A=="], + + "@rollup/pluginutils": ["@rollup/pluginutils@5.2.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw=="], + + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.45.1", "", { "os": "android", "cpu": "arm" }, "sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA=="], + + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.45.1", "", { "os": "android", "cpu": "arm64" }, "sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ=="], + + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.45.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA=="], + + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.45.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og=="], + + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.45.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g=="], + + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.45.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A=="], + + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.45.1", "", { "os": "linux", "cpu": "arm" }, "sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q=="], + + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.45.1", "", { "os": "linux", "cpu": "arm" }, "sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q=="], + + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.45.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw=="], + + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.45.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog=="], + + "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.45.1", "", { "os": "linux", "cpu": "none" }, "sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg=="], + + "@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.45.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg=="], + + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.45.1", "", { "os": "linux", "cpu": "none" }, "sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw=="], + + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.45.1", "", { "os": "linux", "cpu": "none" }, "sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA=="], + + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.45.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw=="], + + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.45.1", "", { "os": "linux", "cpu": "x64" }, "sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw=="], + + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.45.1", "", { "os": "linux", "cpu": "x64" }, "sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw=="], + + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.45.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg=="], + + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.45.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw=="], + + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.45.1", "", { "os": "win32", "cpu": "x64" }, "sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA=="], + + "@sindresorhus/is": ["@sindresorhus/is@7.0.2", "", {}, "sha512-d9xRovfKNz1SKieM0qJdO+PQonjnnIfSNWfHYnBSJ9hkjm0ZPw6HlxscDXYstp3z+7V2GOFHc+J0CYrYTjqCJw=="], + + "@sindresorhus/merge-streams": ["@sindresorhus/merge-streams@2.3.0", "", {}, "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg=="], + + "@speed-highlight/core": ["@speed-highlight/core@1.2.7", "", {}, "sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g=="], + + "@stylistic/eslint-plugin-js": ["@stylistic/eslint-plugin-js@4.4.1", "", { "dependencies": { "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0" }, "peerDependencies": { "eslint": ">=9.0.0" } }, "sha512-eLisyHvx7Sel8vcFZOEwDEBGmYsYM1SqDn81BWgmbqEXfXRf8oe6Rwp+ryM/8odNjlxtaaxp0Ihmt86CnLAxKg=="], + + "@tailwindcss/node": ["@tailwindcss/node@4.1.11", "", { "dependencies": { "@ampproject/remapping": "^2.3.0", "enhanced-resolve": "^5.18.1", "jiti": "^2.4.2", "lightningcss": "1.30.1", "magic-string": "^0.30.17", "source-map-js": "^1.2.1", "tailwindcss": "4.1.11" } }, "sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q=="], + + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.11", "", { "dependencies": { "detect-libc": "^2.0.4", "tar": "^7.4.3" }, "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.11", "@tailwindcss/oxide-darwin-arm64": "4.1.11", "@tailwindcss/oxide-darwin-x64": "4.1.11", "@tailwindcss/oxide-freebsd-x64": "4.1.11", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.11", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.11", "@tailwindcss/oxide-linux-arm64-musl": "4.1.11", "@tailwindcss/oxide-linux-x64-gnu": "4.1.11", "@tailwindcss/oxide-linux-x64-musl": "4.1.11", "@tailwindcss/oxide-wasm32-wasi": "4.1.11", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.11", "@tailwindcss/oxide-win32-x64-msvc": "4.1.11" } }, "sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg=="], + + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.11", "", { "os": "android", "cpu": "arm64" }, "sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg=="], + + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ=="], + + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw=="], + + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA=="], + + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11", "", { "os": "linux", "cpu": "arm" }, "sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg=="], + + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ=="], + + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ=="], + + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.11", "", { "os": "linux", "cpu": "x64" }, "sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg=="], + + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.11", "", { "os": "linux", "cpu": "x64" }, "sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q=="], + + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.1.11", "", { "dependencies": { "@emnapi/core": "^1.4.3", "@emnapi/runtime": "^1.4.3", "@emnapi/wasi-threads": "^1.0.2", "@napi-rs/wasm-runtime": "^0.2.11", "@tybys/wasm-util": "^0.9.0", "tslib": "^2.8.0" }, "cpu": "none" }, "sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g=="], + + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w=="], + + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.11", "", { "os": "win32", "cpu": "x64" }, "sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg=="], + + "@tailwindcss/vite": ["@tailwindcss/vite@4.1.11", "", { "dependencies": { "@tailwindcss/node": "4.1.11", "@tailwindcss/oxide": "4.1.11", "tailwindcss": "4.1.11" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7" } }, "sha512-RHYhrR3hku0MJFRV+fN2gNbDNEh3dwKvY8XJvTxCSXeMOsCRSr+uKvDWQcbizrHgjML6ZmTE5OwMrl5wKcujCw=="], + + "@tanstack/directive-functions-plugin": ["@tanstack/directive-functions-plugin@1.124.1", "", { "dependencies": { "@babel/code-frame": "7.27.1", "@babel/core": "^7.27.7", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", "@tanstack/router-utils": "1.121.21", "babel-dead-code-elimination": "^1.0.10", "tiny-invariant": "^1.3.3" }, "peerDependencies": { "vite": ">=6.0.0" } }, "sha512-eZdsPCZz+7VIKiXAF5dNdLJBerAo4t79w/OQTWaKuqPLX1E9GQOKHsmTZChWeQbxPx+y+cOV3/0U/yKxtHsm0Q=="], + + "@tanstack/eslint-config": ["@tanstack/eslint-config@0.1.0", "", { "dependencies": { "@eslint/js": "^9.21.0", "@stylistic/eslint-plugin-js": "^4.1.0", "eslint-plugin-import-x": "^4.6.1", "eslint-plugin-n": "^17.16.1", "globals": "^16.0.0", "typescript-eslint": "^8.25.0", "vue-eslint-parser": "^9.4.3" } }, "sha512-/lVsQmmezpqqbCFtaxGNkoSnQ/+H0PAHyHF37PGQ6ZBrF8RXktgazMdsD5SCaNT9oEnGCl274GCZ9sY80b50Sg=="], + + "@tanstack/form-core": ["@tanstack/form-core@1.14.0", "", { "dependencies": { "@tanstack/store": "^0.7.2" } }, "sha512-uAOW3IxkT/Cmy8JlznK8S/LSpvtHjpUQi2wyuPqVfJ04y95WuV90SO+VKtb9TrNp51QLrrTFBR8tMEuzqp5wmA=="], + + "@tanstack/history": ["@tanstack/history@1.121.34", "", {}, "sha512-YL8dGi5ZU+xvtav2boRlw4zrRghkY6hvdcmHhA0RGSJ/CBgzv+cbADW9eYJLx74XMZvIQ1pp6VMbrpXnnM5gHA=="], + + "@tanstack/match-sorter-utils": ["@tanstack/match-sorter-utils@8.19.4", "", { "dependencies": { "remove-accents": "0.5.0" } }, "sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg=="], + + "@tanstack/query-core": ["@tanstack/query-core@5.83.0", "", {}, "sha512-0M8dA+amXUkyz5cVUm/B+zSk3xkQAcuXuz5/Q/LveT4ots2rBpPTZOzd7yJa2Utsf8D2Upl5KyjhHRY+9lB/XA=="], + + "@tanstack/query-devtools": ["@tanstack/query-devtools@5.81.2", "", {}, "sha512-jCeJcDCwKfoyyBXjXe9+Lo8aTkavygHHsUHAlxQKKaDeyT0qyQNLKl7+UyqYH2dDF6UN/14873IPBHchcsU+Zg=="], + + "@tanstack/react-form": ["@tanstack/react-form@1.14.1", "", { "dependencies": { "@tanstack/form-core": "1.14.0", "@tanstack/react-store": "^0.7.3", "decode-formdata": "^0.9.0", "devalue": "^5.1.1" }, "peerDependencies": { "@tanstack/react-start": "^1.112.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0", "vinxi": "^0.5.0" }, "optionalPeers": ["@tanstack/react-start", "vinxi"] }, "sha512-Ioja3zcLZj082OdCH6pFNv15fD4UTfnJgKIXxY7Iumio8EcYLXSuxzanqNWewFvftshUFHknSEa7QtyOAkFs0Q=="], + + "@tanstack/react-query": ["@tanstack/react-query@5.83.0", "", { "dependencies": { "@tanstack/query-core": "5.83.0" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-/XGYhZ3foc5H0VM2jLSD/NyBRIOK4q9kfeml4+0x2DlL6xVuAcVEW+hTlTapAmejObg0i3eNqhkr2dT+eciwoQ=="], + + "@tanstack/react-query-devtools": ["@tanstack/react-query-devtools@5.83.0", "", { "dependencies": { "@tanstack/query-devtools": "5.81.2" }, "peerDependencies": { "@tanstack/react-query": "^5.83.0", "react": "^18 || ^19" } }, "sha512-yfp8Uqd3I1jgx8gl0lxbSSESu5y4MO2ThOPBnGNTYs0P+ZFu+E9g5IdOngyUGuo6Uz6Qa7p9TLdZEX3ntik2fQ=="], + + "@tanstack/react-router": ["@tanstack/react-router@1.127.9", "", { "dependencies": { "@tanstack/history": "1.121.34", "@tanstack/react-store": "^0.7.0", "@tanstack/router-core": "1.127.8", "isbot": "^5.1.22", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" }, "peerDependencies": { "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-/CKSrJV2sI0/fCSB7VsTl8YcT9bBTiQssIxmnPEkxfeaeVmkbtJ4OSeXs6y3iYAyPMpTuQ1K2BjyV2FjGqEFVw=="], + + "@tanstack/react-router-devtools": ["@tanstack/react-router-devtools@1.127.9", "", { "dependencies": { "@tanstack/router-devtools-core": "^1.127.8" }, "peerDependencies": { "@tanstack/react-router": "^1.127.9", "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-Vw8Q1SsLwmQm6yhJvEgbzz2jlj183/vP4aM0cZ6nhp+q7wz67+cvvi64cVp2GwRltC0WJWvFsUDPmp+Bwmls2g=="], + + "@tanstack/react-router-with-query": ["@tanstack/react-router-with-query@1.127.9", "", { "peerDependencies": { "@tanstack/react-query": ">=5.49.2", "@tanstack/react-router": ">=1.43.2", "@tanstack/router-core": ">=1.114.7", "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-uGQVXxVpzyuuY7U6cU2qh9oSssPJkSvKRo4A7K2VSXmKdh9cuUw8Tt0A0n9mAnrGwvuZ9v8XiQy0JSunRDR7OA=="], + + "@tanstack/react-start": ["@tanstack/react-start@1.127.9", "", { "dependencies": { "@tanstack/react-start-client": "1.127.9", "@tanstack/react-start-plugin": "1.127.9", "@tanstack/react-start-server": "1.127.9", "@tanstack/start-server-functions-client": "1.127.8", "@tanstack/start-server-functions-server": "1.127.4" }, "peerDependencies": { "@vitejs/plugin-react": ">=4.3.4", "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0", "vite": ">=6.0.0" } }, "sha512-lmXm5a71w/5IbJhrQzMlW6S2EluRfW+d4+7CP6Y6umApMqZuQJyyPEWalO72T44K/2yaJKaloazI7nxJ3Jz2CQ=="], + + "@tanstack/react-start-client": ["@tanstack/react-start-client@1.127.9", "", { "dependencies": { "@tanstack/react-router": "1.127.9", "@tanstack/router-core": "1.127.8", "@tanstack/start-client-core": "1.127.8", "cookie-es": "^1.2.2", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" }, "peerDependencies": { "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-Z42lqCc2nEwbMt4P8MjgCsYv6GiH+rVMtHN/Vap8Xw33GEJiiT9dYkuODv2Ryj9SfQ80t19cjhjar6eXMMlxIA=="], + + "@tanstack/react-start-plugin": ["@tanstack/react-start-plugin@1.127.9", "", { "dependencies": { "@tanstack/start-plugin-core": "1.127.9", "zod": "^3.24.2" }, "peerDependencies": { "@vitejs/plugin-react": ">=4.3.4", "vite": ">=6.0.0" } }, "sha512-qzzvXqOIypXbgP75xfw1SG/kIbnLbRx6vbNW18PFLU5/FH2ch8ZYrZISNdIMu+rv0KO+Eyk5lUix+T40y/IQhQ=="], + + "@tanstack/react-start-server": ["@tanstack/react-start-server@1.127.9", "", { "dependencies": { "@tanstack/history": "^1.121.34", "@tanstack/react-router": "^1.127.9", "@tanstack/router-core": "^1.127.8", "@tanstack/start-client-core": "1.127.8", "@tanstack/start-server-core": "1.127.8", "h3": "1.13.0", "isbot": "^5.1.22" }, "peerDependencies": { "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-bAtVN8SbFL06w53W0AX4fzI897T+x1pRVNDAABI6j3SIq9yf+UwspHWdTPcU9yWPzLXCws33Cl5XaXRN+CNG0Q=="], + + "@tanstack/react-store": ["@tanstack/react-store@0.7.3", "", { "dependencies": { "@tanstack/store": "0.7.2", "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-3Dnqtbw9P2P0gw8uUM8WP2fFfg8XMDSZCTsywRPZe/XqqYW8PGkXKZTvP0AHkE4mpqP9Y43GpOg9vwO44azu6Q=="], + + "@tanstack/react-table": ["@tanstack/react-table@8.21.3", "", { "dependencies": { "@tanstack/table-core": "8.21.3" }, "peerDependencies": { "react": ">=16.8", "react-dom": ">=16.8" } }, "sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww=="], + + "@tanstack/router-core": ["@tanstack/router-core@1.127.8", "", { "dependencies": { "@tanstack/history": "1.121.34", "@tanstack/store": "^0.7.0", "cookie-es": "^1.2.2", "seroval": "^1.3.2", "seroval-plugins": "^1.3.2", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" } }, "sha512-GYRmuvU9mcqu68GF56pNSE8TLGQ8jI0CsxuJXLwhwlawmnWGWeVo2L3g4ZOoK/lW6Mc5pr9OefkbEcyB/SFFNw=="], + + "@tanstack/router-devtools-core": ["@tanstack/router-devtools-core@1.127.8", "", { "dependencies": { "clsx": "^2.1.1", "goober": "^2.1.16", "solid-js": "^1.9.5" }, "peerDependencies": { "@tanstack/router-core": "^1.127.8", "csstype": "^3.0.10", "tiny-invariant": "^1.3.3" }, "optionalPeers": ["csstype"] }, "sha512-8rRqZ5AiTVUMLFkmFX5pyYe4NyC7vr5NJvpMz2QLXvFH/dkK1WONxEqkjE0VJ3p+ZI8CAjzgu5+KaQ+QFBIQsA=="], + + "@tanstack/router-generator": ["@tanstack/router-generator@1.127.8", "", { "dependencies": { "@tanstack/router-core": "^1.127.8", "@tanstack/router-utils": "1.121.21", "@tanstack/virtual-file-routes": "^1.121.21", "prettier": "^3.5.0", "recast": "^0.23.11", "source-map": "^0.7.4", "tsx": "^4.19.2", "zod": "^3.24.2" } }, "sha512-46gXnlBUWR4/MUbfZoiO2YNwKlySVEC6IYPzC33qIh4suXsOP9ovAJVGLxXHLB+1FtwQs6NfIoDR0nGsP18dBg=="], + + "@tanstack/router-plugin": ["@tanstack/router-plugin@1.127.9", "", { "dependencies": { "@babel/core": "^7.27.7", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.27.1", "@babel/template": "^7.27.2", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", "@tanstack/router-core": "^1.127.8", "@tanstack/router-generator": "1.127.8", "@tanstack/router-utils": "1.121.21", "@tanstack/virtual-file-routes": "^1.121.21", "babel-dead-code-elimination": "^1.0.10", "chokidar": "^3.6.0", "unplugin": "^2.1.2", "zod": "^3.24.2" }, "peerDependencies": { "@rsbuild/core": ">=1.0.2", "@tanstack/react-router": "^1.127.9", "vite": ">=5.0.0 || >=6.0.0", "vite-plugin-solid": "^2.11.2", "webpack": ">=5.92.0" }, "optionalPeers": ["@rsbuild/core", "@tanstack/react-router", "vite", "vite-plugin-solid", "webpack"] }, "sha512-Cu2zJTVJCvwoukGnhJy4r02U30WmgiT/7cGhARzOzhlfd3QXVdgj3jYi1DFh4nNMHHlJQQEz7zA1/0cX990sGA=="], + + "@tanstack/router-utils": ["@tanstack/router-utils@1.121.21", "", { "dependencies": { "@babel/core": "^7.27.4", "@babel/generator": "^7.27.5", "@babel/parser": "^7.27.5", "@babel/preset-typescript": "^7.27.1", "ansis": "^4.1.0", "diff": "^8.0.2" } }, "sha512-u7ubq1xPBtNiU7Fm+EOWlVWdgFLzuKOa1thhqdscVn8R4dNMUd1VoOjZ6AKmLw201VaUhFtlX+u0pjzI6szX7A=="], + + "@tanstack/server-functions-plugin": ["@tanstack/server-functions-plugin@1.124.1", "", { "dependencies": { "@babel/code-frame": "7.27.1", "@babel/core": "^7.27.7", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.27.1", "@babel/template": "^7.27.2", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", "@tanstack/directive-functions-plugin": "1.124.1", "babel-dead-code-elimination": "^1.0.9", "tiny-invariant": "^1.3.3" } }, "sha512-9GIu+PXu5itj+Q74FJQpd4WV3FikzkAAxvBl9hrnmiEwz+AGDZL0GOiGy++MdupHJXuHXXss9mHqKtNmw9wMdw=="], + + "@tanstack/start-client-core": ["@tanstack/start-client-core@1.127.8", "", { "dependencies": { "@tanstack/router-core": "1.127.8", "cookie-es": "^1.2.2", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" } }, "sha512-02OoF94mGypYNvObd5sxAZ4ERigAzfOcs0dU4W6ZxdHc34kVWHyhll2QoBvjT2VUZTqi4jBajleilBgiaEDz6A=="], + + "@tanstack/start-plugin-core": ["@tanstack/start-plugin-core@1.127.9", "", { "dependencies": { "@babel/code-frame": "7.26.2", "@babel/core": "^7.26.8", "@babel/types": "^7.26.8", "@tanstack/router-core": "1.127.8", "@tanstack/router-generator": "1.127.8", "@tanstack/router-plugin": "1.127.9", "@tanstack/router-utils": "1.121.21", "@tanstack/server-functions-plugin": "1.124.1", "@tanstack/start-server-core": "1.127.8", "@types/babel__code-frame": "^7.0.6", "@types/babel__core": "^7.20.5", "babel-dead-code-elimination": "^1.0.9", "cheerio": "^1.0.0", "h3": "1.13.0", "nitropack": "^2.11.12", "pathe": "^2.0.3", "ufo": "^1.5.4", "xmlbuilder2": "^3.1.1", "zod": "^3.24.2" }, "peerDependencies": { "vite": ">=6.0.0" } }, "sha512-XS1+LcAKdRr1L9fDmDS7sT0hBmi6mnT+3Y57PNQXLDXLYlXGEhEJxDOQOiGmIDtbQx8X86tAu2eDbUeqcaVKOQ=="], + + "@tanstack/start-server-core": ["@tanstack/start-server-core@1.127.8", "", { "dependencies": { "@tanstack/history": "1.121.34", "@tanstack/router-core": "1.127.8", "@tanstack/start-client-core": "1.127.8", "h3": "1.13.0", "isbot": "^5.1.22", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3", "unctx": "^2.4.1" } }, "sha512-Xd1OHQzgff7KD/8VoTE/ewShZMAeHVqxvyNWCpi6kd5v/cQvbXit1ORvv7jNowSopURvmy+dYRVL47zI3Qc+kA=="], + + "@tanstack/start-server-functions-client": ["@tanstack/start-server-functions-client@1.127.8", "", { "dependencies": { "@tanstack/server-functions-plugin": "1.124.1", "@tanstack/start-server-functions-fetcher": "1.127.8" } }, "sha512-/3UTGFfySVrJNFoYmmdwuA3pRH+fjkrM+xsws00f42aa3bsS9Bg/eAUrRIkSqhmQFv+Z8nQMiZSjIXx1+0V7/g=="], + + "@tanstack/start-server-functions-fetcher": ["@tanstack/start-server-functions-fetcher@1.127.8", "", { "dependencies": { "@tanstack/router-core": "1.127.8", "@tanstack/start-client-core": "1.127.8" } }, "sha512-Q0k42kzOJXfwQK8b9KXNg39mLEJRs4AttfBRErHDmnEd6CsmFRNzQnjGDutOqRAmLvoHY7M97Iz+JDUiCI1CoA=="], + + "@tanstack/start-server-functions-server": ["@tanstack/start-server-functions-server@1.127.4", "", { "dependencies": { "@tanstack/server-functions-plugin": "1.124.1", "tiny-invariant": "^1.3.3" } }, "sha512-e0KzPtot+Hedp243+Shly6tzgxRIBhVQG6u1IMYCsvLyLF5Z6mPzL/6BV9MUp6XiYUPpyMv3nYiM2BjLfAbagg=="], + + "@tanstack/store": ["@tanstack/store@0.7.2", "", {}, "sha512-RP80Z30BYiPX2Pyo0Nyw4s1SJFH2jyM6f9i3HfX4pA+gm5jsnYryscdq2aIQLnL4TaGuQMO+zXmN9nh1Qck+Pg=="], + + "@tanstack/table-core": ["@tanstack/table-core@8.21.3", "", {}, "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg=="], + + "@tanstack/virtual-file-routes": ["@tanstack/virtual-file-routes@1.121.21", "", {}, "sha512-3nuYsTyaq6ZN7jRZ9z6Gj3GXZqBOqOT0yzd/WZ33ZFfv4yVNIvsa5Lw+M1j3sgyEAxKMqGu/FaNi7FCjr3yOdw=="], + + "@testing-library/dom": ["@testing-library/dom@10.4.0", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "pretty-format": "^27.0.2" } }, "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ=="], + + "@testing-library/react": ["@testing-library/react@16.3.0", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw=="], + + "@tybys/wasm-util": ["@tybys/wasm-util@0.10.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ=="], + + "@types/aria-query": ["@types/aria-query@5.0.4", "", {}, "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw=="], + + "@types/babel__code-frame": ["@types/babel__code-frame@7.0.6", "", {}, "sha512-Anitqkl3+KrzcW2k77lRlg/GfLZLWXBuNgbEcIOU6M92yw42vsd3xV/Z/yAHEj8m+KUjL6bWOVOFqX8PFPJ4LA=="], + + "@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="], + + "@types/babel__generator": ["@types/babel__generator@7.27.0", "", { "dependencies": { "@babel/types": "^7.0.0" } }, "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg=="], + + "@types/babel__template": ["@types/babel__template@7.4.4", "", { "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A=="], + + "@types/babel__traverse": ["@types/babel__traverse@7.20.7", "", { "dependencies": { "@babel/types": "^7.20.7" } }, "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng=="], + + "@types/chai": ["@types/chai@5.2.2", "", { "dependencies": { "@types/deep-eql": "*" } }, "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg=="], + + "@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="], + + "@types/deep-eql": ["@types/deep-eql@4.0.2", "", {}, "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw=="], + + "@types/diff-match-patch": ["@types/diff-match-patch@1.0.36", "", {}, "sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg=="], + + "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "@types/estree-jsx": ["@types/estree-jsx@1.0.5", "", { "dependencies": { "@types/estree": "*" } }, "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg=="], + + "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="], + + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + + "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="], + + "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], + + "@types/node": ["@types/node@24.0.14", "", { "dependencies": { "undici-types": "~7.8.0" } }, "sha512-4zXMWD91vBLGRtHK3YbIoFMia+1nqEz72coM42C5ETjnNCa/heoj7NT1G67iAfOqMmcfhuCZ4uNpyz8EjlAejw=="], + + "@types/normalize-package-data": ["@types/normalize-package-data@2.4.4", "", {}, "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA=="], + + "@types/react": ["@types/react@19.1.8", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g=="], + + "@types/react-dom": ["@types/react-dom@19.1.6", "", { "peerDependencies": { "@types/react": "^19.0.0" } }, "sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw=="], + + "@types/resolve": ["@types/resolve@1.20.2", "", {}, "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q=="], + + "@types/triple-beam": ["@types/triple-beam@1.3.5", "", {}, "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw=="], + + "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="], + + "@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="], + + "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.37.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.37.0", "@typescript-eslint/type-utils": "8.37.0", "@typescript-eslint/utils": "8.37.0", "@typescript-eslint/visitor-keys": "8.37.0", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.37.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA=="], + + "@typescript-eslint/parser": ["@typescript-eslint/parser@8.37.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.37.0", "@typescript-eslint/types": "8.37.0", "@typescript-eslint/typescript-estree": "8.37.0", "@typescript-eslint/visitor-keys": "8.37.0", "debug": "^4.3.4" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA=="], + + "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.37.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.37.0", "@typescript-eslint/types": "^8.37.0", "debug": "^4.3.4" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-BIUXYsbkl5A1aJDdYJCBAo8rCEbAvdquQ8AnLb6z5Lp1u3x5PNgSSx9A/zqYc++Xnr/0DVpls8iQ2cJs/izTXA=="], + + "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.37.0", "", { "dependencies": { "@typescript-eslint/types": "8.37.0", "@typescript-eslint/visitor-keys": "8.37.0" } }, "sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA=="], + + "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.37.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-1/YHvAVTimMM9mmlPvTec9NP4bobA1RkDbMydxG8omqwJJLEW/Iy2C4adsAESIXU3WGLXFHSZUU+C9EoFWl4Zg=="], + + "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.37.0", "", { "dependencies": { "@typescript-eslint/types": "8.37.0", "@typescript-eslint/typescript-estree": "8.37.0", "@typescript-eslint/utils": "8.37.0", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-SPkXWIkVZxhgwSwVq9rqj/4VFo7MnWwVaRNznfQDc/xPYHjXnPfLWn+4L6FF1cAz6e7dsqBeMawgl7QjUMj4Ow=="], + + "@typescript-eslint/types": ["@typescript-eslint/types@8.37.0", "", {}, "sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ=="], + + "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.37.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.37.0", "@typescript-eslint/tsconfig-utils": "8.37.0", "@typescript-eslint/types": "8.37.0", "@typescript-eslint/visitor-keys": "8.37.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-zuWDMDuzMRbQOM+bHyU4/slw27bAUEcKSKKs3hcv2aNnc/tvE/h7w60dwVw8vnal2Pub6RT1T7BI8tFZ1fE+yg=="], + + "@typescript-eslint/utils": ["@typescript-eslint/utils@8.37.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.37.0", "@typescript-eslint/types": "8.37.0", "@typescript-eslint/typescript-estree": "8.37.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-TSFvkIW6gGjN2p6zbXo20FzCABbyUAuq6tBvNRGsKdsSQ6a7rnV6ADfZ7f4iI3lIiXc4F4WWvtUfDw9CJ9pO5A=="], + + "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.37.0", "", { "dependencies": { "@typescript-eslint/types": "8.37.0", "eslint-visitor-keys": "^4.2.1" } }, "sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w=="], + + "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="], + + "@unrs/resolver-binding-android-arm-eabi": ["@unrs/resolver-binding-android-arm-eabi@1.11.1", "", { "os": "android", "cpu": "arm" }, "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw=="], + + "@unrs/resolver-binding-android-arm64": ["@unrs/resolver-binding-android-arm64@1.11.1", "", { "os": "android", "cpu": "arm64" }, "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g=="], + + "@unrs/resolver-binding-darwin-arm64": ["@unrs/resolver-binding-darwin-arm64@1.11.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g=="], + + "@unrs/resolver-binding-darwin-x64": ["@unrs/resolver-binding-darwin-x64@1.11.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ=="], + + "@unrs/resolver-binding-freebsd-x64": ["@unrs/resolver-binding-freebsd-x64@1.11.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw=="], + + "@unrs/resolver-binding-linux-arm-gnueabihf": ["@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1", "", { "os": "linux", "cpu": "arm" }, "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw=="], + + "@unrs/resolver-binding-linux-arm-musleabihf": ["@unrs/resolver-binding-linux-arm-musleabihf@1.11.1", "", { "os": "linux", "cpu": "arm" }, "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw=="], + + "@unrs/resolver-binding-linux-arm64-gnu": ["@unrs/resolver-binding-linux-arm64-gnu@1.11.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ=="], + + "@unrs/resolver-binding-linux-arm64-musl": ["@unrs/resolver-binding-linux-arm64-musl@1.11.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w=="], + + "@unrs/resolver-binding-linux-ppc64-gnu": ["@unrs/resolver-binding-linux-ppc64-gnu@1.11.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA=="], + + "@unrs/resolver-binding-linux-riscv64-gnu": ["@unrs/resolver-binding-linux-riscv64-gnu@1.11.1", "", { "os": "linux", "cpu": "none" }, "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ=="], + + "@unrs/resolver-binding-linux-riscv64-musl": ["@unrs/resolver-binding-linux-riscv64-musl@1.11.1", "", { "os": "linux", "cpu": "none" }, "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew=="], + + "@unrs/resolver-binding-linux-s390x-gnu": ["@unrs/resolver-binding-linux-s390x-gnu@1.11.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg=="], + + "@unrs/resolver-binding-linux-x64-gnu": ["@unrs/resolver-binding-linux-x64-gnu@1.11.1", "", { "os": "linux", "cpu": "x64" }, "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w=="], + + "@unrs/resolver-binding-linux-x64-musl": ["@unrs/resolver-binding-linux-x64-musl@1.11.1", "", { "os": "linux", "cpu": "x64" }, "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA=="], + + "@unrs/resolver-binding-wasm32-wasi": ["@unrs/resolver-binding-wasm32-wasi@1.11.1", "", { "dependencies": { "@napi-rs/wasm-runtime": "^0.2.11" }, "cpu": "none" }, "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ=="], + + "@unrs/resolver-binding-win32-arm64-msvc": ["@unrs/resolver-binding-win32-arm64-msvc@1.11.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw=="], + + "@unrs/resolver-binding-win32-ia32-msvc": ["@unrs/resolver-binding-win32-ia32-msvc@1.11.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ=="], + + "@unrs/resolver-binding-win32-x64-msvc": ["@unrs/resolver-binding-win32-x64-msvc@1.11.1", "", { "os": "win32", "cpu": "x64" }, "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g=="], + + "@vercel/nft": ["@vercel/nft@0.29.4", "", { "dependencies": { "@mapbox/node-pre-gyp": "^2.0.0", "@rollup/pluginutils": "^5.1.3", "acorn": "^8.6.0", "acorn-import-attributes": "^1.9.5", "async-sema": "^3.1.1", "bindings": "^1.4.0", "estree-walker": "2.0.2", "glob": "^10.4.5", "graceful-fs": "^4.2.9", "node-gyp-build": "^4.2.2", "picomatch": "^4.0.2", "resolve-from": "^5.0.0" }, "bin": { "nft": "out/cli.js" } }, "sha512-6lLqMNX3TuycBPABycx7A9F1bHQR7kiQln6abjFbPrf5C/05qHM9M5E4PeTE59c7z8g6vHnx1Ioihb2AQl7BTA=="], + + "@vitejs/plugin-react": ["@vitejs/plugin-react@4.6.0", "", { "dependencies": { "@babel/core": "^7.27.4", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", "@rolldown/pluginutils": "1.0.0-beta.19", "@types/babel__core": "^7.20.5", "react-refresh": "^0.17.0" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" } }, "sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ=="], + + "@vitest/expect": ["@vitest/expect@3.2.4", "", { "dependencies": { "@types/chai": "^5.2.2", "@vitest/spy": "3.2.4", "@vitest/utils": "3.2.4", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" } }, "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig=="], + + "@vitest/mocker": ["@vitest/mocker@3.2.4", "", { "dependencies": { "@vitest/spy": "3.2.4", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, "peerDependencies": { "msw": "^2.4.9", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "optionalPeers": ["msw", "vite"] }, "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ=="], + + "@vitest/pretty-format": ["@vitest/pretty-format@3.2.4", "", { "dependencies": { "tinyrainbow": "^2.0.0" } }, "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA=="], + + "@vitest/runner": ["@vitest/runner@3.2.4", "", { "dependencies": { "@vitest/utils": "3.2.4", "pathe": "^2.0.3", "strip-literal": "^3.0.0" } }, "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ=="], + + "@vitest/snapshot": ["@vitest/snapshot@3.2.4", "", { "dependencies": { "@vitest/pretty-format": "3.2.4", "magic-string": "^0.30.17", "pathe": "^2.0.3" } }, "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ=="], + + "@vitest/spy": ["@vitest/spy@3.2.4", "", { "dependencies": { "tinyspy": "^4.0.3" } }, "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw=="], + + "@vitest/utils": ["@vitest/utils@3.2.4", "", { "dependencies": { "@vitest/pretty-format": "3.2.4", "loupe": "^3.1.4", "tinyrainbow": "^2.0.0" } }, "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA=="], + + "@vue/compiler-core": ["@vue/compiler-core@3.5.17", "", { "dependencies": { "@babel/parser": "^7.27.5", "@vue/shared": "3.5.17", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA=="], + + "@vue/compiler-dom": ["@vue/compiler-dom@3.5.17", "", { "dependencies": { "@vue/compiler-core": "3.5.17", "@vue/shared": "3.5.17" } }, "sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ=="], + + "@vue/compiler-sfc": ["@vue/compiler-sfc@3.5.17", "", { "dependencies": { "@babel/parser": "^7.27.5", "@vue/compiler-core": "3.5.17", "@vue/compiler-dom": "3.5.17", "@vue/compiler-ssr": "3.5.17", "@vue/shared": "3.5.17", "estree-walker": "^2.0.2", "magic-string": "^0.30.17", "postcss": "^8.5.6", "source-map-js": "^1.2.1" } }, "sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww=="], + + "@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.17", "", { "dependencies": { "@vue/compiler-dom": "3.5.17", "@vue/shared": "3.5.17" } }, "sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ=="], + + "@vue/shared": ["@vue/shared@3.5.17", "", {}, "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg=="], + + "@whatwg-node/disposablestack": ["@whatwg-node/disposablestack@0.0.6", "", { "dependencies": { "@whatwg-node/promise-helpers": "^1.0.0", "tslib": "^2.6.3" } }, "sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw=="], + + "@whatwg-node/fetch": ["@whatwg-node/fetch@0.10.8", "", { "dependencies": { "@whatwg-node/node-fetch": "^0.7.21", "urlpattern-polyfill": "^10.0.0" } }, "sha512-Rw9z3ctmeEj8QIB9MavkNJqekiu9usBCSMZa+uuAvM0lF3v70oQVCXNppMIqaV6OTZbdaHF1M2HLow58DEw+wg=="], + + "@whatwg-node/node-fetch": ["@whatwg-node/node-fetch@0.7.21", "", { "dependencies": { "@fastify/busboy": "^3.1.1", "@whatwg-node/disposablestack": "^0.0.6", "@whatwg-node/promise-helpers": "^1.3.2", "tslib": "^2.6.3" } }, "sha512-QC16IdsEyIW7kZd77aodrMO7zAoDyyqRCTLg+qG4wqtP4JV9AA+p7/lgqMdD29XyiYdVvIdFrfI9yh7B1QvRvw=="], + + "@whatwg-node/promise-helpers": ["@whatwg-node/promise-helpers@1.3.2", "", { "dependencies": { "tslib": "^2.6.3" } }, "sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA=="], + + "@whatwg-node/server": ["@whatwg-node/server@0.9.71", "", { "dependencies": { "@whatwg-node/disposablestack": "^0.0.6", "@whatwg-node/fetch": "^0.10.5", "@whatwg-node/promise-helpers": "^1.2.2", "tslib": "^2.6.3" } }, "sha512-ueFCcIPaMgtuYDS9u0qlUoEvj6GiSsKrwnOLPp9SshqjtcRaR1IEHRjoReq3sXNydsF5i0ZnmuYgXq9dV53t0g=="], + + "abbrev": ["abbrev@3.0.1", "", {}, "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg=="], + + "abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="], + + "accepts": ["accepts@2.0.0", "", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="], + + "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], + + "acorn-import-attributes": ["acorn-import-attributes@1.9.5", "", { "peerDependencies": { "acorn": "^8" } }, "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ=="], + + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + + "agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="], + + "ai": ["ai@4.3.19", "", { "dependencies": { "@ai-sdk/provider": "1.1.3", "@ai-sdk/provider-utils": "2.2.8", "@ai-sdk/react": "1.2.12", "@ai-sdk/ui-utils": "1.2.11", "@opentelemetry/api": "1.9.0", "jsondiffpatch": "0.6.0" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "zod": "^3.23.8" }, "optionalPeers": ["react"] }, "sha512-dIE2bfNpqHN3r6IINp9znguYdhIOheKW2LDigAMrgt/upT3B8eBGPSCblENvaZGoq+hxaN9fSMzjWpbqloP+7Q=="], + + "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], + + "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="], + + "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "ansis": ["ansis@4.1.0", "", {}, "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w=="], + + "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], + + "archiver": ["archiver@7.0.1", "", { "dependencies": { "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", "readable-stream": "^4.0.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", "zip-stream": "^6.0.1" } }, "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ=="], + + "archiver-utils": ["archiver-utils@5.0.2", "", { "dependencies": { "glob": "^10.0.0", "graceful-fs": "^4.2.0", "is-stream": "^2.0.1", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], + + "aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="], + + "assertion-error": ["assertion-error@2.0.1", "", {}, "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="], + + "ast-module-types": ["ast-module-types@6.0.1", "", {}, "sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA=="], + + "ast-types": ["ast-types@0.16.1", "", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg=="], + + "async": ["async@3.2.6", "", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="], + + "async-sema": ["async-sema@3.1.1", "", {}, "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg=="], + + "b4a": ["b4a@1.6.7", "", {}, "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg=="], + + "babel-dead-code-elimination": ["babel-dead-code-elimination@1.0.10", "", { "dependencies": { "@babel/core": "^7.23.7", "@babel/parser": "^7.23.6", "@babel/traverse": "^7.23.7", "@babel/types": "^7.23.6" } }, "sha512-DV5bdJZTzZ0zn0DC24v3jD7Mnidh6xhKa4GfKCbq3sfW8kaWhDdZjP3i81geA8T33tdYqWKw4D3fVv0CwEgKVA=="], + + "bail": ["bail@2.0.2", "", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="], + + "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + + "bare-events": ["bare-events@2.6.0", "", {}, "sha512-EKZ5BTXYExaNqi3I3f9RtEsaI/xBSGjE0XZCZilPzFAV/goswFHuPd9jEZlPIZ/iNZJwDSao9qRiScySz7MbQg=="], + + "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + + "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], + + "bindings": ["bindings@1.5.0", "", { "dependencies": { "file-uri-to-path": "1.0.0" } }, "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="], + + "body-parser": ["body-parser@2.2.0", "", { "dependencies": { "bytes": "^3.1.2", "content-type": "^1.0.5", "debug": "^4.4.0", "http-errors": "^2.0.0", "iconv-lite": "^0.6.3", "on-finished": "^2.4.1", "qs": "^6.14.0", "raw-body": "^3.0.0", "type-is": "^2.0.0" } }, "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg=="], + + "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], + + "brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + + "browserslist": ["browserslist@4.25.1", "", { "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw=="], + + "buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="], + + "buffer-crc32": ["buffer-crc32@1.0.0", "", {}, "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w=="], + + "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], + + "builtin-modules": ["builtin-modules@3.3.0", "", {}, "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw=="], + + "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], + + "c12": ["c12@3.1.0", "", { "dependencies": { "chokidar": "^4.0.3", "confbox": "^0.2.2", "defu": "^6.1.4", "dotenv": "^16.6.1", "exsolve": "^1.0.7", "giget": "^2.0.0", "jiti": "^2.4.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^1.0.0", "pkg-types": "^2.2.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "^0.3.5" }, "optionalPeers": ["magicast"] }, "sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw=="], + + "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="], + + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + + "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], + + "callsite": ["callsite@1.0.0", "", {}, "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ=="], + + "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], + + "caniuse-lite": ["caniuse-lite@1.0.30001727", "", {}, "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q=="], + + "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="], + + "chai": ["chai@5.2.1", "", { "dependencies": { "assertion-error": "^2.0.1", "check-error": "^2.1.1", "deep-eql": "^5.0.1", "loupe": "^3.1.0", "pathval": "^2.0.0" } }, "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A=="], + + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + + "change-case": ["change-case@5.4.4", "", {}, "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w=="], + + "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="], + + "character-entities-html4": ["character-entities-html4@2.1.0", "", {}, "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="], + + "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="], + + "character-reference-invalid": ["character-reference-invalid@2.0.1", "", {}, "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="], + + "check-error": ["check-error@2.1.1", "", {}, "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw=="], + + "cheerio": ["cheerio@1.1.0", "", { "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "encoding-sniffer": "^0.2.0", "htmlparser2": "^10.0.0", "parse5": "^7.3.0", "parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-parser-stream": "^7.1.2", "undici": "^7.10.0", "whatwg-mimetype": "^4.0.0" } }, "sha512-+0hMx9eYhJvWbgpKV9hN7jg0JcwydpopZE4hgi+KvQtByZXPp04NiCWU0LzcAbP63abZckIHkTQaXVF52mX3xQ=="], + + "cheerio-select": ["cheerio-select@2.1.0", "", { "dependencies": { "boolbase": "^1.0.0", "css-select": "^5.1.0", "css-what": "^6.1.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.0.1" } }, "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g=="], + + "chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], + + "chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="], + + "citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="], + + "class-variance-authority": ["class-variance-authority@0.7.1", "", { "dependencies": { "clsx": "^2.1.1" } }, "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg=="], + + "clipboardy": ["clipboardy@4.0.0", "", { "dependencies": { "execa": "^8.0.1", "is-wsl": "^3.1.0", "is64bit": "^2.0.0" } }, "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w=="], + + "cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + + "cluster-key-slot": ["cluster-key-slot@1.1.2", "", {}, "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA=="], + + "color": ["color@3.2.1", "", { "dependencies": { "color-convert": "^1.9.3", "color-string": "^1.6.0" } }, "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA=="], + + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + + "color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="], + + "colorette": ["colorette@1.4.0", "", {}, "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g=="], + + "colorspace": ["colorspace@1.1.4", "", { "dependencies": { "color": "^3.1.3", "text-hex": "1.0.x" } }, "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w=="], + + "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="], + + "commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="], + + "comment-parser": ["comment-parser@1.4.1", "", {}, "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg=="], + + "common-path-prefix": ["common-path-prefix@3.0.0", "", {}, "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w=="], + + "commondir": ["commondir@1.0.1", "", {}, "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="], + + "compatx": ["compatx@0.2.0", "", {}, "sha512-6gLRNt4ygsi5NyMVhceOCFv14CIdDFN7fQjX1U4+47qVE/+kjPoXMK65KWK+dWxmFzMTuKazoQ9sch6pM0p5oA=="], + + "compress-commons": ["compress-commons@6.0.2", "", { "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^6.0.0", "is-stream": "^2.0.1", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg=="], + + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + + "confbox": ["confbox@0.2.2", "", {}, "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ=="], + + "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="], + + "content-disposition": ["content-disposition@1.0.0", "", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg=="], + + "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], + + "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + + "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], + + "cookie-es": ["cookie-es@1.2.2", "", {}, "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg=="], + + "cookie-signature": ["cookie-signature@1.2.2", "", {}, "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg=="], + + "copy-file": ["copy-file@11.0.0", "", { "dependencies": { "graceful-fs": "^4.2.11", "p-event": "^6.0.0" } }, "sha512-mFsNh/DIANLqFt5VHZoGirdg7bK5+oTWlhnGu6tgRhzBlnEKWaPX2xrFaLltii/6rmhqFMJqffUgknuRdpYlHw=="], + + "core-util-is": ["core-util-is@1.0.3", "", {}, "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="], + + "cors": ["cors@2.8.5", "", { "dependencies": { "object-assign": "^4", "vary": "^1" } }, "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g=="], + + "crc-32": ["crc-32@1.2.2", "", { "bin": { "crc32": "bin/crc32.njs" } }, "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="], + + "crc32-stream": ["crc32-stream@6.0.0", "", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^4.0.0" } }, "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g=="], + + "cron-parser": ["cron-parser@4.9.0", "", { "dependencies": { "luxon": "^3.2.1" } }, "sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q=="], + + "croner": ["croner@9.1.0", "", {}, "sha512-p9nwwR4qyT5W996vBZhdvBCnMhicY5ytZkR4D1Xj0wuTDEiMnjwR57Q3RXYY/s0EpX6Ay3vgIcfaR+ewGHsi+g=="], + + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + + "crossws": ["crossws@0.3.5", "", { "dependencies": { "uncrypto": "^0.1.3" } }, "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA=="], + + "css-select": ["css-select@5.2.2", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw=="], + + "css-what": ["css-what@6.2.2", "", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="], + + "cssstyle": ["cssstyle@4.6.0", "", { "dependencies": { "@asamuzakjp/css-color": "^3.2.0", "rrweb-cssom": "^0.8.0" } }, "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg=="], + + "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="], + + "data-uri-to-buffer": ["data-uri-to-buffer@4.0.1", "", {}, "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A=="], + + "data-urls": ["data-urls@5.0.0", "", { "dependencies": { "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.0.0" } }, "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg=="], + + "db0": ["db0@0.3.2", "", { "peerDependencies": { "@electric-sql/pglite": "*", "@libsql/client": "*", "better-sqlite3": "*", "drizzle-orm": "*", "mysql2": "*", "sqlite3": "*" }, "optionalPeers": ["@electric-sql/pglite", "@libsql/client", "better-sqlite3", "drizzle-orm", "mysql2", "sqlite3"] }, "sha512-xzWNQ6jk/+NtdfLyXEipbX55dmDSeteLFt/ayF+wZUU5bzKgmrDOxmInUTbyVRp46YwnJdkDA1KhB7WIXFofJw=="], + + "debug": ["debug@4.4.1", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ=="], + + "decache": ["decache@4.6.2", "", { "dependencies": { "callsite": "^1.0.0" } }, "sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw=="], + + "decimal.js": ["decimal.js@10.6.0", "", {}, "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg=="], + + "decode-formdata": ["decode-formdata@0.9.0", "", {}, "sha512-q5uwOjR3Um5YD+ZWPOF/1sGHVW9A5rCrRwITQChRXlmPkxDFBqCm4jNTIVdGHNH9OnR+V9MoZVgRhsFb+ARbUw=="], + + "decode-named-character-reference": ["decode-named-character-reference@1.2.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q=="], + + "deep-eql": ["deep-eql@5.0.2", "", {}, "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q=="], + + "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], + + "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], + + "define-lazy-prop": ["define-lazy-prop@2.0.0", "", {}, "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="], + + "defu": ["defu@6.1.4", "", {}, "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="], + + "denque": ["denque@2.1.0", "", {}, "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="], + + "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], + + "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], + + "destr": ["destr@2.0.5", "", {}, "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA=="], + + "detect-libc": ["detect-libc@2.0.4", "", {}, "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA=="], + + "detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="], + + "detective-amd": ["detective-amd@6.0.1", "", { "dependencies": { "ast-module-types": "^6.0.1", "escodegen": "^2.1.0", "get-amd-module-type": "^6.0.1", "node-source-walk": "^7.0.1" }, "bin": { "detective-amd": "bin/cli.js" } }, "sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g=="], + + "detective-cjs": ["detective-cjs@6.0.1", "", { "dependencies": { "ast-module-types": "^6.0.1", "node-source-walk": "^7.0.1" } }, "sha512-tLTQsWvd2WMcmn/60T2inEJNhJoi7a//PQ7DwRKEj1yEeiQs4mrONgsUtEJKnZmrGWBBmE0kJ1vqOG/NAxwaJw=="], + + "detective-es6": ["detective-es6@5.0.1", "", { "dependencies": { "node-source-walk": "^7.0.1" } }, "sha512-XusTPuewnSUdoxRSx8OOI6xIA/uld/wMQwYsouvFN2LAg7HgP06NF1lHRV3x6BZxyL2Kkoih4ewcq8hcbGtwew=="], + + "detective-postcss": ["detective-postcss@7.0.1", "", { "dependencies": { "is-url": "^1.2.4", "postcss-values-parser": "^6.0.2" }, "peerDependencies": { "postcss": "^8.4.47" } }, "sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ=="], + + "detective-sass": ["detective-sass@6.0.1", "", { "dependencies": { "gonzales-pe": "^4.3.0", "node-source-walk": "^7.0.1" } }, "sha512-jSGPO8QDy7K7pztUmGC6aiHkexBQT4GIH+mBAL9ZyBmnUIOFbkfZnO8wPRRJFP/QP83irObgsZHCoDHZ173tRw=="], + + "detective-scss": ["detective-scss@5.0.1", "", { "dependencies": { "gonzales-pe": "^4.3.0", "node-source-walk": "^7.0.1" } }, "sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg=="], + + "detective-stylus": ["detective-stylus@5.0.1", "", {}, "sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA=="], + + "detective-typescript": ["detective-typescript@14.0.0", "", { "dependencies": { "@typescript-eslint/typescript-estree": "^8.23.0", "ast-module-types": "^6.0.1", "node-source-walk": "^7.0.1" }, "peerDependencies": { "typescript": "^5.4.4" } }, "sha512-pgN43/80MmWVSEi5LUuiVvO/0a9ss5V7fwVfrJ4QzAQRd3cwqU1SfWGXJFcNKUqoD5cS+uIovhw5t/0rSeC5Mw=="], + + "detective-vue2": ["detective-vue2@2.2.0", "", { "dependencies": { "@dependents/detective-less": "^5.0.1", "@vue/compiler-sfc": "^3.5.13", "detective-es6": "^5.0.1", "detective-sass": "^6.0.1", "detective-scss": "^5.0.1", "detective-stylus": "^5.0.1", "detective-typescript": "^14.0.0" }, "peerDependencies": { "typescript": "^5.4.4" } }, "sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA=="], + + "devalue": ["devalue@5.1.1", "", {}, "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw=="], + + "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="], + + "diff": ["diff@8.0.2", "", {}, "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg=="], + + "diff-match-patch": ["diff-match-patch@1.0.5", "", {}, "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw=="], + + "dom-accessibility-api": ["dom-accessibility-api@0.5.16", "", {}, "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg=="], + + "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], + + "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="], + + "domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="], + + "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="], + + "dot-prop": ["dot-prop@9.0.0", "", { "dependencies": { "type-fest": "^4.18.2" } }, "sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ=="], + + "dotenv": ["dotenv@16.6.1", "", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], + + "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + + "duplexer": ["duplexer@0.1.2", "", {}, "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="], + + "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], + + "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], + + "electron-to-chromium": ["electron-to-chromium@1.5.185", "", {}, "sha512-dYOZfUk57hSMPePoIQ1fZWl1Fkj+OshhEVuPacNKWzC1efe56OsHY3l/jCfiAgIICOU3VgOIdoq7ahg7r7n6MQ=="], + + "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "enabled": ["enabled@2.0.0", "", {}, "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="], + + "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], + + "encoding-sniffer": ["encoding-sniffer@0.2.1", "", { "dependencies": { "iconv-lite": "^0.6.3", "whatwg-encoding": "^3.1.1" } }, "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw=="], + + "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], + + "enhanced-resolve": ["enhanced-resolve@5.18.2", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ=="], + + "entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], + + "env-paths": ["env-paths@3.0.0", "", {}, "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A=="], + + "error-stack-parser-es": ["error-stack-parser-es@1.0.5", "", {}, "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA=="], + + "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], + + "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], + + "es-module-lexer": ["es-module-lexer@1.7.0", "", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="], + + "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], + + "esbuild": ["esbuild@0.25.6", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.6", "@esbuild/android-arm": "0.25.6", "@esbuild/android-arm64": "0.25.6", "@esbuild/android-x64": "0.25.6", "@esbuild/darwin-arm64": "0.25.6", "@esbuild/darwin-x64": "0.25.6", "@esbuild/freebsd-arm64": "0.25.6", "@esbuild/freebsd-x64": "0.25.6", "@esbuild/linux-arm": "0.25.6", "@esbuild/linux-arm64": "0.25.6", "@esbuild/linux-ia32": "0.25.6", "@esbuild/linux-loong64": "0.25.6", "@esbuild/linux-mips64el": "0.25.6", "@esbuild/linux-ppc64": "0.25.6", "@esbuild/linux-riscv64": "0.25.6", "@esbuild/linux-s390x": "0.25.6", "@esbuild/linux-x64": "0.25.6", "@esbuild/netbsd-arm64": "0.25.6", "@esbuild/netbsd-x64": "0.25.6", "@esbuild/openbsd-arm64": "0.25.6", "@esbuild/openbsd-x64": "0.25.6", "@esbuild/openharmony-arm64": "0.25.6", "@esbuild/sunos-x64": "0.25.6", "@esbuild/win32-arm64": "0.25.6", "@esbuild/win32-ia32": "0.25.6", "@esbuild/win32-x64": "0.25.6" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg=="], + + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], + + "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + + "escodegen": ["escodegen@2.1.0", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="], + + "eslint": ["eslint@9.31.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.0", "@eslint/config-helpers": "^0.3.0", "@eslint/core": "^0.15.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.31.0", "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ=="], + + "eslint-compat-utils": ["eslint-compat-utils@0.5.1", "", { "dependencies": { "semver": "^7.5.4" }, "peerDependencies": { "eslint": ">=6.0.0" } }, "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q=="], + + "eslint-import-context": ["eslint-import-context@0.1.9", "", { "dependencies": { "get-tsconfig": "^4.10.1", "stable-hash-x": "^0.2.0" }, "peerDependencies": { "unrs-resolver": "^1.0.0" }, "optionalPeers": ["unrs-resolver"] }, "sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg=="], + + "eslint-plugin-es-x": ["eslint-plugin-es-x@7.8.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.1.2", "@eslint-community/regexpp": "^4.11.0", "eslint-compat-utils": "^0.5.1" }, "peerDependencies": { "eslint": ">=8" } }, "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ=="], + + "eslint-plugin-import-x": ["eslint-plugin-import-x@4.16.1", "", { "dependencies": { "@typescript-eslint/types": "^8.35.0", "comment-parser": "^1.4.1", "debug": "^4.4.1", "eslint-import-context": "^0.1.9", "is-glob": "^4.0.3", "minimatch": "^9.0.3 || ^10.0.1", "semver": "^7.7.2", "stable-hash-x": "^0.2.0", "unrs-resolver": "^1.9.2" }, "peerDependencies": { "@typescript-eslint/utils": "^8.0.0", "eslint": "^8.57.0 || ^9.0.0", "eslint-import-resolver-node": "*" }, "optionalPeers": ["@typescript-eslint/utils", "eslint-import-resolver-node"] }, "sha512-vPZZsiOKaBAIATpFE2uMI4w5IRwdv/FpQ+qZZMR4E+PeOcM4OeoEbqxRMnywdxP19TyB/3h6QBB0EWon7letSQ=="], + + "eslint-plugin-n": ["eslint-plugin-n@17.21.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.5.0", "enhanced-resolve": "^5.17.1", "eslint-plugin-es-x": "^7.8.0", "get-tsconfig": "^4.8.1", "globals": "^15.11.0", "ignore": "^5.3.2", "minimatch": "^9.0.5", "semver": "^7.6.3", "ts-declaration-location": "^1.0.6" }, "peerDependencies": { "eslint": ">=8.23.0" } }, "sha512-1+iZ8We4ZlwVMtb/DcHG3y5/bZOdazIpa/4TySo22MLKdwrLcfrX0hbadnCvykSQCCmkAnWmIP8jZVb2AAq29A=="], + + "eslint-scope": ["eslint-scope@7.2.2", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg=="], + + "eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="], + + "espree": ["espree@10.4.0", "", { "dependencies": { "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.1" } }, "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ=="], + + "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], + + "esquery": ["esquery@1.6.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg=="], + + "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], + + "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], + + "estree-util-is-identifier-name": ["estree-util-is-identifier-name@3.0.0", "", {}, "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg=="], + + "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], + + "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], + + "event-target-shim": ["event-target-shim@5.0.1", "", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="], + + "events": ["events@3.3.0", "", {}, "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="], + + "eventsource": ["eventsource@3.0.7", "", { "dependencies": { "eventsource-parser": "^3.0.1" } }, "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA=="], + + "eventsource-parser": ["eventsource-parser@3.0.3", "", {}, "sha512-nVpZkTMM9rF6AQ9gPJpFsNAMt48wIzB5TQgiTLdHiuO8XEDhUgZEhqKlZWXbIzo9VmJ/HvysHqEaVeD5v9TPvA=="], + + "execa": ["execa@8.0.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="], + + "expect-type": ["expect-type@1.2.2", "", {}, "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA=="], + + "express": ["express@5.1.0", "", { "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.0", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "finalhandler": "^2.1.0", "fresh": "^2.0.0", "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", "mime-types": "^3.0.0", "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", "proxy-addr": "^2.0.7", "qs": "^6.14.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", "type-is": "^2.0.1", "vary": "^1.1.2" } }, "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA=="], + + "express-rate-limit": ["express-rate-limit@7.5.1", "", { "peerDependencies": { "express": ">= 4.11" } }, "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw=="], + + "exsolve": ["exsolve@1.0.7", "", {}, "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw=="], + + "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], + + "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="], + + "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], + + "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], + + "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], + + "fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="], + + "fd-slicer": ["fd-slicer@1.1.0", "", { "dependencies": { "pend": "~1.2.0" } }, "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="], + + "fdir": ["fdir@6.4.6", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w=="], + + "fecha": ["fecha@4.2.3", "", {}, "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="], + + "fetch-blob": ["fetch-blob@3.2.0", "", { "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" } }, "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ=="], + + "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], + + "file-uri-to-path": ["file-uri-to-path@1.0.0", "", {}, "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "filter-obj": ["filter-obj@6.1.0", "", {}, "sha512-xdMtCAODmPloU9qtmPcdBV9Kd27NtMse+4ayThxqIHUES5Z2S6bGpap5PpdmNM56ub7y3i1eyr+vJJIIgWGKmA=="], + + "finalhandler": ["finalhandler@2.1.0", "", { "dependencies": { "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "on-finished": "^2.4.1", "parseurl": "^1.3.3", "statuses": "^2.0.1" } }, "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q=="], + + "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], + + "find-up-simple": ["find-up-simple@1.0.1", "", {}, "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ=="], + + "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], + + "flatted": ["flatted@3.3.3", "", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="], + + "fn.name": ["fn.name@1.1.0", "", {}, "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="], + + "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], + + "formdata-polyfill": ["formdata-polyfill@4.0.10", "", { "dependencies": { "fetch-blob": "^3.1.2" } }, "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g=="], + + "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], + + "fresh": ["fresh@2.0.0", "", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="], + + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + + "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], + + "get-amd-module-type": ["get-amd-module-type@6.0.1", "", { "dependencies": { "ast-module-types": "^6.0.1", "node-source-walk": "^7.0.1" } }, "sha512-MtjsmYiCXcYDDrGqtNbeIYdAl85n+5mSv2r3FbzER/YV3ZILw4HNNIw34HuV5pyl0jzs6GFYU1VHVEefhgcNHQ=="], + + "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], + + "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], + + "get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="], + + "get-port-please": ["get-port-please@3.2.0", "", {}, "sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A=="], + + "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], + + "get-stream": ["get-stream@5.2.0", "", { "dependencies": { "pump": "^3.0.0" } }, "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="], + + "get-tsconfig": ["get-tsconfig@4.10.1", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ=="], + + "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], + + "glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], + + "glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "globals": ["globals@16.3.0", "", {}, "sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ=="], + + "globby": ["globby@14.1.0", "", { "dependencies": { "@sindresorhus/merge-streams": "^2.1.0", "fast-glob": "^3.3.3", "ignore": "^7.0.3", "path-type": "^6.0.0", "slash": "^5.1.0", "unicorn-magic": "^0.3.0" } }, "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA=="], + + "globrex": ["globrex@0.1.2", "", {}, "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg=="], + + "gonzales-pe": ["gonzales-pe@4.3.0", "", { "dependencies": { "minimist": "^1.2.5" }, "bin": { "gonzales": "bin/gonzales.js" } }, "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ=="], + + "goober": ["goober@2.1.16", "", { "peerDependencies": { "csstype": "^3.0.10" } }, "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g=="], + + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="], + + "gzip-size": ["gzip-size@7.0.0", "", { "dependencies": { "duplexer": "^0.1.2" } }, "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA=="], + + "h3": ["h3@1.13.0", "", { "dependencies": { "cookie-es": "^1.2.2", "crossws": ">=0.2.0 <0.4.0", "defu": "^6.1.4", "destr": "^2.0.3", "iron-webcrypto": "^1.2.1", "ohash": "^1.1.4", "radix3": "^1.1.2", "ufo": "^1.5.4", "uncrypto": "^0.1.3", "unenv": "^1.10.0" } }, "sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg=="], + + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + + "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], + + "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + + "hast-util-from-parse5": ["hast-util-from-parse5@8.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "hastscript": "^9.0.0", "property-information": "^7.0.0", "vfile": "^6.0.0", "vfile-location": "^5.0.0", "web-namespaces": "^2.0.0" } }, "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg=="], + + "hast-util-is-element": ["hast-util-is-element@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g=="], + + "hast-util-parse-selector": ["hast-util-parse-selector@4.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A=="], + + "hast-util-raw": ["hast-util-raw@9.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-from-parse5": "^8.0.0", "hast-util-to-parse5": "^8.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "parse5": "^7.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw=="], + + "hast-util-sanitize": ["hast-util-sanitize@5.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "unist-util-position": "^5.0.0" } }, "sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg=="], + + "hast-util-to-jsx-runtime": ["hast-util-to-jsx-runtime@2.3.6", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "vfile-message": "^4.0.0" } }, "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg=="], + + "hast-util-to-parse5": ["hast-util-to-parse5@8.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw=="], + + "hast-util-to-text": ["hast-util-to-text@4.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-find-after": "^5.0.0" } }, "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A=="], + + "hast-util-whitespace": ["hast-util-whitespace@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="], + + "hastscript": ["hastscript@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-parse-selector": "^4.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0" } }, "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w=="], + + "highlight.js": ["highlight.js@11.11.1", "", {}, "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w=="], + + "hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="], + + "hosted-git-info": ["hosted-git-info@7.0.2", "", { "dependencies": { "lru-cache": "^10.0.1" } }, "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w=="], + + "html-encoding-sniffer": ["html-encoding-sniffer@4.0.0", "", { "dependencies": { "whatwg-encoding": "^3.1.1" } }, "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ=="], + + "html-url-attributes": ["html-url-attributes@3.0.1", "", {}, "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ=="], + + "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="], + + "htmlparser2": ["htmlparser2@10.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.1", "entities": "^6.0.0" } }, "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g=="], + + "http-errors": ["http-errors@2.0.0", "", { "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": "2.0.1", "toidentifier": "1.0.1" } }, "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ=="], + + "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="], + + "http-shutdown": ["http-shutdown@1.2.2", "", {}, "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw=="], + + "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="], + + "httpxy": ["httpxy@0.1.7", "", {}, "sha512-pXNx8gnANKAndgga5ahefxc++tJvNL87CXoRwxn1cJE2ZkWEojF3tNfQIEhZX/vfpt+wzeAzpUI4qkediX1MLQ=="], + + "human-signals": ["human-signals@5.0.0", "", {}, "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ=="], + + "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + + "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], + + "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + + "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], + + "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], + + "index-to-position": ["index-to-position@1.1.0", "", {}, "sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg=="], + + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "inline-style-parser": ["inline-style-parser@0.2.4", "", {}, "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q=="], + + "ioredis": ["ioredis@5.6.1", "", { "dependencies": { "@ioredis/commands": "^1.1.1", "cluster-key-slot": "^1.1.0", "debug": "^4.3.4", "denque": "^2.1.0", "lodash.defaults": "^4.2.0", "lodash.isarguments": "^3.1.0", "redis-errors": "^1.2.0", "redis-parser": "^3.0.0", "standard-as-callback": "^2.1.0" } }, "sha512-UxC0Yv1Y4WRJiGQxQkP0hfdL0/5/6YvdfOOClRgJ0qppSarkhneSa6UvkMkms0AkdGimSH3Ikqm+6mkMmX7vGA=="], + + "ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], + + "iron-webcrypto": ["iron-webcrypto@1.2.1", "", {}, "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg=="], + + "is-alphabetical": ["is-alphabetical@2.0.1", "", {}, "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ=="], + + "is-alphanumerical": ["is-alphanumerical@2.0.1", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw=="], + + "is-arrayish": ["is-arrayish@0.3.2", "", {}, "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="], + + "is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="], + + "is-builtin-module": ["is-builtin-module@3.2.1", "", { "dependencies": { "builtin-modules": "^3.3.0" } }, "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A=="], + + "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], + + "is-decimal": ["is-decimal@2.0.1", "", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="], + + "is-docker": ["is-docker@2.2.1", "", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="], + + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-hexadecimal": ["is-hexadecimal@2.0.1", "", {}, "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="], + + "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], + + "is-module": ["is-module@1.0.0", "", {}, "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "is-path-inside": ["is-path-inside@4.0.0", "", {}, "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA=="], + + "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], + + "is-potential-custom-element-name": ["is-potential-custom-element-name@1.0.1", "", {}, "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="], + + "is-promise": ["is-promise@4.0.0", "", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="], + + "is-reference": ["is-reference@1.2.1", "", { "dependencies": { "@types/estree": "*" } }, "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ=="], + + "is-stream": ["is-stream@4.0.1", "", {}, "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A=="], + + "is-url": ["is-url@1.2.4", "", {}, "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww=="], + + "is-url-superb": ["is-url-superb@4.0.0", "", {}, "sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA=="], + + "is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="], + + "is64bit": ["is64bit@2.0.0", "", { "dependencies": { "system-architecture": "^0.1.0" } }, "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw=="], + + "isarray": ["isarray@1.0.0", "", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="], + + "isbot": ["isbot@5.1.28", "", {}, "sha512-qrOp4g3xj8YNse4biorv6O5ZShwsJM0trsoda4y7j/Su7ZtTTfVXFzbKkpgcSoDrHS8FcTuUwcU04YimZlZOxw=="], + + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + + "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], + + "jiti": ["jiti@2.4.2", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A=="], + + "js-levenshtein": ["js-levenshtein@1.1.6", "", {}, "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g=="], + + "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], + + "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], + + "jsdom": ["jsdom@26.1.0", "", { "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", "decimal.js": "^10.5.0", "html-encoding-sniffer": "^4.0.0", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.6", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.16", "parse5": "^7.2.1", "rrweb-cssom": "^0.8.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^5.1.1", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^7.0.0", "whatwg-encoding": "^3.1.1", "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.1.1", "ws": "^8.18.0", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "canvas": "^3.0.0" }, "optionalPeers": ["canvas"] }, "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg=="], + + "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + + "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], + + "json-schema": ["json-schema@0.4.0", "", {}, "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="], + + "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], + + "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], + + "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], + + "jsondiffpatch": ["jsondiffpatch@0.6.0", "", { "dependencies": { "@types/diff-match-patch": "^1.0.36", "chalk": "^5.3.0", "diff-match-patch": "^1.0.5" }, "bin": { "jsondiffpatch": "bin/jsondiffpatch.js" } }, "sha512-3QItJOXp2AP1uv7waBkao5nCvhEv+QmJAd38Ybq7wNI74Q+BBmnLn4EDKz6yI9xGAIQoUF87qHt+kc1IVxB4zQ=="], + + "junk": ["junk@4.0.1", "", {}, "sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ=="], + + "jwt-decode": ["jwt-decode@4.0.0", "", {}, "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA=="], + + "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], + + "kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="], + + "klona": ["klona@2.0.6", "", {}, "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA=="], + + "knitwork": ["knitwork@1.2.0", "", {}, "sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg=="], + + "kuler": ["kuler@2.0.0", "", {}, "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="], + + "lambda-local": ["lambda-local@2.2.0", "", { "dependencies": { "commander": "^10.0.1", "dotenv": "^16.3.1", "winston": "^3.10.0" }, "bin": { "lambda-local": "build/cli.js" } }, "sha512-bPcgpIXbHnVGfI/omZIlgucDqlf4LrsunwoKue5JdZeGybt8L6KyJz2Zu19ffuZwIwLj2NAI2ZyaqNT6/cetcg=="], + + "lazystream": ["lazystream@1.0.1", "", { "dependencies": { "readable-stream": "^2.0.5" } }, "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw=="], + + "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], + + "lightningcss": ["lightningcss@1.30.1", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.30.1", "lightningcss-darwin-x64": "1.30.1", "lightningcss-freebsd-x64": "1.30.1", "lightningcss-linux-arm-gnueabihf": "1.30.1", "lightningcss-linux-arm64-gnu": "1.30.1", "lightningcss-linux-arm64-musl": "1.30.1", "lightningcss-linux-x64-gnu": "1.30.1", "lightningcss-linux-x64-musl": "1.30.1", "lightningcss-win32-arm64-msvc": "1.30.1", "lightningcss-win32-x64-msvc": "1.30.1" } }, "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg=="], + + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ=="], + + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.30.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA=="], + + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.30.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig=="], + + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.30.1", "", { "os": "linux", "cpu": "arm" }, "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q=="], + + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.30.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw=="], + + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.30.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ=="], + + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.30.1", "", { "os": "linux", "cpu": "x64" }, "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw=="], + + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.30.1", "", { "os": "linux", "cpu": "x64" }, "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ=="], + + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.30.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA=="], + + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.1", "", { "os": "win32", "cpu": "x64" }, "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg=="], + + "listhen": ["listhen@1.9.0", "", { "dependencies": { "@parcel/watcher": "^2.4.1", "@parcel/watcher-wasm": "^2.4.1", "citty": "^0.1.6", "clipboardy": "^4.0.0", "consola": "^3.2.3", "crossws": ">=0.2.0 <0.4.0", "defu": "^6.1.4", "get-port-please": "^3.1.2", "h3": "^1.12.0", "http-shutdown": "^1.2.2", "jiti": "^2.1.2", "mlly": "^1.7.1", "node-forge": "^1.3.1", "pathe": "^1.1.2", "std-env": "^3.7.0", "ufo": "^1.5.4", "untun": "^0.1.3", "uqr": "^0.1.2" }, "bin": { "listen": "bin/listhen.mjs", "listhen": "bin/listhen.mjs" } }, "sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg=="], + + "local-pkg": ["local-pkg@1.1.1", "", { "dependencies": { "mlly": "^1.7.4", "pkg-types": "^2.0.1", "quansync": "^0.2.8" } }, "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg=="], + + "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], + + "lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], + + "lodash-es": ["lodash-es@4.17.21", "", {}, "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="], + + "lodash.debounce": ["lodash.debounce@4.0.8", "", {}, "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="], + + "lodash.defaults": ["lodash.defaults@4.2.0", "", {}, "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="], + + "lodash.isarguments": ["lodash.isarguments@3.1.0", "", {}, "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg=="], + + "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="], + + "logform": ["logform@2.7.0", "", { "dependencies": { "@colors/colors": "1.6.0", "@types/triple-beam": "^1.3.2", "fecha": "^4.2.0", "ms": "^2.1.1", "safe-stable-stringify": "^2.3.1", "triple-beam": "^1.3.0" } }, "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ=="], + + "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="], + + "loupe": ["loupe@3.1.4", "", {}, "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg=="], + + "lowlight": ["lowlight@3.3.0", "", { "dependencies": { "@types/hast": "^3.0.0", "devlop": "^1.0.0", "highlight.js": "~11.11.0" } }, "sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ=="], + + "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], + + "lucide-react": ["lucide-react@0.475.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-NJzvVu1HwFVeZ+Gwq2q00KygM1aBhy/ZrhY9FsAgJtpB+E4R7uxRk9M2iKvHa6/vNxZydIB59htha4c2vvwvVg=="], + + "luxon": ["luxon@3.7.1", "", {}, "sha512-RkRWjA926cTvz5rAb1BqyWkKbbjzCGchDUIKMCUvNi17j6f6j8uHGDV82Aqcqtzd+icoYpELmG3ksgGiFNNcNg=="], + + "lz-string": ["lz-string@1.5.0", "", { "bin": { "lz-string": "bin/bin.js" } }, "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ=="], + + "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], + + "magicast": ["magicast@0.3.5", "", { "dependencies": { "@babel/parser": "^7.25.4", "@babel/types": "^7.25.4", "source-map-js": "^1.2.0" } }, "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ=="], + + "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="], + + "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + + "mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="], + + "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA=="], + + "mdast-util-gfm": ["mdast-util-gfm@3.1.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", "mdast-util-gfm-footnote": "^2.0.0", "mdast-util-gfm-strikethrough": "^2.0.0", "mdast-util-gfm-table": "^2.0.0", "mdast-util-gfm-task-list-item": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ=="], + + "mdast-util-gfm-autolink-literal": ["mdast-util-gfm-autolink-literal@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "ccount": "^2.0.0", "devlop": "^1.0.0", "mdast-util-find-and-replace": "^3.0.0", "micromark-util-character": "^2.0.0" } }, "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ=="], + + "mdast-util-gfm-footnote": ["mdast-util-gfm-footnote@2.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0" } }, "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ=="], + + "mdast-util-gfm-strikethrough": ["mdast-util-gfm-strikethrough@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg=="], + + "mdast-util-gfm-table": ["mdast-util-gfm-table@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "markdown-table": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg=="], + + "mdast-util-gfm-task-list-item": ["mdast-util-gfm-task-list-item@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ=="], + + "mdast-util-mdx-expression": ["mdast-util-mdx-expression@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ=="], + + "mdast-util-mdx-jsx": ["mdast-util-mdx-jsx@3.2.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "parse-entities": "^4.0.0", "stringify-entities": "^4.0.0", "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" } }, "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q=="], + + "mdast-util-mdxjs-esm": ["mdast-util-mdxjs-esm@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg=="], + + "mdast-util-phrasing": ["mdast-util-phrasing@4.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" } }, "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w=="], + + "mdast-util-to-hast": ["mdast-util-to-hast@13.2.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA=="], + + "mdast-util-to-markdown": ["mdast-util-to-markdown@2.1.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA=="], + + "mdast-util-to-string": ["mdast-util-to-string@4.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0" } }, "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg=="], + + "media-typer": ["media-typer@1.1.0", "", {}, "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw=="], + + "merge-descriptors": ["merge-descriptors@2.0.0", "", {}, "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g=="], + + "merge-options": ["merge-options@3.0.4", "", { "dependencies": { "is-plain-obj": "^2.1.0" } }, "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ=="], + + "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], + + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], + + "micro-api-client": ["micro-api-client@3.3.0", "", {}, "sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg=="], + + "micromark": ["micromark@4.0.2", "", { "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA=="], + + "micromark-core-commonmark": ["micromark-core-commonmark@2.0.3", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-destination": "^2.0.0", "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-factory-title": "^2.0.0", "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-html-tag-name": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg=="], + + "micromark-extension-gfm": ["micromark-extension-gfm@3.0.0", "", { "dependencies": { "micromark-extension-gfm-autolink-literal": "^2.0.0", "micromark-extension-gfm-footnote": "^2.0.0", "micromark-extension-gfm-strikethrough": "^2.0.0", "micromark-extension-gfm-table": "^2.0.0", "micromark-extension-gfm-tagfilter": "^2.0.0", "micromark-extension-gfm-task-list-item": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w=="], + + "micromark-extension-gfm-autolink-literal": ["micromark-extension-gfm-autolink-literal@2.1.0", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw=="], + + "micromark-extension-gfm-footnote": ["micromark-extension-gfm-footnote@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw=="], + + "micromark-extension-gfm-strikethrough": ["micromark-extension-gfm-strikethrough@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw=="], + + "micromark-extension-gfm-table": ["micromark-extension-gfm-table@2.1.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg=="], + + "micromark-extension-gfm-tagfilter": ["micromark-extension-gfm-tagfilter@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg=="], + + "micromark-extension-gfm-task-list-item": ["micromark-extension-gfm-task-list-item@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw=="], + + "micromark-factory-destination": ["micromark-factory-destination@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA=="], + + "micromark-factory-label": ["micromark-factory-label@2.0.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg=="], + + "micromark-factory-space": ["micromark-factory-space@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg=="], + + "micromark-factory-title": ["micromark-factory-title@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw=="], + + "micromark-factory-whitespace": ["micromark-factory-whitespace@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ=="], + + "micromark-util-character": ["micromark-util-character@2.1.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q=="], + + "micromark-util-chunked": ["micromark-util-chunked@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA=="], + + "micromark-util-classify-character": ["micromark-util-classify-character@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q=="], + + "micromark-util-combine-extensions": ["micromark-util-combine-extensions@2.0.1", "", { "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg=="], + + "micromark-util-decode-numeric-character-reference": ["micromark-util-decode-numeric-character-reference@2.0.2", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw=="], + + "micromark-util-decode-string": ["micromark-util-decode-string@2.0.1", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ=="], + + "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="], + + "micromark-util-html-tag-name": ["micromark-util-html-tag-name@2.0.1", "", {}, "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA=="], + + "micromark-util-normalize-identifier": ["micromark-util-normalize-identifier@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q=="], + + "micromark-util-resolve-all": ["micromark-util-resolve-all@2.0.1", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg=="], + + "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ=="], + + "micromark-util-subtokenize": ["micromark-util-subtokenize@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA=="], + + "micromark-util-symbol": ["micromark-util-symbol@2.0.1", "", {}, "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q=="], + + "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="], + + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + + "mime": ["mime@4.0.7", "", { "bin": { "mime": "bin/cli.js" } }, "sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ=="], + + "mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="], + + "mime-types": ["mime-types@3.0.1", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA=="], + + "mimic-fn": ["mimic-fn@4.0.0", "", {}, "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="], + + "minimatch": ["minimatch@10.0.3", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw=="], + + "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], + + "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], + + "minizlib": ["minizlib@3.0.2", "", { "dependencies": { "minipass": "^7.1.2" } }, "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA=="], + + "mkdirp": ["mkdirp@3.0.1", "", { "bin": { "mkdirp": "dist/cjs/src/bin.js" } }, "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg=="], + + "mlly": ["mlly@1.7.4", "", { "dependencies": { "acorn": "^8.14.0", "pathe": "^2.0.1", "pkg-types": "^1.3.0", "ufo": "^1.5.4" } }, "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw=="], + + "module-definition": ["module-definition@6.0.1", "", { "dependencies": { "ast-module-types": "^6.0.1", "node-source-walk": "^7.0.1" }, "bin": { "module-definition": "bin/cli.js" } }, "sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "napi-postinstall": ["napi-postinstall@0.3.0", "", { "bin": { "napi-postinstall": "lib/cli.js" } }, "sha512-M7NqKyhODKV1gRLdkwE7pDsZP2/SC2a2vHkOYh9MCpKMbWVfyVfUw5MaH83Fv6XMjxr5jryUp3IDDL9rlxsTeA=="], + + "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], + + "negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], + + "netlify": ["netlify@13.3.5", "", { "dependencies": { "@netlify/open-api": "^2.37.0", "lodash-es": "^4.17.21", "micro-api-client": "^3.3.0", "node-fetch": "^3.0.0", "p-wait-for": "^5.0.0", "qs": "^6.9.6" } }, "sha512-Nc3loyVASW59W+8fLDZT1lncpG7llffyZ2o0UQLx/Fr20i7P8oP+lE7+TEcFvXj9IUWU6LjB9P3BH+iFGyp+mg=="], + + "nitropack": ["nitropack@2.12.1", "", { "dependencies": { "@cloudflare/kv-asset-handler": "^0.4.0", "@netlify/functions": "^3.1.10", "@rollup/plugin-alias": "^5.1.1", "@rollup/plugin-commonjs": "^28.0.6", "@rollup/plugin-inject": "^5.0.5", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.1", "@rollup/plugin-replace": "^6.0.2", "@rollup/plugin-terser": "^0.4.4", "@vercel/nft": "^0.29.4", "archiver": "^7.0.1", "c12": "^3.1.0", "chokidar": "^4.0.3", "citty": "^0.1.6", "compatx": "^0.2.0", "confbox": "^0.2.2", "consola": "^3.4.2", "cookie-es": "^2.0.0", "croner": "^9.1.0", "crossws": "^0.3.5", "db0": "^0.3.2", "defu": "^6.1.4", "destr": "^2.0.5", "dot-prop": "^9.0.0", "esbuild": "^0.25.6", "escape-string-regexp": "^5.0.0", "etag": "^1.8.1", "exsolve": "^1.0.7", "globby": "^14.1.0", "gzip-size": "^7.0.0", "h3": "^1.15.3", "hookable": "^5.5.3", "httpxy": "^0.1.7", "ioredis": "^5.6.1", "jiti": "^2.4.2", "klona": "^2.0.6", "knitwork": "^1.2.0", "listhen": "^1.9.0", "magic-string": "^0.30.17", "magicast": "^0.3.5", "mime": "^4.0.7", "mlly": "^1.7.4", "node-fetch-native": "^1.6.6", "node-mock-http": "^1.0.1", "ofetch": "^1.4.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^1.0.0", "pkg-types": "^2.2.0", "pretty-bytes": "^6.1.1", "radix3": "^1.1.2", "rollup": "^4.45.0", "rollup-plugin-visualizer": "^6.0.3", "scule": "^1.3.0", "semver": "^7.7.2", "serve-placeholder": "^2.0.2", "serve-static": "^2.2.0", "source-map": "^0.7.4", "std-env": "^3.9.0", "ufo": "^1.6.1", "ultrahtml": "^1.6.0", "uncrypto": "^0.1.3", "unctx": "^2.4.1", "unenv": "^2.0.0-rc.18", "unimport": "^5.1.0", "unplugin-utils": "^0.2.4", "unstorage": "^1.16.1", "untyped": "^2.0.0", "unwasm": "^0.3.9", "youch": "4.1.0-beta.8", "youch-core": "^0.3.3" }, "peerDependencies": { "xml2js": "^0.6.2" }, "optionalPeers": ["xml2js"], "bin": { "nitro": "dist/cli/index.mjs", "nitropack": "dist/cli/index.mjs" } }, "sha512-DEJJ9COcjzICujvx9DTugsjHi3k7EDlo3C7NKvtHLP21H3q6XR0ZLx/5wSU7EtVGUKkj3NQzpuxH/LWZXBUh7w=="], + + "node-addon-api": ["node-addon-api@7.1.1", "", {}, "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ=="], + + "node-domexception": ["node-domexception@1.0.0", "", {}, "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="], + + "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], + + "node-fetch-native": ["node-fetch-native@1.6.6", "", {}, "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ=="], + + "node-forge": ["node-forge@1.3.1", "", {}, "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="], + + "node-gyp-build": ["node-gyp-build@4.8.4", "", { "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ=="], + + "node-mock-http": ["node-mock-http@1.0.1", "", {}, "sha512-0gJJgENizp4ghds/Ywu2FCmcRsgBTmRQzYPZm61wy+Em2sBarSka0OhQS5huLBg6od1zkNpnWMCZloQDFVvOMQ=="], + + "node-releases": ["node-releases@2.0.19", "", {}, "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="], + + "node-source-walk": ["node-source-walk@7.0.1", "", { "dependencies": { "@babel/parser": "^7.26.7" } }, "sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg=="], + + "nopt": ["nopt@8.1.0", "", { "dependencies": { "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A=="], + + "normalize-package-data": ["normalize-package-data@6.0.2", "", { "dependencies": { "hosted-git-info": "^7.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g=="], + + "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], + + "npm-run-path": ["npm-run-path@5.3.0", "", { "dependencies": { "path-key": "^4.0.0" } }, "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ=="], + + "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="], + + "nwsapi": ["nwsapi@2.2.20", "", {}, "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA=="], + + "nypm": ["nypm@0.6.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "pathe": "^2.0.3", "pkg-types": "^2.0.0", "tinyexec": "^0.3.2" }, "bin": { "nypm": "dist/cli.mjs" } }, "sha512-mn8wBFV9G9+UFHIrq+pZ2r2zL4aPau/by3kJb3cM7+5tQHMt6HGQB8FDIeKFYp8o0D2pnH6nVsO88N4AmUxIWg=="], + + "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], + + "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], + + "ofetch": ["ofetch@1.4.1", "", { "dependencies": { "destr": "^2.0.3", "node-fetch-native": "^1.6.4", "ufo": "^1.5.4" } }, "sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw=="], + + "ohash": ["ohash@1.1.6", "", {}, "sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg=="], + + "on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="], + + "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + + "one-time": ["one-time@1.0.0", "", { "dependencies": { "fn.name": "1.x.x" } }, "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g=="], + + "onetime": ["onetime@6.0.0", "", { "dependencies": { "mimic-fn": "^4.0.0" } }, "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ=="], + + "open": ["open@8.4.2", "", { "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" } }, "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ=="], + + "openapi-fetch": ["openapi-fetch@0.14.0", "", { "dependencies": { "openapi-typescript-helpers": "^0.0.15" } }, "sha512-PshIdm1NgdLvb05zp8LqRQMNSKzIlPkyMxYFxwyHR+UlKD4t2nUjkDhNxeRbhRSEd3x5EUNh2w5sJYwkhOH4fg=="], + + "openapi-typescript": ["openapi-typescript@7.8.0", "", { "dependencies": { "@redocly/openapi-core": "^1.34.3", "ansi-colors": "^4.1.3", "change-case": "^5.4.4", "parse-json": "^8.3.0", "supports-color": "^10.0.0", "yargs-parser": "^21.1.1" }, "peerDependencies": { "typescript": "^5.x" }, "bin": { "openapi-typescript": "bin/cli.js" } }, "sha512-1EeVWmDzi16A+siQlo/SwSGIT7HwaFAVjvMA7/jG5HMLSnrUOzPL7uSTRZZa4v/LCRxHTApHKtNY6glApEoiUQ=="], + + "openapi-typescript-helpers": ["openapi-typescript-helpers@0.0.15", "", {}, "sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw=="], + + "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], + + "p-event": ["p-event@6.0.1", "", { "dependencies": { "p-timeout": "^6.1.2" } }, "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w=="], + + "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], + + "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], + + "p-map": ["p-map@7.0.3", "", {}, "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA=="], + + "p-timeout": ["p-timeout@6.1.4", "", {}, "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg=="], + + "p-wait-for": ["p-wait-for@5.0.2", "", { "dependencies": { "p-timeout": "^6.0.0" } }, "sha512-lwx6u1CotQYPVju77R+D0vFomni/AqRfqLmqQ8hekklqZ6gAY9rONh7lBQ0uxWMkC2AuX9b2DVAl8To0NyP1JA=="], + + "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], + + "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], + + "parse-entities": ["parse-entities@4.0.2", "", { "dependencies": { "@types/unist": "^2.0.0", "character-entities-legacy": "^3.0.0", "character-reference-invalid": "^2.0.0", "decode-named-character-reference": "^1.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", "is-hexadecimal": "^2.0.0" } }, "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw=="], + + "parse-gitignore": ["parse-gitignore@2.0.0", "", {}, "sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog=="], + + "parse-json": ["parse-json@8.3.0", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "index-to-position": "^1.1.0", "type-fest": "^4.39.1" } }, "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ=="], + + "parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], + + "parse5-htmlparser2-tree-adapter": ["parse5-htmlparser2-tree-adapter@7.1.0", "", { "dependencies": { "domhandler": "^5.0.3", "parse5": "^7.0.0" } }, "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g=="], + + "parse5-parser-stream": ["parse5-parser-stream@7.1.2", "", { "dependencies": { "parse5": "^7.0.0" } }, "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow=="], + + "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="], + + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], + + "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + + "path-to-regexp": ["path-to-regexp@8.2.0", "", {}, "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ=="], + + "path-type": ["path-type@6.0.0", "", {}, "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ=="], + + "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "pathval": ["pathval@2.0.1", "", {}, "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ=="], + + "pend": ["pend@1.2.0", "", {}, "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="], + + "perfect-debounce": ["perfect-debounce@1.0.0", "", {}, "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], + + "pkce-challenge": ["pkce-challenge@5.0.0", "", {}, "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ=="], + + "pkg-types": ["pkg-types@2.2.0", "", { "dependencies": { "confbox": "^0.2.2", "exsolve": "^1.0.7", "pathe": "^2.0.3" } }, "sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ=="], + + "pluralize": ["pluralize@8.0.0", "", {}, "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="], + + "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "postcss-values-parser": ["postcss-values-parser@6.0.2", "", { "dependencies": { "color-name": "^1.1.4", "is-url-superb": "^4.0.0", "quote-unquote": "^1.0.0" }, "peerDependencies": { "postcss": "^8.2.9" } }, "sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw=="], + + "precinct": ["precinct@12.2.0", "", { "dependencies": { "@dependents/detective-less": "^5.0.1", "commander": "^12.1.0", "detective-amd": "^6.0.1", "detective-cjs": "^6.0.1", "detective-es6": "^5.0.1", "detective-postcss": "^7.0.1", "detective-sass": "^6.0.1", "detective-scss": "^5.0.1", "detective-stylus": "^5.0.1", "detective-typescript": "^14.0.0", "detective-vue2": "^2.2.0", "module-definition": "^6.0.1", "node-source-walk": "^7.0.1", "postcss": "^8.5.1", "typescript": "^5.7.3" }, "bin": { "precinct": "bin/cli.js" } }, "sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w=="], + + "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], + + "prettier": ["prettier@3.6.2", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ=="], + + "pretty-bytes": ["pretty-bytes@6.1.1", "", {}, "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ=="], + + "pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], + + "process": ["process@0.11.10", "", {}, "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="], + + "process-nextick-args": ["process-nextick-args@2.0.1", "", {}, "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="], + + "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="], + + "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], + + "pump": ["pump@3.0.3", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA=="], + + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + + "qs": ["qs@6.14.0", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w=="], + + "quansync": ["quansync@0.2.10", "", {}, "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A=="], + + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], + + "quote-unquote": ["quote-unquote@1.0.0", "", {}, "sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg=="], + + "radix3": ["radix3@1.1.2", "", {}, "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA=="], + + "randombytes": ["randombytes@2.1.0", "", { "dependencies": { "safe-buffer": "^5.1.0" } }, "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="], + + "range-parser": ["range-parser@1.2.1", "", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], + + "raw-body": ["raw-body@3.0.0", "", { "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", "iconv-lite": "0.6.3", "unpipe": "1.0.0" } }, "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g=="], + + "rc9": ["rc9@2.1.2", "", { "dependencies": { "defu": "^6.1.4", "destr": "^2.0.3" } }, "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg=="], + + "react": ["react@19.1.0", "", {}, "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg=="], + + "react-dom": ["react-dom@19.1.0", "", { "dependencies": { "scheduler": "^0.26.0" }, "peerDependencies": { "react": "^19.1.0" } }, "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g=="], + + "react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], + + "react-markdown": ["react-markdown@9.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "html-url-attributes": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "unified": "^11.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" }, "peerDependencies": { "@types/react": ">=18", "react": ">=18" } }, "sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw=="], + + "react-refresh": ["react-refresh@0.17.0", "", {}, "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ=="], + + "react-remove-scroll": ["react-remove-scroll@2.7.1", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.7", "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", "use-callback-ref": "^1.3.3", "use-sidecar": "^1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA=="], + + "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], + + "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], + + "read-package-up": ["read-package-up@11.0.0", "", { "dependencies": { "find-up-simple": "^1.0.0", "read-pkg": "^9.0.0", "type-fest": "^4.6.0" } }, "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ=="], + + "read-pkg": ["read-pkg@9.0.1", "", { "dependencies": { "@types/normalize-package-data": "^2.4.3", "normalize-package-data": "^6.0.0", "parse-json": "^8.0.0", "type-fest": "^4.6.0", "unicorn-magic": "^0.1.0" } }, "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA=="], + + "readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="], + + "readdir-glob": ["readdir-glob@1.1.3", "", { "dependencies": { "minimatch": "^5.1.0" } }, "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA=="], + + "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], + + "recast": ["recast@0.23.11", "", { "dependencies": { "ast-types": "^0.16.1", "esprima": "~4.0.0", "source-map": "~0.6.1", "tiny-invariant": "^1.3.3", "tslib": "^2.0.1" } }, "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA=="], + + "redis-errors": ["redis-errors@1.2.0", "", {}, "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w=="], + + "redis-parser": ["redis-parser@3.0.0", "", { "dependencies": { "redis-errors": "^1.0.0" } }, "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A=="], + + "rehype-highlight": ["rehype-highlight@7.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-to-text": "^4.0.0", "lowlight": "^3.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-k158pK7wdC2qL3M5NcZROZ2tR/l7zOzjxXd5VGdcfIyoijjQqpHd3JKtYSBDpDZ38UI2WJWuFAtkMDxmx5kstA=="], + + "rehype-raw": ["rehype-raw@7.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", "vfile": "^6.0.0" } }, "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww=="], + + "rehype-sanitize": ["rehype-sanitize@6.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-sanitize": "^5.0.0" } }, "sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg=="], + + "remark-gfm": ["remark-gfm@4.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", "micromark-extension-gfm": "^3.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg=="], + + "remark-parse": ["remark-parse@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "micromark-util-types": "^2.0.0", "unified": "^11.0.0" } }, "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA=="], + + "remark-rehype": ["remark-rehype@11.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw=="], + + "remark-stringify": ["remark-stringify@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", "unified": "^11.0.0" } }, "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw=="], + + "remove-accents": ["remove-accents@0.5.0", "", {}, "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A=="], + + "remove-trailing-separator": ["remove-trailing-separator@1.1.0", "", {}, "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw=="], + + "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], + + "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], + + "require-package-name": ["require-package-name@2.0.1", "", {}, "sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q=="], + + "resolve": ["resolve@1.22.10", "", { "dependencies": { "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w=="], + + "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], + + "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], + + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], + + "rollup": ["rollup@4.45.1", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.45.1", "@rollup/rollup-android-arm64": "4.45.1", "@rollup/rollup-darwin-arm64": "4.45.1", "@rollup/rollup-darwin-x64": "4.45.1", "@rollup/rollup-freebsd-arm64": "4.45.1", "@rollup/rollup-freebsd-x64": "4.45.1", "@rollup/rollup-linux-arm-gnueabihf": "4.45.1", "@rollup/rollup-linux-arm-musleabihf": "4.45.1", "@rollup/rollup-linux-arm64-gnu": "4.45.1", "@rollup/rollup-linux-arm64-musl": "4.45.1", "@rollup/rollup-linux-loongarch64-gnu": "4.45.1", "@rollup/rollup-linux-powerpc64le-gnu": "4.45.1", "@rollup/rollup-linux-riscv64-gnu": "4.45.1", "@rollup/rollup-linux-riscv64-musl": "4.45.1", "@rollup/rollup-linux-s390x-gnu": "4.45.1", "@rollup/rollup-linux-x64-gnu": "4.45.1", "@rollup/rollup-linux-x64-musl": "4.45.1", "@rollup/rollup-win32-arm64-msvc": "4.45.1", "@rollup/rollup-win32-ia32-msvc": "4.45.1", "@rollup/rollup-win32-x64-msvc": "4.45.1", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw=="], + + "rollup-plugin-visualizer": ["rollup-plugin-visualizer@6.0.3", "", { "dependencies": { "open": "^8.0.0", "picomatch": "^4.0.2", "source-map": "^0.7.4", "yargs": "^17.5.1" }, "peerDependencies": { "rolldown": "1.x || ^1.0.0-beta", "rollup": "2.x || 3.x || 4.x" }, "optionalPeers": ["rolldown", "rollup"], "bin": { "rollup-plugin-visualizer": "dist/bin/cli.js" } }, "sha512-ZU41GwrkDcCpVoffviuM9Clwjy5fcUxlz0oMoTXTYsK+tcIFzbdacnrr2n8TXcHxbGKKXtOdjxM2HUS4HjkwIw=="], + + "router": ["router@2.2.0", "", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="], + + "rrweb-cssom": ["rrweb-cssom@0.8.0", "", {}, "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw=="], + + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], + + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], + + "safe-stable-stringify": ["safe-stable-stringify@2.5.0", "", {}, "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA=="], + + "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], + + "saxes": ["saxes@6.0.0", "", { "dependencies": { "xmlchars": "^2.2.0" } }, "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA=="], + + "scheduler": ["scheduler@0.26.0", "", {}, "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="], + + "scule": ["scule@1.3.0", "", {}, "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g=="], + + "secure-json-parse": ["secure-json-parse@2.7.0", "", {}, "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw=="], + + "semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + + "send": ["send@1.2.0", "", { "dependencies": { "debug": "^4.3.5", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "fresh": "^2.0.0", "http-errors": "^2.0.0", "mime-types": "^3.0.1", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "statuses": "^2.0.1" } }, "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw=="], + + "serialize-javascript": ["serialize-javascript@6.0.2", "", { "dependencies": { "randombytes": "^2.1.0" } }, "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g=="], + + "seroval": ["seroval@1.3.2", "", {}, "sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ=="], + + "seroval-plugins": ["seroval-plugins@1.3.2", "", { "peerDependencies": { "seroval": "^1.0" } }, "sha512-0QvCV2lM3aj/U3YozDiVwx9zpH0q8A60CTWIv4Jszj/givcudPb48B+rkU5D51NJ0pTpweGMttHjboPa9/zoIQ=="], + + "serve-placeholder": ["serve-placeholder@2.0.2", "", { "dependencies": { "defu": "^6.1.4" } }, "sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ=="], + + "serve-static": ["serve-static@2.2.0", "", { "dependencies": { "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "parseurl": "^1.3.3", "send": "^1.2.0" } }, "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ=="], + + "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], + + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "side-channel": ["side-channel@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], + + "side-channel-list": ["side-channel-list@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="], + + "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], + + "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], + + "siginfo": ["siginfo@2.0.0", "", {}, "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g=="], + + "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + + "simple-swizzle": ["simple-swizzle@0.2.2", "", { "dependencies": { "is-arrayish": "^0.3.1" } }, "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg=="], + + "slash": ["slash@5.1.0", "", {}, "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg=="], + + "smob": ["smob@1.5.0", "", {}, "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig=="], + + "solid-js": ["solid-js@1.9.7", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.3.0", "seroval-plugins": "~1.3.0" } }, "sha512-/saTKi8iWEM233n5OSi1YHCCuh66ZIQ7aK2hsToPe4tqGm7qAejU1SwNuTPivbWAYq7SjuHVVYxxuZQNRbICiw=="], + + "source-map": ["source-map@0.7.4", "", {}, "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="], + + "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="], + + "spdx-correct": ["spdx-correct@3.2.0", "", { "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA=="], + + "spdx-exceptions": ["spdx-exceptions@2.5.0", "", {}, "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w=="], + + "spdx-expression-parse": ["spdx-expression-parse@3.0.1", "", { "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="], + + "spdx-license-ids": ["spdx-license-ids@3.0.21", "", {}, "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg=="], + + "sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], + + "stable-hash-x": ["stable-hash-x@0.2.0", "", {}, "sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ=="], + + "stack-trace": ["stack-trace@0.0.10", "", {}, "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg=="], + + "stackback": ["stackback@0.0.2", "", {}, "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw=="], + + "standard-as-callback": ["standard-as-callback@2.1.0", "", {}, "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="], + + "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], + + "std-env": ["std-env@3.9.0", "", {}, "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw=="], + + "streamx": ["streamx@2.22.1", "", { "dependencies": { "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" }, "optionalDependencies": { "bare-events": "^2.2.0" } }, "sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA=="], + + "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], + + "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="], + + "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-final-newline": ["strip-final-newline@3.0.0", "", {}, "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="], + + "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], + + "strip-literal": ["strip-literal@3.0.0", "", { "dependencies": { "js-tokens": "^9.0.1" } }, "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA=="], + + "style-to-js": ["style-to-js@1.1.17", "", { "dependencies": { "style-to-object": "1.0.9" } }, "sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA=="], + + "style-to-object": ["style-to-object@1.0.9", "", { "dependencies": { "inline-style-parser": "0.2.4" } }, "sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw=="], + + "supports-color": ["supports-color@10.0.0", "", {}, "sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ=="], + + "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], + + "swr": ["swr@2.3.4", "", { "dependencies": { "dequal": "^2.0.3", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-bYd2lrhc+VarcpkgWclcUi92wYCpOgMws9Sd1hG1ntAu0NEy+14CbotuFjshBU2kt9rYj9TSmDcybpxpeTU1fg=="], + + "symbol-tree": ["symbol-tree@3.2.4", "", {}, "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="], + + "system-architecture": ["system-architecture@0.1.0", "", {}, "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA=="], + + "tailwind-merge": ["tailwind-merge@3.3.1", "", {}, "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g=="], + + "tailwindcss": ["tailwindcss@4.1.11", "", {}, "sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA=="], + + "tailwindcss-animate": ["tailwindcss-animate@1.0.7", "", { "peerDependencies": { "tailwindcss": ">=3.0.0 || insiders" } }, "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA=="], + + "tapable": ["tapable@2.2.2", "", {}, "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg=="], + + "tar": ["tar@7.4.3", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.0.1", "mkdirp": "^3.0.1", "yallist": "^5.0.0" } }, "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw=="], + + "tar-stream": ["tar-stream@3.1.7", "", { "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ=="], + + "terser": ["terser@5.43.1", "", { "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.14.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" } }, "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg=="], + + "text-decoder": ["text-decoder@1.2.3", "", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA=="], + + "text-hex": ["text-hex@1.0.0", "", {}, "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="], + + "throttleit": ["throttleit@2.1.0", "", {}, "sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw=="], + + "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="], + + "tiny-warning": ["tiny-warning@1.0.3", "", {}, "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="], + + "tinybench": ["tinybench@2.9.0", "", {}, "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg=="], + + "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], + + "tinyglobby": ["tinyglobby@0.2.14", "", { "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" } }, "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ=="], + + "tinypool": ["tinypool@1.1.1", "", {}, "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg=="], + + "tinyrainbow": ["tinyrainbow@2.0.0", "", {}, "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw=="], + + "tinyspy": ["tinyspy@4.0.3", "", {}, "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A=="], + + "tldts": ["tldts@6.1.86", "", { "dependencies": { "tldts-core": "^6.1.86" }, "bin": { "tldts": "bin/cli.js" } }, "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ=="], + + "tldts-core": ["tldts-core@6.1.86", "", {}, "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA=="], + + "tmp": ["tmp@0.2.3", "", {}, "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w=="], + + "tmp-promise": ["tmp-promise@3.0.3", "", { "dependencies": { "tmp": "^0.2.0" } }, "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ=="], + + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + + "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], + + "toml": ["toml@3.0.0", "", {}, "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w=="], + + "tough-cookie": ["tough-cookie@5.1.2", "", { "dependencies": { "tldts": "^6.1.32" } }, "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A=="], + + "tr46": ["tr46@5.1.1", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw=="], + + "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="], + + "triple-beam": ["triple-beam@1.4.1", "", {}, "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg=="], + + "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="], + + "ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="], + + "ts-declaration-location": ["ts-declaration-location@1.0.7", "", { "dependencies": { "picomatch": "^4.0.2" }, "peerDependencies": { "typescript": ">=4.0.0" } }, "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA=="], + + "tsconfck": ["tsconfck@3.1.6", "", { "peerDependencies": { "typescript": "^5.0.0" }, "optionalPeers": ["typescript"], "bin": { "tsconfck": "bin/tsconfck.js" } }, "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w=="], + + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "tsx": ["tsx@4.20.3", "", { "dependencies": { "esbuild": "~0.25.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ=="], + + "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], + + "type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="], + + "type-is": ["type-is@2.0.1", "", { "dependencies": { "content-type": "^1.0.5", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw=="], + + "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], + + "typescript-eslint": ["typescript-eslint@8.37.0", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.37.0", "@typescript-eslint/parser": "8.37.0", "@typescript-eslint/typescript-estree": "8.37.0", "@typescript-eslint/utils": "8.37.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA=="], + + "ufo": ["ufo@1.6.1", "", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="], + + "ultrahtml": ["ultrahtml@1.6.0", "", {}, "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw=="], + + "uncrypto": ["uncrypto@0.1.3", "", {}, "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="], + + "unctx": ["unctx@2.4.1", "", { "dependencies": { "acorn": "^8.14.0", "estree-walker": "^3.0.3", "magic-string": "^0.30.17", "unplugin": "^2.1.0" } }, "sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg=="], + + "undici": ["undici@7.11.0", "", {}, "sha512-heTSIac3iLhsmZhUCjyS3JQEkZELateufzZuBaVM5RHXdSBMb1LPMQf5x+FH7qjsZYDP0ttAc3nnVpUB+wYbOg=="], + + "undici-types": ["undici-types@7.8.0", "", {}, "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="], + + "unenv": ["unenv@1.10.0", "", { "dependencies": { "consola": "^3.2.3", "defu": "^6.1.4", "mime": "^3.0.0", "node-fetch-native": "^1.6.4", "pathe": "^1.1.2" } }, "sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ=="], + + "unicorn-magic": ["unicorn-magic@0.3.0", "", {}, "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA=="], + + "unified": ["unified@11.0.5", "", { "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", "devlop": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^6.0.0" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="], + + "unimport": ["unimport@5.1.0", "", { "dependencies": { "acorn": "^8.15.0", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "local-pkg": "^1.1.1", "magic-string": "^0.30.17", "mlly": "^1.7.4", "pathe": "^2.0.3", "picomatch": "^4.0.2", "pkg-types": "^2.1.1", "scule": "^1.3.0", "strip-literal": "^3.0.0", "tinyglobby": "^0.2.14", "unplugin": "^2.3.5", "unplugin-utils": "^0.2.4" } }, "sha512-wMmuG+wkzeHh2KCE6yiDlHmKelN8iE/maxkUYMbmrS6iV8+n6eP1TH3yKKlepuF4hrkepinEGmBXdfo9XZUvAw=="], + + "unist-util-find-after": ["unist-util-find-after@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ=="], + + "unist-util-is": ["unist-util-is@6.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw=="], + + "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="], + + "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="], + + "unist-util-visit": ["unist-util-visit@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg=="], + + "unist-util-visit-parents": ["unist-util-visit-parents@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw=="], + + "unixify": ["unixify@1.0.0", "", { "dependencies": { "normalize-path": "^2.1.1" } }, "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg=="], + + "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], + + "unplugin": ["unplugin@2.3.5", "", { "dependencies": { "acorn": "^8.14.1", "picomatch": "^4.0.2", "webpack-virtual-modules": "^0.6.2" } }, "sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw=="], + + "unplugin-utils": ["unplugin-utils@0.2.4", "", { "dependencies": { "pathe": "^2.0.2", "picomatch": "^4.0.2" } }, "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA=="], + + "unrs-resolver": ["unrs-resolver@1.11.1", "", { "dependencies": { "napi-postinstall": "^0.3.0" }, "optionalDependencies": { "@unrs/resolver-binding-android-arm-eabi": "1.11.1", "@unrs/resolver-binding-android-arm64": "1.11.1", "@unrs/resolver-binding-darwin-arm64": "1.11.1", "@unrs/resolver-binding-darwin-x64": "1.11.1", "@unrs/resolver-binding-freebsd-x64": "1.11.1", "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", "@unrs/resolver-binding-linux-x64-musl": "1.11.1", "@unrs/resolver-binding-wasm32-wasi": "1.11.1", "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" } }, "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg=="], + + "unstorage": ["unstorage@1.16.1", "", { "dependencies": { "anymatch": "^3.1.3", "chokidar": "^4.0.3", "destr": "^2.0.5", "h3": "^1.15.3", "lru-cache": "^10.4.3", "node-fetch-native": "^1.6.6", "ofetch": "^1.4.1", "ufo": "^1.6.1" }, "peerDependencies": { "@azure/app-configuration": "^1.8.0", "@azure/cosmos": "^4.2.0", "@azure/data-tables": "^13.3.0", "@azure/identity": "^4.6.0", "@azure/keyvault-secrets": "^4.9.0", "@azure/storage-blob": "^12.26.0", "@capacitor/preferences": "^6.0.3 || ^7.0.0", "@deno/kv": ">=0.9.0", "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", "@planetscale/database": "^1.19.0", "@upstash/redis": "^1.34.3", "@vercel/blob": ">=0.27.1", "@vercel/kv": "^1.0.1", "aws4fetch": "^1.0.20", "db0": ">=0.2.1", "idb-keyval": "^6.2.1", "ioredis": "^5.4.2", "uploadthing": "^7.4.4" }, "optionalPeers": ["@azure/app-configuration", "@azure/cosmos", "@azure/data-tables", "@azure/identity", "@azure/keyvault-secrets", "@azure/storage-blob", "@capacitor/preferences", "@deno/kv", "@netlify/blobs", "@planetscale/database", "@upstash/redis", "@vercel/blob", "@vercel/kv", "aws4fetch", "db0", "idb-keyval", "ioredis", "uploadthing"] }, "sha512-gdpZ3guLDhz+zWIlYP1UwQ259tG5T5vYRzDaHMkQ1bBY1SQPutvZnrRjTFaWUUpseErJIgAZS51h6NOcZVZiqQ=="], + + "untun": ["untun@0.1.3", "", { "dependencies": { "citty": "^0.1.5", "consola": "^3.2.3", "pathe": "^1.1.1" }, "bin": { "untun": "bin/untun.mjs" } }, "sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ=="], + + "untyped": ["untyped@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "defu": "^6.1.4", "jiti": "^2.4.2", "knitwork": "^1.2.0", "scule": "^1.3.0" }, "bin": { "untyped": "dist/cli.mjs" } }, "sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g=="], + + "unwasm": ["unwasm@0.3.9", "", { "dependencies": { "knitwork": "^1.0.0", "magic-string": "^0.30.8", "mlly": "^1.6.1", "pathe": "^1.1.2", "pkg-types": "^1.0.3", "unplugin": "^1.10.0" } }, "sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg=="], + + "update-browserslist-db": ["update-browserslist-db@1.1.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw=="], + + "uqr": ["uqr@0.1.2", "", {}, "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA=="], + + "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], + + "uri-js-replace": ["uri-js-replace@1.0.1", "", {}, "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g=="], + + "urlpattern-polyfill": ["urlpattern-polyfill@8.0.2", "", {}, "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ=="], + + "use-callback-ref": ["use-callback-ref@1.3.3", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg=="], + + "use-sidecar": ["use-sidecar@1.1.3", "", { "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ=="], + + "use-sync-external-store": ["use-sync-external-store@1.5.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "uuid": ["uuid@11.1.0", "", { "bin": { "uuid": "dist/esm/bin/uuid" } }, "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A=="], + + "validate-npm-package-license": ["validate-npm-package-license@3.0.4", "", { "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew=="], + + "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], + + "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="], + + "vfile-location": ["vfile-location@5.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg=="], + + "vfile-message": ["vfile-message@4.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw=="], + + "vite": ["vite@6.3.5", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ=="], + + "vite-node": ["vite-node@3.2.4", "", { "dependencies": { "cac": "^6.7.14", "debug": "^4.4.1", "es-module-lexer": "^1.7.0", "pathe": "^2.0.3", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "bin": { "vite-node": "vite-node.mjs" } }, "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg=="], + + "vite-tsconfig-paths": ["vite-tsconfig-paths@5.1.4", "", { "dependencies": { "debug": "^4.1.1", "globrex": "^0.1.2", "tsconfck": "^3.0.3" }, "peerDependencies": { "vite": "*" }, "optionalPeers": ["vite"] }, "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w=="], + + "vitest": ["vitest@3.2.4", "", { "dependencies": { "@types/chai": "^5.2.2", "@vitest/expect": "3.2.4", "@vitest/mocker": "3.2.4", "@vitest/pretty-format": "^3.2.4", "@vitest/runner": "3.2.4", "@vitest/snapshot": "3.2.4", "@vitest/spy": "3.2.4", "@vitest/utils": "3.2.4", "chai": "^5.2.0", "debug": "^4.4.1", "expect-type": "^1.2.1", "magic-string": "^0.30.17", "pathe": "^2.0.3", "picomatch": "^4.0.2", "std-env": "^3.9.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.14", "tinypool": "^1.1.1", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", "vite-node": "3.2.4", "why-is-node-running": "^2.3.0" }, "peerDependencies": { "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "@vitest/browser": "3.2.4", "@vitest/ui": "3.2.4", "happy-dom": "*", "jsdom": "*" }, "optionalPeers": ["@edge-runtime/vm", "@types/debug", "@types/node", "@vitest/browser", "@vitest/ui", "happy-dom", "jsdom"], "bin": { "vitest": "vitest.mjs" } }, "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A=="], + + "vue-eslint-parser": ["vue-eslint-parser@9.4.3", "", { "dependencies": { "debug": "^4.3.4", "eslint-scope": "^7.1.1", "eslint-visitor-keys": "^3.3.0", "espree": "^9.3.1", "esquery": "^1.4.0", "lodash": "^4.17.21", "semver": "^7.3.6" }, "peerDependencies": { "eslint": ">=6.0.0" } }, "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg=="], + + "w3c-xmlserializer": ["w3c-xmlserializer@5.0.0", "", { "dependencies": { "xml-name-validator": "^5.0.0" } }, "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA=="], + + "web-namespaces": ["web-namespaces@2.0.1", "", {}, "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ=="], + + "web-streams-polyfill": ["web-streams-polyfill@3.3.3", "", {}, "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw=="], + + "web-vitals": ["web-vitals@4.2.4", "", {}, "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw=="], + + "webidl-conversions": ["webidl-conversions@7.0.0", "", {}, "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="], + + "webpack-virtual-modules": ["webpack-virtual-modules@0.6.2", "", {}, "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="], + + "whatwg-encoding": ["whatwg-encoding@3.1.1", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ=="], + + "whatwg-mimetype": ["whatwg-mimetype@4.0.0", "", {}, "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg=="], + + "whatwg-url": ["whatwg-url@14.2.0", "", { "dependencies": { "tr46": "^5.1.0", "webidl-conversions": "^7.0.0" } }, "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw=="], + + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "why-is-node-running": ["why-is-node-running@2.3.0", "", { "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" }, "bin": { "why-is-node-running": "cli.js" } }, "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w=="], + + "winston": ["winston@3.17.0", "", { "dependencies": { "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", "logform": "^2.7.0", "one-time": "^1.0.0", "readable-stream": "^3.4.0", "safe-stable-stringify": "^2.3.1", "stack-trace": "0.0.x", "triple-beam": "^1.3.0", "winston-transport": "^4.9.0" } }, "sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw=="], + + "winston-transport": ["winston-transport@4.9.0", "", { "dependencies": { "logform": "^2.7.0", "readable-stream": "^3.6.2", "triple-beam": "^1.3.0" } }, "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A=="], + + "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], + + "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + + "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + + "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], + + "write-file-atomic": ["write-file-atomic@6.0.0", "", { "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^4.0.1" } }, "sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ=="], + + "ws": ["ws@8.18.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg=="], + + "xml-name-validator": ["xml-name-validator@5.0.0", "", {}, "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg=="], + + "xmlbuilder2": ["xmlbuilder2@3.1.1", "", { "dependencies": { "@oozcitak/dom": "1.15.10", "@oozcitak/infra": "1.0.8", "@oozcitak/util": "8.3.8", "js-yaml": "3.14.1" } }, "sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw=="], + + "xmlchars": ["xmlchars@2.2.0", "", {}, "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="], + + "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], + + "yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], + + "yaml-ast-parser": ["yaml-ast-parser@0.0.43", "", {}, "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A=="], + + "yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + + "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + + "yauzl": ["yauzl@2.10.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="], + + "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + + "youch": ["youch@4.1.0-beta.8", "", { "dependencies": { "@poppinss/colors": "^4.1.4", "@poppinss/dumper": "^0.6.3", "@speed-highlight/core": "^1.2.7", "cookie": "^1.0.2", "youch-core": "^0.3.1" } }, "sha512-rY2A2lSF7zC+l7HH9Mq+83D1dLlsPnEvy8jTouzaptDZM6geqZ3aJe/b7ULCwRURPtWV3vbDjA2DDMdoBol0HQ=="], + + "youch-core": ["youch-core@0.3.3", "", { "dependencies": { "@poppinss/exception": "^1.2.2", "error-stack-parser-es": "^1.0.5" } }, "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA=="], + + "zip-stream": ["zip-stream@6.0.1", "", { "dependencies": { "archiver-utils": "^5.0.0", "compress-commons": "^6.0.2", "readable-stream": "^4.0.0" } }, "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA=="], + + "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + + "zod-to-json-schema": ["zod-to-json-schema@3.24.6", "", { "peerDependencies": { "zod": "^3.24.1" } }, "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg=="], + + "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="], + + "@asamuzakjp/css-color/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + + "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + + "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + + "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + + "@cloudflare/kv-asset-handler/mime": ["mime@3.0.0", "", { "bin": { "mime": "cli.js" } }, "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A=="], + + "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + + "@eslint/config-array/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + + "@eslint/eslintrc/globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], + + "@eslint/eslintrc/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + + "@humanfs/node/@humanwhocodes/retry": ["@humanwhocodes/retry@0.3.1", "", {}, "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA=="], + + "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + + "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="], + + "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], + + "@netlify/dev-utils/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + + "@netlify/dev-utils/find-up": ["find-up@7.0.0", "", { "dependencies": { "locate-path": "^7.2.0", "path-exists": "^5.0.0", "unicorn-magic": "^0.1.0" } }, "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g=="], + + "@netlify/zip-it-and-ship-it/@babel/types": ["@babel/types@7.28.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1" } }, "sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg=="], + + "@netlify/zip-it-and-ship-it/@netlify/serverless-functions-api": ["@netlify/serverless-functions-api@2.1.3", "", {}, "sha512-bNlN/hpND8xFQzpjyKxm6vJayD+bPBlOvs4lWihE7WULrphuH1UuFsoVE5386bNNGH8Rs1IH01AFsl7ALQgOlQ=="], + + "@netlify/zip-it-and-ship-it/esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], + + "@netlify/zip-it-and-ship-it/find-up": ["find-up@7.0.0", "", { "dependencies": { "locate-path": "^7.2.0", "path-exists": "^5.0.0", "unicorn-magic": "^0.1.0" } }, "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g=="], + + "@netlify/zip-it-and-ship-it/locate-path": ["locate-path@7.2.0", "", { "dependencies": { "p-locate": "^6.0.0" } }, "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA=="], + + "@netlify/zip-it-and-ship-it/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "@netlify/zip-it-and-ship-it/path-exists": ["path-exists@5.0.0", "", {}, "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ=="], + + "@netlify/zip-it-and-ship-it/resolve": ["resolve@2.0.0-next.5", "", { "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA=="], + + "@parcel/watcher/detect-libc": ["detect-libc@1.0.3", "", { "bin": { "detect-libc": "./bin/detect-libc.js" } }, "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg=="], + + "@parcel/watcher-wasm/napi-wasm": ["napi-wasm@1.1.3", "", { "bundled": true }, "sha512-h/4nMGsHjZDCYmQVNODIrYACVJ+I9KItbG+0si6W/jSjdA9JbWDoU4LLeMXVcEQGHjttI2tuXqDrbGF7qkUHHg=="], + + "@redocly/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], + + "@redocly/openapi-core/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], + + "@rollup/plugin-commonjs/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + + "@rollup/plugin-inject/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + + "@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.4.4", "", { "dependencies": { "@emnapi/wasi-threads": "1.0.3", "tslib": "^2.4.0" }, "bundled": true }, "sha512-A9CnAbC6ARNMKcIcrQwq6HeHCjpcBZ5wSx4U01WXCqEKlrzB9F9315WDNHkrs2xbx7YjjSxbUYxuN6EQzpcY2g=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.4.4", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-hHyapA4A3gPaDCNfiqyZUStTMqIkKRshqPIuDOXv1hcBnD4U3l8cP0T1HMCfGRxQ6V64TGCcoswChANyOAwbQg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.0.3", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-8K5IFFsQqF9wQNJptGbS6FNKgUTsSRYnTqNCG1vPP8jFdjSv18n2mQfJpkt2Oibo9iBEzcDnDxNwKTzC7svlJw=="], + + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@0.2.12", "", { "dependencies": { "@emnapi/core": "^1.4.3", "@emnapi/runtime": "^1.4.3", "@tybys/wasm-util": "^0.10.0" }, "bundled": true }, "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ=="], + + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.9.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw=="], + + "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@tanstack/start-plugin-core/@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="], + + "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], + + "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "@vercel/nft/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + + "@vercel/nft/resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], + + "@vue/compiler-core/entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + + "@vue/compiler-core/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + + "@vue/compiler-sfc/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + + "@whatwg-node/fetch/urlpattern-polyfill": ["urlpattern-polyfill@10.1.0", "", {}, "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw=="], + + "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "archiver-utils/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], + + "c12/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + + "c12/ohash": ["ohash@2.0.11", "", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="], + + "chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + + "color/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + + "compress-commons/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], + + "dom-serializer/entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + + "escodegen/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + + "eslint/eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="], + + "eslint/glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + + "eslint/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + + "eslint-plugin-n/globals": ["globals@15.15.0", "", {}, "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg=="], + + "eslint-plugin-n/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "execa/get-stream": ["get-stream@8.0.1", "", {}, "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA=="], + + "execa/is-stream": ["is-stream@3.0.0", "", {}, "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA=="], + + "glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "globby/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], + + "hast-util-to-parse5/property-information": ["property-information@6.5.0", "", {}, "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig=="], + + "hosted-git-info/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + + "http-errors/statuses": ["statuses@2.0.1", "", {}, "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="], + + "is-inside-container/is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], + + "jsondiffpatch/chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="], + + "lambda-local/commander": ["commander@10.0.1", "", {}, "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug=="], + + "lazystream/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], + + "listhen/h3": ["h3@1.15.3", "", { "dependencies": { "cookie-es": "^1.2.2", "crossws": "^0.3.4", "defu": "^6.1.4", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.0", "radix3": "^1.1.2", "ufo": "^1.6.1", "uncrypto": "^0.1.3" } }, "sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ=="], + + "listhen/pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="], + + "lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], + + "mdast-util-find-and-replace/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], + + "merge-options/is-plain-obj": ["is-plain-obj@2.1.0", "", {}, "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="], + + "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "mlly/pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], + + "netlify/node-fetch": ["node-fetch@3.3.2", "", { "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", "formdata-polyfill": "^4.0.10" } }, "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA=="], + + "nitropack/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + + "nitropack/cookie-es": ["cookie-es@2.0.0", "", {}, "sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg=="], + + "nitropack/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], + + "nitropack/h3": ["h3@1.15.3", "", { "dependencies": { "cookie-es": "^1.2.2", "crossws": "^0.3.4", "defu": "^6.1.4", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.0", "radix3": "^1.1.2", "ufo": "^1.6.1", "uncrypto": "^0.1.3" } }, "sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ=="], + + "nitropack/ohash": ["ohash@2.0.11", "", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="], + + "nitropack/unenv": ["unenv@2.0.0-rc.18", "", { "dependencies": { "defu": "^6.1.4", "exsolve": "^1.0.7", "ohash": "^2.0.11", "pathe": "^2.0.3", "ufo": "^1.6.1" } }, "sha512-O0oVQVJ2X3Q8H4HITJr4e2cWxMYBeZ+p8S25yoKCxVCgDWtIJDcgwWNonYz12tI3ylVQCRyPV/Bdq0KJeXo7AA=="], + + "node-fetch/whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="], + + "npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="], + + "open/is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], + + "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], + + "path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + + "precinct/commander": ["commander@12.1.0", "", {}, "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA=="], + + "pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], + + "read-pkg/unicorn-magic": ["unicorn-magic@0.1.0", "", {}, "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ=="], + + "readdir-glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], + + "readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "recast/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + + "source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + + "strip-literal/js-tokens": ["js-tokens@9.0.1", "", {}, "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ=="], + + "unenv/mime": ["mime@3.0.0", "", { "bin": { "mime": "cli.js" } }, "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A=="], + + "unenv/pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="], + + "unimport/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], + + "unixify/normalize-path": ["normalize-path@2.1.1", "", { "dependencies": { "remove-trailing-separator": "^1.0.1" } }, "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w=="], + + "unstorage/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + + "unstorage/h3": ["h3@1.15.3", "", { "dependencies": { "cookie-es": "^1.2.2", "crossws": "^0.3.4", "defu": "^6.1.4", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.0", "radix3": "^1.1.2", "ufo": "^1.6.1", "uncrypto": "^0.1.3" } }, "sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ=="], + + "unstorage/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + + "untun/pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="], + + "unwasm/pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="], + + "unwasm/pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], + + "unwasm/unplugin": ["unplugin@1.16.1", "", { "dependencies": { "acorn": "^8.14.0", "webpack-virtual-modules": "^0.6.2" } }, "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w=="], + + "vue-eslint-parser/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + + "vue-eslint-parser/espree": ["espree@9.6.1", "", { "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } }, "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ=="], + + "winston/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], + + "winston/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], + + "winston-transport/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], + + "xmlbuilder2/js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="], + + "yauzl/buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], + + "youch/cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], + + "@eslint/config-array/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + + "@eslint/eslintrc/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + + "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], + + "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="], + + "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="], + + "@netlify/dev-utils/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + + "@netlify/dev-utils/find-up/locate-path": ["locate-path@7.2.0", "", { "dependencies": { "p-locate": "^6.0.0" } }, "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA=="], + + "@netlify/dev-utils/find-up/path-exists": ["path-exists@5.0.0", "", {}, "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ=="], + + "@netlify/dev-utils/find-up/unicorn-magic": ["unicorn-magic@0.1.0", "", {}, "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="], + + "@netlify/zip-it-and-ship-it/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="], + + "@netlify/zip-it-and-ship-it/find-up/unicorn-magic": ["unicorn-magic@0.1.0", "", {}, "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ=="], + + "@netlify/zip-it-and-ship-it/locate-path/p-locate": ["p-locate@6.0.0", "", { "dependencies": { "p-limit": "^4.0.0" } }, "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw=="], + + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime/@tybys/wasm-util": ["@tybys/wasm-util@0.10.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ=="], + + "c12/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + + "color/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], + + "eslint/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + + "lazystream/readable-stream/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], + + "lazystream/readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], + + "mlly/pkg-types/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], + + "nitropack/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + + "nitropack/h3/cookie-es": ["cookie-es@1.2.2", "", {}, "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg=="], + + "node-fetch/whatwg-url/tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="], + + "node-fetch/whatwg-url/webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], + + "unstorage/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + + "unwasm/pkg-types/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], + + "unwasm/pkg-types/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "xmlbuilder2/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + + "@netlify/dev-utils/find-up/locate-path/p-locate": ["p-locate@6.0.0", "", { "dependencies": { "p-limit": "^4.0.0" } }, "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw=="], + + "@netlify/zip-it-and-ship-it/locate-path/p-locate/p-limit": ["p-limit@4.0.0", "", { "dependencies": { "yocto-queue": "^1.0.0" } }, "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ=="], + + "@netlify/dev-utils/find-up/locate-path/p-locate/p-limit": ["p-limit@4.0.0", "", { "dependencies": { "yocto-queue": "^1.0.0" } }, "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ=="], + + "@netlify/zip-it-and-ship-it/locate-path/p-locate/p-limit/yocto-queue": ["yocto-queue@1.2.1", "", {}, "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg=="], + + "@netlify/dev-utils/find-up/locate-path/p-locate/p-limit/yocto-queue": ["yocto-queue@1.2.1", "", {}, "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg=="], + } +} diff --git a/packages/court-booking/certs/cert.pem b/packages/court-booking/certs/cert.pem new file mode 100644 index 00000000..2e412d2f --- /dev/null +++ b/packages/court-booking/certs/cert.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDkzCCAnugAwIBAgIUYlwI44XOXQaSy7atmqZGONsA4nAwDQYJKoZIhvcNAQEL +BQAwWTELMAkGA1UEBhMCVk4xDDAKBgNVBAgMA0hDTTEMMAoGA1UEBwwDSENNMQww +CgYDVQQKDANEZXYxDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJbG9jYWxob3N0MB4X +DTI1MDcxNDE3MDgwN1oXDTI2MDcxNDE3MDgwN1owWTELMAkGA1UEBhMCVk4xDDAK +BgNVBAgMA0hDTTEMMAoGA1UEBwwDSENNMQwwCgYDVQQKDANEZXYxDDAKBgNVBAsM +A0RldjESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAxMJmrTBdd99K9HYmdRvsglEg9CyLJFPZNudRAp6JTLpWe7q/b5HU +aI5VF+VvhiBJvhxaPA4G/2ABglQMtXmAFas6BjxLh3aY67ISWXyn1XPvUm5lqoZS +brXZTY4/0yEhPO1RzOe9IqhiuPEnRkwTUh+5CYCOJbMYIUQl8YY0yhR3x9RgOsTG +yBMCvWidD+NiyrM6gKGQ+8AoOWwb98Xj35Bwm8BfOLfAiIPJ232d1D/TCR8LrMwf +BYvc7m/URI4fnEMgj4pg+exgdtfhpSVKE9cVjD3/m7rVtSt1joeSh9i8eiQ9g/e7 +z9c8WDr5R2M+MQHmS01qfl4eMXQpn++PeQIDAQABo1MwUTAdBgNVHQ4EFgQU9HRp +fjzxlZ8CU6Lwajun1WEyof0wHwYDVR0jBBgwFoAU9HRpfjzxlZ8CU6Lwajun1WEy +of0wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAwYG6j8jmOkH7 +OFAJMOX0f7XuzCiQtH6w8sOp03skrzbt82tm/6W4QLSL1pJrZdXmBBzFrIE6piZG +sSHh/aQjTas4yFcsnXUG+8hn4i1PhT0uG2TG7NHXDgZq4LqEVQdkDSOLVcpz46KY +dJpbKfB5m/BFnftT0EyP969cI/faAynaonO6TtCG7s86rmC+Ky+0Q7Ds+WunkmD3 +t5NwIJxN5aObbTNkQMQnjz2M9VbV8NsJnchx5gd3Wv/7gka5C5Dx85f6Lsbx4Fxy +U8y7n17kzzR5NeewCgz/PDtQ91BaJG6MEnYsp3Zvx1Bx1TcWevb5rActnaNqteEw +PZs+m7bF0w== +-----END CERTIFICATE----- diff --git a/packages/court-booking/certs/key.pem b/packages/court-booking/certs/key.pem new file mode 100644 index 00000000..ee57b6d6 --- /dev/null +++ b/packages/court-booking/certs/key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDEwmatMF1330r0 +diZ1G+yCUSD0LIskU9k251ECnolMulZ7ur9vkdRojlUX5W+GIEm+HFo8Dgb/YAGC +VAy1eYAVqzoGPEuHdpjrshJZfKfVc+9SbmWqhlJutdlNjj/TISE87VHM570iqGK4 +8SdGTBNSH7kJgI4lsxghRCXxhjTKFHfH1GA6xMbIEwK9aJ0P42LKszqAoZD7wCg5 +bBv3xePfkHCbwF84t8CIg8nbfZ3UP9MJHwuszB8Fi9zub9REjh+cQyCPimD57GB2 +1+GlJUoT1xWMPf+butW1K3WOh5KH2Lx6JD2D97vP1zxYOvlHYz4xAeZLTWp+Xh4x +dCmf7495AgMBAAECggEAFwJk33v4cjw6l7v5Y1iQn+y83dEXtHfZvwHuB1Bi3gYs +duuv12xGWrPKX7EFCbpc5U6LftplFxgzFPqfQdmjkOUlM/V5H65O08FPRAe/2MZm +Bk3Ctd5fZXL+poMsE5ScPnPCTSQMijEG2nnZDe93kvMCwIm4FdCL0dgWV9hJ9Beb +9jbGZ3Y+eAdQWoqMfde1I2v7/4K0Er/1ONZ272iIdtivUCRq026p3+2HmY9Oj7b+ ++AxA7vvZWNtajSDowzt9r993IAK5o4FVELh5Dn/vlr7+bMx1WPf6uPBKnGUQYloi +szh6SDDnDPJ9hRkUcXb4us/eiN+dpa6SYM3Zl/XrAQKBgQD1gbQmAOZWGdPcJQie +Psn+xXMs8gvHsO31fODoTMg4s3p7D62iPWayfztMhILY0ZwF04PuVH1QNOjmAJPe +Z/g1JdrMb3F0c8OY9S1jyDNRa52Dipfn8G+jLs+sGjV25CM86BM6w27VnJT1SUuU +5VTUZvYda4uxgMjWtrRKbj60rQKBgQDNK0/n+uqIydhByj+xk39e1rdBA6wdBKyF +SC2uZP8CTslT2XGA3IlC/ljOVr+1i0XIbmq24+fqcvONXBtc3x2id5JQ76sKPrYf +FlMM3KUTKAFH29+9s2ZUsuJZVMyalxC4T2vzOxV76so2PK1WIpw8TTuSmlcmYAwx +Dbb5MBqTfQKBgAjg0eT17155vKGfbTpbxu5BsbKUZjyod1KDW5bLAAqc4vcEUCEn +20jlNP3FZP32RpAnYAQEZiu6XhnDN5W5aM5zOgBen1m4vgAQDb4oBUMSgzW4k1m9 +5iuei8ALipdsFKIlOlzLqHxtFy3vop4V1QWBW7EgrIKUx66MGOUAK6BZAoGAbF/m +k4lM/fhwzT/CKVDaRQRyRFtmPOXNI5Ie3zHmKhfn7Oy9Me5MayDjVAsqtQDeWaNJ +p1X3mTYjRJZUtdf9VWaH2UzgMkcx+HXYZMDgSaAmHQkdxJzQ/wiG290ZPsdxQ4pg +YVjiXlSFf+TJQuiBUrEROL1iL5kol3jBIBuyzhkCgYBwFS1n2heRnQtQk3Bt6p/O +ytJPTn8qfqL0GHAsJZYeM7ItFp0Vw1lZTzP2DIG5MxNRNa83E9DM0MLpnr8rYwwO +wzhq6fvjo6GBIk1sbyMDYbhw4VJtyXvvBWTb40lNRsycFhUZgKPVTI9MTWofqIvp +eCgKJlPubzctDzmvEk2T5A== +-----END PRIVATE KEY----- diff --git a/packages/court-booking/components.json b/packages/court-booking/components.json new file mode 100644 index 00000000..092e1ac5 --- /dev/null +++ b/packages/court-booking/components.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "new-york", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "", + "css": "src/styles.css", + "baseColor": "zinc", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks", + "api": "@/api" + }, + "iconLibrary": "lucide" +} diff --git a/packages/court-booking/eslint.config.js b/packages/court-booking/eslint.config.js new file mode 100644 index 00000000..e02d8679 --- /dev/null +++ b/packages/court-booking/eslint.config.js @@ -0,0 +1,5 @@ +// @ts-check + +import { tanstackConfig } from "@tanstack/eslint-config"; + +export default [...tanstackConfig]; diff --git a/packages/court-booking/package.json b/packages/court-booking/package.json new file mode 100644 index 00000000..ef2c15bd --- /dev/null +++ b/packages/court-booking/package.json @@ -0,0 +1,73 @@ +{ + "name": "court-booking", + "private": true, + "type": "module", + "scripts": { + "dev": "vite dev --port 3000", + "start": "node .output/server/index.mjs", + "build": "vite build", + "serve": "vite preview", + "test": "vitest run", + "lint": "eslint", + "format": "prettier", + "check": "prettier --write . && eslint --fix", + "script": "NODE_TLS_REJECT_UNAUTHORIZED=0 NODE_ENV=development bun src/scripts/generate-types.ts" + }, + "dependencies": { + "@ai-sdk/anthropic": "^1.1.17", + "@ai-sdk/react": "^1.1.23", + "@faker-js/faker": "^9.6.0", + "@modelcontextprotocol/sdk": "^1.8.0", + "@radix-ui/react-label": "^2.1.7", + "@radix-ui/react-select": "^2.2.5", + "@radix-ui/react-slider": "^1.3.5", + "@radix-ui/react-slot": "^1.2.3", + "@radix-ui/react-switch": "^1.2.5", + "@tailwindcss/vite": "^4.0.6", + "@tanstack/match-sorter-utils": "^8.19.4", + "@tanstack/react-form": "^1.0.0", + "@tanstack/react-query": "^5.66.5", + "@tanstack/react-query-devtools": "^5.66.5", + "@tanstack/react-router": "^1.121.2", + "@tanstack/react-router-devtools": "^1.121.2", + "@tanstack/react-router-with-query": "^1.121.2", + "@tanstack/react-start": "^1.121.2", + "@tanstack/react-store": "^0.7.0", + "@tanstack/react-table": "^8.21.2", + "@tanstack/router-plugin": "^1.121.2", + "@tanstack/store": "^0.7.0", + "ai": "^4.1.65", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "highlight.js": "^11.11.1", + "lucide-react": "^0.475.0", + "openapi-fetch": "^0.14.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-markdown": "^9.0.1", + "rehype-highlight": "^7.0.0", + "rehype-raw": "^7.0.0", + "rehype-sanitize": "^6.0.0", + "remark-gfm": "^4.0.1", + "tailwind-merge": "^3.0.2", + "tailwindcss": "^4.0.6", + "tailwindcss-animate": "^1.0.7", + "vite-tsconfig-paths": "^5.1.4", + "zod": "^3.24.2" + }, + "devDependencies": { + "@tanstack/eslint-config": "^0.1.0", + "@testing-library/dom": "^10.4.0", + "@testing-library/react": "^16.2.0", + "@types/react": "^19.0.8", + "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", + "jsdom": "^26.0.0", + "openapi-typescript": "^7.8.0", + "prettier": "^3.5.3", + "typescript": "^5.7.2", + "vite": "^6.1.0", + "vitest": "^3.0.5", + "web-vitals": "^4.2.4" + } +} diff --git a/packages/court-booking/prettier.config.js b/packages/court-booking/prettier.config.js new file mode 100644 index 00000000..6e3dcece --- /dev/null +++ b/packages/court-booking/prettier.config.js @@ -0,0 +1,14 @@ +// @ts-check + +/** @type {import('prettier').Config} */ +const config = { + semi: false, + singleQuote: true, + tabWidth: 2, + printWidth: 100, + trailingComma: "none", + jsxSingleQuote: true, + plugins: ['prettier-plugin-tailwindcss'] +}; + +export default config; diff --git a/packages/court-booking/public/example-guitar-flowers.jpg b/packages/court-booking/public/example-guitar-flowers.jpg new file mode 100644 index 0000000000000000000000000000000000000000..debe785efe0baf60f79e3da75c7d9a6dbccb570e GIT binary patch literal 641048 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

    Y)Z*QWh>wK@DYnzz-cIvkUpe`1 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

    P_ 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Ÿj8XjzQRi$f774>}b~5o*aPjTMZQ|4$JF{J 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

    F z7<+h^m8&&e6^JOOyEJRq5#pGp^LrG8*f`Rh1$^{20AJCq=P* z`;SawupW z7OWIARPM<+#>Y5?$%5F>a;^hbq+64>PQRAeObj|m`bxEa&%qyHxZn0vsyZi!og6PF zd2t$4I}o+rZ;p}L9TqrrzN3RCpBFA5sk2$dAaHUPF$kU0okxW~oxxRw|H#T}s;z91 z1bD1{o%0QsVTdVWO`+fulZIg_=eKQ*!sFeH3?k~G*Mi&acB!q2DwsEvJwT$n!NDn_1u4m=M`cOt5jZ9^-0!p7D;2vkkOiLSj8FiMou&)jHMCOAqp>`FVBc2 zK>Vf}qpd1kP+CLn%4Db|P<_l6u9P6w9jriAMAuDRxLPR@JBvUX_`l`Y?yRPoO0nkV z{)v1p_EWDZ`jr}4=M&iR7R@z_xjG1BaVzU{DZK3jQ{-!hGHeXFr1aZi(M}hHh`-c{ zcA3SO1vW&EOWx85WVoy!udQdVc5KM5_xtkZiNey2+CQ#zr%d({@&XN$cYM(KkK(&I zPWEzoDG$$gDYd2bD;cGC9AmI#hhR|}Ng{YnDfsSmj=8i}*zZ;-L<;z9e##eV_(vR~ eFwdp>4Jf$sxrUoL5S%Y44wZ!*yV03X#{UoTIN&A# literal 0 HcmV?d00001 diff --git a/packages/court-booking/public/example-guitar-motherboard.jpg b/packages/court-booking/public/example-guitar-motherboard.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f1a8d72f855903dc83920bb463ea12632ee3965 GIT binary patch literal 662579 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
    XIGh4}H9j@8n7M7#xsKJj3f#{2m@ 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

    `%sE0ExSCeX#kVN0qdMK5iJ+}3(`=R;l1u;xV0 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 QUz{UyP6&EdM>cFw9qwV#1!9 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�a#Li{PvQ!~~FosPxx<^?_ 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�Q7(Ln0*#et*J~I=r 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%0AQuln<+0Jnb;7tGX#oGB2&XkjLh? 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 literal 0 HcmV?d00001 diff --git a/packages/court-booking/public/example-guitar-racing.jpg b/packages/court-booking/public/example-guitar-racing.jpg new file mode 100644 index 0000000000000000000000000000000000000000..44555574c4fa5088ecb989db40cdbe953408de9d GIT binary patch literal 323790 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%0D$n{m70g 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
    $9FTjyC<=qQZT>v#DZX06AxuOY#*xW8)DBc3b<1 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

    &(mc`KyP}2TJzfN&!Rt@ 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[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 z z-3)D(pyLAlyRjjia?n|gkRytq?(c_jw__!sTThYj)Fv7Xy&Uk~>kS~GhwUDwa&qn_ z{JQx?NTp9P9dF!$KmsgCZSUUTadY{{ZW`&8vdW$J#xp4hIT;W}Sk3ja!>ov?9gtyx z6anNbcO*SYlkGg1POLkvpJKCc;#Go+@e-bt2jal9Z|^<&cb1})Tvo&8=aE*tyxYN} z`8B4B4>0^#IKfi9i@#-d3DHC{GtJFKSc^u0=i89C&eM2MG}ZN7(;?Tt;5cOg7%nI- zs6VtVY$P6HlZkfK))@<8f`_?MIYpo-*##m$lwyq%68b=Z_dr^B6?KYPV!u^OS3p4!BC)U*l}6XsWWJ{-r2<$Y4@8oMMYID|98xBD$bfUma_7S< zA2g@pZONs{lAZ0Lm%+|DQ4c4hE;jx_pROmJpr*74nS%TU>C?1B!sZY{!1G_v>2eCu zb4BnhA?S20$;n;PKwu^^prTSQegDrRrd6O93C=m1ZbzZuLKqBZS9b#(r&_{>seyz8 z`h{S$_>BbN2>O$~Xveimzm~$J!3oB)&24>tcdR%>8_8W17SLiQ4G{PBR$Q))c>Css zm_=89j9P4rfD2Xt403z^$EVa{oGg66_h8fiA?!V)nrhp2-B2W;2!bt0C`u3k>7oe` ziar7XB}i4efFja+?}{x12u(3G=^{jw-Vr1eAwuX~5)2{qUINda@3+<(dzG>F{*e*# zhcRY>%=@~J^Eg?)=_{~rcUti%sKd09YfU9g|ESWHfcJUxaBxD(o=?-B z-R%NE9z+tel66t@mM4ci7i3WhA2;39ZU<#m zG3|71^&2hZ4q6>tZKd*Ij|@;q$*+;^(l<3t4#%#yC01$@ML`NUILUQ*=!?B(y{VxX zw8$PKFW)}@jz7@V$z5K@_#W4%3aPRVHEGtHOHb7wKLM>Vx&0W+*t?HTjePz$HnlYI{m=Ne%F~>Ke{mYdhnQYxhGi za0;FD5v=-?qlQokiFeKR5#z7!#!l*sgQv#iCocp~UCumhSx_C=kyedO&>CWk5 zL7^7O{4o3as>%s>!a6M3o##~Fz5d0orQAS(?ktr;hc~qK zy13W%-rVq(rb5Qf4+3=`ff38 z(Iej2uJ|RvYNBCym#;ywGk&tL-IhJ@!vm&mj}n z$?6)FJ1?uJMk}1NxWSkBHYs#C;5(yqc(~5odW+mR+(GzoW3INWAqi#Kdo{DFx@1gZ z&gize=qz;^yh$sD@yjdV?J&ZcMVFnD?AZpRHP!4ATSWOi;fDHrT?_Za#N0~4dlR*k zT&g1Yx8KF^>4$`|((aId7@(g04ZCAVc1zyZIl1T?pv}JY0H^cjd3witSy^!G7Z2B^ zUteUN46a;h7zB12pFT

    rEJOO#rD?0d$yq^^#`-*dsF$BSM+W&iki@| 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 z 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 literal 0 HcmV?d00001 diff --git a/packages/court-booking/public/example-guitar-steamer-trunk.jpg b/packages/court-booking/public/example-guitar-steamer-trunk.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7b931893974574279c032798c3ad8f7bdf4e35a6 GIT binary patch literal 435128 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⪼X0-C9Fe6fPdpCc^( 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�BQACD<+p)3lsegK1^wFd2^K_k4ucdaJO!2b&4;SMF>v-<^&Rd>2 z_!xV}&YVM}$gcjU*IJ)&T=ISbyVOGm$^MlT(m~||3&Ju|+DaGvb2EMH-j{veV4jia zkKvV90BCX0{!K0b=UwR+pH0I6!TyGZjEs__l9HH=z9=_2S=q8T^^Nsui^r208Fjy5 zPPMglzW!pUC4bv|Uw`G(I&9K5_oG=mI8UD+GUAbvu6JHekE z;p&%gPoC?U&R;mro;JE*Y!p=^mnwAXE^i`_}%u^KNY|*OuomR*hUTq>$2| zrr#y^xaKCAuMqEt7f=v2d59flDK)W@;OpZ!=DG{-LO6nWI}0-S@Y1JNVNitxuW6sq zuP5?h9~ES+VV82x%lxTOixPYZ{=LonHmLR9vopyrZX33~5Uq-Jczw}Kct5M|x7Vk$ z=j}6+>JAt7oloLJgv{qyzi`$r-x_|M+l!3!7tDquWkhDYn!(-#35>a|D zx%^6;>rh4GXilohjLrR0r5)OW_XGGsve3_bo7GRA4)THzp$=# zLCdLM`7tB;NPBiNLyL=1Kn(;1KBE!8eOPd&cYogCQWp0!L_SOod|cHNq0vqMUObs zZde&H38^4F!@b2JHgn@e2hXG|$oJ?L+)=#uP}L)(*CImtp217r&aT~eIBTPkcee{^l+PHS@Nsg9_dsHaCro+~Ns@Ku) zNMHy5<~I}p6L)S6HG*=w6{;qXK=+Q9!QEdl-w=4kxkX@SCTYQBOt##|ps#P@SXtmq z{C_N1VQfpw$Oqu3<-`@umgUk~6Ey)2tdZ*8nfT`E_1(J)Fo#vs99>SVZi<-{>7#M% zoz$dgYtayUYaDn_!WzG5g3*6y_N;+k~PAkF^FBIAa52$r1mAe%obc z>9qua?aSwx!SVn~IH-`qViJ$sTi5~qOcS4yS9l0OggcwjEDr^iM?);N5(k3UUcNmE zJ+WT^fW>@@M?&F$EZrV|JytUp=rI0wdgZ&q1zsx*7gJPiEjN{O)zS5CkzR%uRmhB_4?QH!|j0!Mp<65 zd&g4t0v?PbpM}ZtGL7ozfa7r9AoIOu^VdO#^#r=+D9ia<|L}qTWzqHhFwVPNu9d#H z*{S{i4%xZ?YeO{t|NZ@%L}>dlGi-f!Vp0#gzPrwdk5rKSzIyn2XHaVyqxyg0SiX+< zf47+-S*o=c{aqk=ye0%a=hb?W{XbDpXzQIut0S`&E;QbLlY2eNA#F5!!2l^Xj&jL)L1|b&^Ed1e!`;VnYE)v+) zXlZY$8r-nRV>r)kw{o0yHL-EwbN{%x4b)tWnM>nTm%C^eYhIxA-muc&q z8Kd#i_rPiAJQcp^~W?(SKBLYB5UBbjQbYpc5TdkPjH zn>_+`2{<$LgO4mJ>y`~Y!s%L|ES>3GSdIN6|F=6&-I69Z$Z%Vb+eR*+L6UgC%9Zx% zIcc-@gd)vmEb;Dn)$<|gyc6{6O&{~KKXAXGmVlz|WnDF48qO)~5>4KR7bW+e{Kt~z z#}Xl)sUreyS2wRzk}de$^@vin{=e9zVWVfaV>5ra_s5l@q%#7_*R3FkyU+K>xoWZz zsg$Pd6>|@d%a#5W{byQ!^Cobbb&`$pPzRfQ4-Aq~N(N~bHbpvblP8-a_uLHIRMfGT z!0~)pcRkGJZ!8>}Z(z53I=g~;3Mi03QU5n6+nqc&q&ZW56j<8g9Z3tR&= z%9r2!XE?Fe>*pG}d-$9^j3tiPaJme$$|BxA^^>mJpI$m?<9$(@c2Aoxzkq7e=Py(I zCB;DS)zdn-Rk?GOzC1!a>F8XeiC~Fnb5P}!!CU9>zln_xAk4%&?H+fRrd94bxq*jM z&zB>?HdB>0MZI^Gjqx_V4F_e3+j?g%x*ikE_!bvUjQBu~eee>^^0MA>RY7I25*@;o zr=~hL0j)ZAGw{!w-=3A? z5WoP9M|m=+obYt~KD6)Z?YWE%S{3*(swP@2RlRO_(Fq=KcAW2JMBckYzx|5JT0-TK zPE(R~yVwBM?GW=>*=3x|qU$u3{Is?akDQ^Xw`6uT**^+vub+CLU0~>ZQsf~}V|Qz0 zk1K6tAKIikK>2=B3{jFo;GS1^@?9!&yY@&3WhJJ&5QzzY z3gc&PWWR~Fx)tqRdolf;jX(Y45SNF(L<9kPBl|!n>0w@NZJde9?(bTBw(gPI%wXV! zZSSRqXF_jknvcv==s!pN%Qge9HFb@*he6W#BWN9$Jcl$oxAG4TRDH(AI-3Y0MvGz8@cSa@`ovEf#@(dl?`P zozR-4i9NsjWYIUXzF*TI?AVEZ8P7UtF;CS|mFkT~xA5Xg4d(h1KKztz^V|$lzC~MC zzL_&mp-RJO!CqtPrdXbbp>1DD0NiV#oF_<%NR}zlSZH5v04>b_<5}eEI_Tt|*a-^l)M|z9wD`ZeW>1AVy2xiB~+CZ7Z%TfPu?2 z8!{iP**9RtXJtjMm0^sMVanie>t$a!#afD(KmMmCPSG>-oVCiuyO}%It7bS!@PmDo zU@_i-nLnv!o22|5E)p)A9Y$aNJA&2&pb|*_PgYq%CwqV0m{!%(Fx^x zU?}|YpUPjQ&5a&B;3|xX#;e_wfG!V;aj>bO@N~j=4u+)tM(UA`3*`a*(0yHO`Fv4i4A-_gw05;AHQ0eVc)E{j zcz5z8vl9?jFo$DF6x)>mLac}$si11iht*xN&K(L3v-lYNU{;3?+Wyt3RRF?7{vxoA zs7c@bk405w5y@QV+`8XTJGZw2xgetQLvelPCeSJz(|Q#;$&ja(cg(U)QqDo)5O(Bt zM?Hv8Un0Npan`8iBkPOCq=%ec-@Xb6L?-)XSb&y|WWl9^W5s$i)o?wr`t=aAvGPEr z;4NskTUadp#$8>4n!Z_{N-fyW9rdEH4&787os~rCKCqg%pO}2ac#NI4vMjAH0`}x3 zNIn38abLiK_-C-l-ma-p*-we0Q;=F%s``1@=lVWQ_l^a0n9#3@+(P)b2nGeyO)O>sETaR~M+?EQYL|RHx^|F5|9_snU$~KFQM1_w zK0bXKJ?7kvX2@`Fl+2^gt?Sd`2fLVBj409lc71&Ek;&}*equ3971uaC>pFf=K40xu zFbLyJel!}Sc5bPTeccB32fC_i{THar)bLX6$X4zU*V^!sWB8+_;wjw*=d^c3^8O!% zT&3)_H>{SozFcEj{#jWUV*05ly30b}G%Q`-BeqyYx)5`7+t;W^l<;<^0!=yAiN$j z;$|sjWa_bp&py8tsvA-{`WE3_OJdHxb{6XhGliy{+LC>{`8D55Vq+=MzhK?sfXmbp zc0g(R*nXCH{c9WLZyF^ieZ+Fz_l0^u>Ci9hJR2A-!&WEkTXQs7KPohbsu}_8{`RKzo+zeL-cY8bh2Vcp42|Q}3iqMi*q>N&L77J2oH3{Kr!1sb2q3)AU1M+45y^ zt}IzMM_7;KXlA)#o##MFW@!@az+4aJ=f@T2;a+N)n{#{q1-4G$9@01* z!}yv$Y#wumJPxTx=tAL`w8#GU<0b6#)I;fg^W5!d&SNKKW0_Mh0iidRvQAH17HI`6Ncqo0#7x5l>bPxU2jCTQI8tR>FO)QM?*)*c!}px(bw0NPq*ug z$P9^89@%V_dybTd;VNpIGv3_mzXNm%%vSqt9L#YrM9VjFsIzfQOGC5vn-q_ka=Fs;c+PjbP8iNLu2>qpvU|+9?Me95<>g zkv1ibkB~+#m?dDGxJ{aEVu8A&mCH`4aeOZRZO}9D=@97^&GAU?|(7A8Q)(M@# zp&j<8K+U(13vCo2f#1x=><_ukc;7<%3h-VpyJK=jd>Vkl`^Pfm(2LeV79@2=pvdqu zQGTsP>uR$MQfYfWvK?WdO@p*+U9_JH(m9dqXj~VlzKC=kO5bc2rvV|=KxvOF_bjP<6M&u0 zT{%hAan$3i26C6KIx+7{*WHPLn#)G;h*1 z(7++Os3&+3d;BsKgG3#)*K;3>gmBW8@*GxyaX|a_`v8fqXCV)e7Oi%th>Xnz(5YiV zT##iYZ9fsqNb8=TNf2usPy4e5cnc5G%q#3B#lK<){bj$=DHPc7ge~l9hhM0iFwM%H zA)&SDb!2t?5;#iKlP?>1d!Zmx7jdC8l)I5P2iagj zq$NZhi%^ASNrug1jXFNgRQ3S42w=X}fVO%dUm3{tJ*0hY_TclWf zz%Cv|%X{L?cANCOvuUddfq2IyTHlhD%_{pFxp|8;pMCtJVpbuM$rIWt3E*>s6v+Pl zlWZ+S=w!=&Gb0gmY{ckWaQ{Gprwj4X?~mY^JV-BH;N+3xLuRx$b3bMs#uws|ZthTn z<^*s|JCiH?ISAiIj5#5M{;BB{W~e|~(cJ1@c|j8PpF$*(=R=w_F5lT!hda zI(CDGl83ik6KTgUDH? zN0q!!?*6C36|C}a+Y5}{jRpTB-q9patkIZ_tEoxcOK$6{#;~*!)t61tG2xhvW!6{H zPZTY*WE=)^GjIFBN0ydjT;)s;j^=d;vt6_Nlw*Iod5Szj7)2TzFRCVX^y}BQU&dSn_t%@P-{9vGZ+rrM?wU?r!nfd6J zeitdXtP#AKTb|Q&x^2Ii9=)L()zTKHX(c=_*Pd}C%&?>UJ{Qun0O6+S!3$UIPbsXv z=Y-^~rX|6cw;01R592M%6tp71yo6AmPVCWzSap*cWr=o_^r>K1yAS%`py>N_>CkT4AH+*9(y$oD5|hVEzcQ=boQfa zn>EzIXJEQMZEsJOwS#6^m^Iap$|Zc&yl{a!$lpyPwc|=DE7gp_F2Iq&^hXh~0@!`KpSc?HI{5fYIEzlc<0vs~gu1jt$-19T8fAtTH&*l+;Nfq;I@PRn zp0IVNf%Boh%cz5bzqqq?FYENNU}Kv-QH*4-2I5jd>B6Ox3=Hzvydhv}R|DE{aHug5 zMsuFu$0#K)YztcI7sHv-q@R#rTJ?PR^$bvG_hpIbXBM6Hn-S2+Q^fQs16Pzh zO@=+|MpDN`orp#~E&h{^{h!;~IR}bcdj=4L(-zhGV&``kt7b93({Ly)fsj*xgje`e z|7^l;>X1)NMw93ivY|EIc!eoW-sUzY5{L0I3=u+O4PCK+9|KCoWX0`g70uchiV+Gj zhwq!(r-TZG&i$)JxX?b~W6u|)LKljollh^6wd%?Rs}uu<-9alw{qM&#V})$;!B24sB-)^)&}RZM`~%ZiG{6VS;wk|9sI(b zhnVp1hHxr-2ph)m+5j{#aQhO{$Xx#uAZr!$?VA0CFORaY)@X&Rebq*=---p_33_Fg zG=Jvr)6;JxMfKHj9fGanf{H@=8MD*>1NNK$!X#gros5oIdaC*m4U6(;t!9=n zsmlV7zbI5SdX{|p_=%>n(x@v$hffzQno=Av6M$Dl;zuaRPLxK(3t{(KFPzKx zmuc5k4-esAvSKJ($*@92BA^$Us+?Br9HeND`(tNLvgDQ{4J+Zk{(e0dc5498x>Ku~ zBd(d7f$l)#ebL{nSDLR5ZIzcDdnbrTQEe}hRi!>N6dc zh#xUjU43)4=8plbeLv$Qqgj!0v>^ORQ<#C<4HOQ`RbUjD3#%&*u%zT zOsp9&uTgoZ3O0?gslZ5&!SLiF=GRnY)(0F|YqHk*tIjhs>|-kTk?s|r;#FPFOq24P zN>jyNq@WlpFu8@0(I5@|OsyTkZTiTAdPri;Ns=>bl&R@%-0X^<#q}AepweDhS=Tr8 zYum@S$I4|DCCdnB&JvCIK5c#5PY=kNdNH|HIXz)nfL(0H2EtBPRJyq1UOGf-S5y-N zC-e9wJJOZkS@KT?j@J_9DUadhRzQCFFY41iYPH}mUy>_PH6eVthVVhrMP^sSggkCc z^0`CNX?!s?`wS4l1f=kloYYS|Clc#xBEDBO9h-^{!T#9VfQe`qPQAiuXvd*~1*s3& zbG`Siw=UK$#L+Vt8nP#|b5)7pM+w}`9?Kn0zlOt-zwn0-*Y5k%@zo6Z}?QS0#6?bi-7N1*i z=IY-JSC;Sb6HQOJM~I*M_60f^Due<3CR_Mb*^9Q+#*W+^H zM113D>9>ZO210so_R<>pX#-L>1#}CzwwbsN6=YKn;s1UEdHBNw{FN!jBO9`qPh65t zNmtXQo!{=?o4~~#pijPDR@y(XF2G?SB?c~Hi1B;&an@_W8p|~wT^E-q*3*Rzgo2{L z0RxNk8?%FDF*rR;=9^9Aw0JIgbA3xGiDbTiZ%_E@Ow>$Z?S`9pMcv2YO+`rcLn%|nV*)VT2=^ZuU=4wc>HwQba`~R1wq^8I?*Ta5Rw{`C zWO+6WoiR^uD^UWFzSFm>N4A6X5LheM&|g)qN(WEW8h$r^LP;oterw(zibZwRybHQ3 z=d&Kuei3Rj(|x1O01Ef5s^z8;2w^a=>~?cso`G0b-h-2fKTNut)Xf4i zyiB?Qg?PQIT5TDOZ=s8HGbKmGfGW`itsCpA;RA01`%Ue}T@Vj!D8ekToNBpv z^U-(XgkgqhTjR2NtM-GA1*t`(D;>_x`{ZTGs}-dwxKXB!$VIQX6gj1}$Kne&0Y`~E zwS`+HFv5e>Tlh~UZ-G2V0Fn?{Wc2Cc&2;Jg5K73{Scc>@|T2SKm zs>0f~HQ3olakNOZt7~FQVNOw(>t4UJBYSQ;EDxqkfA-=Bk&V4qP3O4gSndSNR0=u)tF4S8=+;Z9-6YJM9@OB+bFw<}Kma$2U5?$l8BYS;Q@=%%f|l z->DV);n?^Gqpf^Dm`^44yra>z%zOWS?Q+AYlni*^9r1|$d(CFZBRpwL;s)hFL)#eT ze^X>+H?8IVuZe2^1OcL3$-``TU@Fksy{Dhv+te_I!y$eutNQe?T^p45I_w{dD+6sS z=oiGlA@Id~AF;CQ^pkNNzLdpfP(w^wn|P)3Y2m|F|F$>TzOTOg@Zn$nu#I1jnUzBCvjI zU}bz}NpbURo_UFAMojh5#U8sJ=?T9;D=T++@~WLwU`gPIf*CRVA8_v%mfOjp|MIkg z!iNkm8mM)u7=8w7D07g%lmY_%_cSz-ycj%S!gDbbqNcGikpR{GdU;WO#VC_L3qIZBnm7Yd@4px&>&Bh&*>-Zf0(tWx zDNa>(2Nj+2x_^5TA(|AE4BOEgAU9~jh5rrY1By~?GAok}*UDM-l@5X`tB;fdG6KS_ zEn>EFM?kh%x&Y83kuB)CMWvFS(U|Eus|S3|1RNt`P_MdqG(Kj2T9&+H*b zDN1d-mA+|;d^V~M`er-L;5Q!Kom@Y;{+*k$+_`ya-gy9sxrtJNQ!IrIHC*b!~sulL7Zw|MM3(k{4^Ty}p{*TbfaGSKD&;zhEz| z<)}!LQLy|>^QhUsVfVYu7oP9jv^FyP^Zbk(3egpD#~9JaFGhYBlj72*U$D1^`n%1% zSPe{eY)6jy1-skbBe;nH*yt^p1p;j;*`XOEqBpWRwyDq*Xo`V$&OcXxdV3t#Hm$ zARHo%-@sD67V*zV$%W|j4(qK-s-e3DUA(1e5QmJkZAv#ID+YF5x3RZ3^6Qa_zmU#% zenP-}=nizU^O~Mp;-kb{oyf(>6L6p22F31JmQP*SB>pL?nkGLDO1$&!88(fV9!mEvJ^Q^W)Ops0GyEW4)*}Tl@Zm4cx(Y98-hY9ZE9_7JfnVYwf>AqNZ=2 z+Lux|aW+vNa;-^A&;J*b(B1qH&nA?3S@y#+jr*fRO-7Kt<0#NEDU8w?72jE3m?}BZ zJN3l!f9A7v1w7`lnzd!|s>*O|0JdLg*HziDADluP)o7N@zc(s;+*Bm(RpXQg=3dIE zYL1dV!I=alv=08_{~mh&7$niyW z8>Hi*D&xy!rIq>(4JsfIlH}ta5cO~0J^^5YzO6GANoCE~nLppH3114~YIQr**p3D{ zggvFBqj!Jg!5vAv4E%(h)>+0&YHv3N<|j-UCsXei*+Z@SJ#ra9=BMj2%d}?8j%77t#LK+<;u?b*Q4avqg9qX915F zl#+?*8qrN7(8=d@=Mt!dJeO!Twn#JyQY7&o3(hb%`mp`C^3*%v( zygz$P-ROHB*|W>XlBZt^?sN+$@Gf9^B|dU6RDkOmnzRx~dO_2}l2#{I$6Mwh-&iwW z3jniO2%YI%q|h6JEh%11dtZ)*-{)!pl5e9)NTa|9%<8!n!{DaGl|?tFiK3kY)QnmbF#V@h&F! zy>zzL?Zen%@HEgwrLvIVCiVZh{qk@(ICg+H_1ojowb;2sj_#`LW5oK@I}Zbfz?+@! zGOuy${C1bT;Td(#)x)9-IlqHi;?xR|d);dulOGP>9A1CK3KgthUhzN68UJlLb8mJ1 z->AXAs~Z}Hx&N1F<5qvYezEeT^7x>*Hu{fEu{@ND-d&((A`GL&H+xs8c{s7KwS&S z7kAG9Kh2UV$wXsJ0jaX+s}!UT8S}Ag>33ASEQ{p7rzEK?LXs#JmX{{F;Iy?nLbrj0 z>vsQb(G%SxyFK#pIe-{;TZi@dI-T9%4mXq$k+xyV_z(tL&a;(PCACEbBMZ6u% zp-yn6TK2fkvUeYv3j#QP9ZQV!lMPokuxI&WX_{JT;U_wota`+XCnU>syYjr~u}cxl z%L6jFH@X#Nop*2XnLy#)S7)4c@cUvz%>fQ>Zs$}swc=U z;Cp-HJ?_*Wub!2ABe|J6BZ7%tIeG$Ac1xOU>j;7CV4j|QY_d^_StBxZsWtNKmKW(r z{80#6ASMWyUY~_SYeeuam&OokA7|HE#9!(0!Cx+{Ya&FbX#7EluwudYkfYKf4rVzN z#*hBpi4&k0&{PiUXj9c>v^YJ^WkOYZH}tOQ8fn#BpWDT&yras;x}PMtncnKMnt8ZH&n3^i}Z|iUo z=L>ZD)n2bIzxhmuC}w45`LqqI7UO=KKnDpCmYBw`{ATuJw#v@DCOnh;%P5TmgKJWr zoL^x*u{LVmhTZ0ytatf3irim?DpX!6POEN%oE?4O;RSjAVRH3(l9f#QBXO@=XZ-)v ztgBqqxu_^YF%v1@eejRrc$kL7W*<;N)92ySUonw%my3OFNVMIXZnI5Ze2~6%-u0S$ zp5lKj3Pvd6^N@dvzHI=?LWo@dg|JhztGjJ3(t$PwTX`$XFe4ey8iLDuq(3v%oB8k8 zr)#4R3;86QA3eKqPx+z0vbl+TX*P|p<%Rh({i65!-^RMncKVT=Md5>#@brPRjkJFD zuiQ1_L+(Z&ve!Pv68)b`>a${I9p@H5NTIftuZJeE=1#h|HVPv?14^EMTC#{%bq;*? zAROzZ49R!?p1JxYsMPnypXYAGN?h>u#l+qi6m0CTb5K!uE-ouJKdChMLBEBt^o7!< zCfk$-#UA4W!+6Ven-@>L)~wp1%x|fZ<>&7}w*{TTS|AbZHjV9b zUv7%FY-?=7#aW^DancRB0isxqE5BytOY@$VKqZ?vBnBcB8mfvGJBd8$E8S$H>>q-v zt1XSurfn_Q6ta2q2L*%q-uc@2wBD1%A%$CE4L(B=IuFA*0=e>DWH%u6I4jx{oCRt|Pd@%H?eoq@_3C-Nf?8AZFi<&f1>x%4+S39lR43Fei*stX-_gl$u%99%lj zo#cljl#L4M6~-{q1hHxCdIG^R^+{c`?-NS5>dghocV@Q+%jNBRU)qzqXxn|MF^gx~ z1Zv>~k{UMZa$}PKdxAR@n!b6J?kBXwyCNLtGdC%&K)1`aazbJ70+eko)$EYEZ55ZmZ4Quv)dZd`{{a zWsc4R=Q;|IHAAIqTEUy!j7jD=8he-ohKLK)V9I;NUMN~Y3To8FQ!FbC9aeGol@$-A$)R4IKh3ntCHm}6T8x>y=>6weu0c{mmDwRB! z-*k7_->dfWcfk2go}K@_IwbHn=WU0?Q#j}}bs|4NXxSTCN4zFUyz8LzrGlbPzBi2( zEwMVTgE&`+V;3nxq|R9*lHy__uE!aqU%$JlBTn?SC1B{G_kH7~jqm+qjG5SWj+v?} z7fd%hu0LJOZ+l=H(y3`>fPA)e^R`n1YuwkTWq7Wb?y(qQ)sNMJ-4}<32iBLR=Srl1 z6QB+Bj9cFWJ~V1yc~9Q3%0=kEp=B6P<#L5$!k34;8*<2(oFxG{>Q_M}>PfICB>Uv21RE{OYs+Y7pu z=|OOX;jKJZ&jMYa$2o_PKINwe#zQ&v&%}tFvL@mN@cj2pV7qgde9f*2aJ4wzast&b}9 z)JAwMp*bBdP$+=x9){((yrCx%dqWXMiGsA*c`4$)svjPtX+MkHM?MF?S>V7nr{1SW zz=%V!$sN5?v01RPbGVf82aglBm}c!pHfZbA$CI6PfR?4W(Xd`Pv&ooaR(!aQd6U{9 zTvP&}^VCCq3v7ZQ5Z^&1$PW|gz2AvYd)=TD8%3&3Jndof1E`_qXOdvn?#8AZtK0R0efjeeS;nN?qC~V_s?X3_m6rW`!fax z<rq+GGqAu{HNwY=!$1kdQv_%?06 zVg&O%d=>0C?B?(}S6)=9_x;+D!`z*QA3O5QA%rY&Pv`;F*z03^U;%i-I9{ARDD2tz zzR4bl-&ap&3gIO@|3Jx8<&TR9mUi|aXSxNGQ*P!Z*6MelFnkH1t>AU@!4mQP0U81k zc81yV!ecKhH}^^|$UtQDf-Pj#vkJ2E+H0y07mLRP-%d$aS2_{8#6gLK-ti&;BF(>gahiJ+?nBn}XujQy%z?RorQZ0m8*F^G>2?#+NZ^t*nJ zv!1BA*4j3m@i5MaribQ8{ZQ)KzSUGB`EtEs?VUbd`Iy_0p+ZCUiO1?)oYWJf<9j+l z=pL0t^KxLn#T(Rl9)3;LTzK$57N=>QyX2KGRP%#M;vx%N9B(V!lo)k=!!}BxZoC>H z`f)=zyO!6%xnP6q4?FW>PN_b*c81WiAU^T?wa^~n5e=FdGR{VHhMA+x63x}erY@jn z`xXatp<1KYlFUW(O-hqT3Ezx}MmVcOJ@ea) z67qgIgrOJRIeCXoewL{ZC22zneR4#~k&XDJK{y)F}7HY`u+G8giO-}@Nxso(>sBJbz+_BxA2aIz%=60-F zsA+EV!2-xciNMy5l;ynt*rD^*R%FC+P}GzwE7(t692jDLDT#IPd@Q+tiFfsV&gc|7lA1zc#B|MfrRS2Hg z<2k(x>|+@ICum%xln$(Dpc3LMr}v5^0yQWd#~IWm8C{xXO$@@cj&Di6zQ$YM_i+8^ zDL+_IQ<@cP{}^6@N5{rM(%SHQy3zGpT3T1Nv_4;|!o*sivgu-(UU0q0a3+b*NDw^> zXh!ym6^Og^&eFLB1}oi}Z`a{$Rlj`04+qk1gx zK-W=NwG1sbktCkj((>d9ot3zs)3Z3P+#JHHT4*h}si6EabKW6K4o5TZR)Un3ciUQ- zjOT_Myu|Ur25)|u^FLov9#gBu$#4A|>TCozy_Jr+(Ja4Xs)#Th9zfT2vVxatTr}wV z)oVx&rlcjf=XQ-M`oaKBfEq;lyST5c=JKlj#Bi$=fiGcHqqZb5ooRJ&#zf zsJf;)B1DfpCMr&4_X6@B3-L^e+us{#{+9qlq#-A6DCF zda1$G+Fm>Vam!k|p*&EzfEyms4t1s-a$=B1=1X z7$P)SoX!=XwYbB*ZmIT~D5-o!31&Is>C^U3rie*lfmkpGQ z?8mN%uj?N;{l^mhO7E0Ulz7K@hXP%C5y-kFdQvIF=vcLOdD~QLYBA~`lxkDmWM>1y zk|Pta(GL%a8j?4Kr#?0dXyKGV-P(TR4W&fU!%>+yK(mNZCx|90?pj-i@dclEi! zBBOJ17p+QIFC1$%L}#Rz{hhUgt-rv&;444zV%G{Qc=B?vz;b?fyj%mos62MB=(ftY zNeIC0oBv70fS0i7CXJNN=i)4kbHH*We=I6tNUNprf#R65^mOF;Ka0Gz4kJeNuyT5I zx5FbOR~sO*;DDRi$Jur?OwPfy`75bnp(W9cZ;Dk&g6wF^%IR^o>DS{sF4-JnW-)7iE2A9yIrfnuIWBsQeoTQx;O&{DoDFV9>!@3sqe(qbQE^^@r(9>kw z$>7Ob8%SVaE*aFt(u=`?rnK@Kc12n~Z)7JjW%z7;qQ>@S zO`WjI79odH7Ip!BH*0MKw6?S1H+E%&C$3kTMr}G@yk!HJk;oL-V2)n0iFj3->o4zI zmm(7Qvd_aRb*f%v%|^~^+lDbpkv4`KFWk1v3jT8xnVhfUx~>5d&C0?yW$3fJ1IcFd z$^Xf%;%Bo?3i_J$vXoMRR;sAQ;Lh>ah4WYX0|MQ2t8w#Vy`;`7>)DO7n3NjI@UPgF zaZ@T_jauFRp8B;fb$s zDjp={!T{3?1E6GGap!S0XB9k3X8a$T#;ZMZSL3Ep9AW;}qCGUwvSnQ78Za|j76*oV zbR~c?E=9xiBOAb*WRK!M;@k}LBId-AZFI5E0)HDlf`k;H?=GD%-!2G^8zuU+aV=5I zjLm8}yrbl%839%F)$XI(Xm?x(we6;_ux^`{ZL8D-@s^YMgAVwYiu8|vvt*A227xig zqoj&K-}H3Iu1W8L>G18=-XU&rn4n<^$d^sdrpRi?qF~=&+0@iriWh6kQL*HkR~`(0w??U}(v_!Z(-<)uJ+&ANv#jE7F@Cfs>DQbKogOto3AQQ8LzNo%wI zuZYzyggbzH#(!r$O1`tL5f|5m5=_}47*61hovrsjjw|Zit#Fyg6FXUw@4=x;Z3f{m z)WTLje)?c|VJ(oZ(G8S?OPXSEwQRm(-1duI9YRw&GNgI=J{KXalvK}BSB?T-yg+VE zhFgt2p9yprI(*?a)q{&XW&&G+WE|D27>kq3cmuPOFf!TCnG*MyJ`*`RwvM zvzfktHzgOQGfY+U#|x@*eU$A?j~s^ojNF;TdA_?)iom` zV&;z2<(qe;kPBPCN(5QcetoucF1`URq9y`ov&RvD-k$4Ugw>L{b`Ql3t_pYv-t--H zZ{2SnQ|*8JO0__1Wzafp!$lHBQdERGKl>67I?K%?=6n34*2OAQ%KUMqOBLCO!!&DI zZqk!{!RF0%w1#$8iHC^y_M(q+JGq!wLaw1)y6EDI*ErL3m~DE?)Zl^DRR3xmgWr*P zG14uv&;_ANjj9%gYgn{Tkj8$_n}tGY@-DA6p|IeMJZ--+>gt=_7adp4FzKSt4-BVB z8Q=1ZcRKR{0}#3oinOF3lJi85v6gR-c*i#$sw%&YSxJjZhlIMAqUGlB(DL=qAOHPO z(Z#FJ3h=`&=CQO|6%_wd{X=Z8;(j00VP2XCA-H*?WG9|`<8)1LlqS8DOkm?nxVJHI>8<0nC;m!l7m-TdL7 zne`t_r25AK$RL6$kqqZ8V+mp}lwmC6waRzg&1=5 zl23X`Eq>v4(M(nEMIOND7y{;S^w#4aRb7nFmFd;yP%%dxb{~EJiPSJPRB@!+A(-NeeMa|)tEZn>l&+4vaZijjfyMrMk$SfRwsistDw&`a(v#6 zl>4+qe^ml`@w_ie;KMaUPmy)v*ps?eo*IhGsv+d(j zMO%LvlWcAV%7X}1|BmTOpX(wM8Kx1<&vK6+kJWw;O#?1SCy6I`j=olngZqIF>naN3 z?(J>qzm6s;eK`@n9~bD)cQ{-Yj?QDL3^R;kOiYF|+ecgnw%xJv+rrVDB`i?t=Qu@Y zKmDs(_dq*q!N!zBa&eqxW7FqO*M@n*5N1R*-04AeF`SI|8cHaQhSA0H`w31I2xKJWrTGc+| zB6iTReG5?o=7}hN=H#@I9quF>;ej!4+H7?2Z}yVpSDt-OL9P3K!%j3pluFG+DxvcD z9|yC1-yv$7YZVJ~_zorC2b};DdgOBHyFOo!`nozKTNmuWGrFh$0c!P_AENMVYR^$~ zb1RqN(9t}ZQdDMA`A(|Y*YjaJ-^x4HW{)=AF671M25g} z3G!ubXUsF&R8|?>hY0MAgdjPjjr$W=$4(A!;5Wqt|4|#FEA5$ydUY`sKTjjrf7q^+gu5c@AWbs@r0#pH*w|rh0Er|?;Xqh=S zstUG2i|Fao_CNP4W4?^llG~{x3D|)kdFVZ}h)Vf#>xFg8KYCYbp*OmgZ(rhs>T_SR z<`z zue_M$L6Ngbz?c?$a6x}d4r2bpvVHQE^BXhaX7 zIri&a9({0V7WqOID$t{G5PolNq3T8T{NUOsL2Wk1mIBjEP=mwYSVN!_OUqu6=Y|A8Nakj7(Mm9HoDxo1CB=-^{|7CDM zyIj49Rn~Ac6jD-sh+MQ!TDD^sD$}+=>o`efdJGE=Nbf-s_4YFg0a7xkWZEZE1Y}7jk96MQdpJfhTv**VOsfx|U0;u{piS%c>iYpo#i1tgey4 zbTFG@O!e@a+3JOIm={srj3E625TFZ@CZi{=z7T4bD zI`BeMH0l-JRbD43!2WsVaJ2cOPW7kh=r^Y!wuSU4`YpS;&d<}`ugE}f==>kC;GP38 zKf{gNT=S?YH1>Squ`wfnX4hl*rCE== z9u;|pxL+{wqZD)zGF_i&*8J?*ab@S_@9tCkJoxW!0njsb{FUhSMJA`%2?pABh1z6F z7hU>0{h*n4kW-A%{oK%y<(Bb)9`?!m$iI**|29EcPEAx59@^FM@}~5V^Tc(-N6OI* z`)>}O*(|4vU+N^C=Qb9a6Yv%>lHw)55xS?TM)t6%@y+$RYL?VmncO>xUn-K_y%)=$ zIhIqOh_%jahDc^7IL4bMVIf+ zK2jR}HgdDl|GM2NtA`58r_BU2{CpBFE;Ve;Io)JETX*qRM-COe1T=tCU340#8u($} z4dLIk_!_BfqiB8V!n@R~D!whuvbvU;wRf!l81tJA&AbV5@W7qy_MSRe2e}tGWF%|7 zh{NWWC`t&(#tC6Z_EJf-Co@b!@62;R12k zNF!$&KQ5FbHvZF^EvU>Vr>P!ro7^9-BJ!9LxSKTPh4p!`O+5HZh6X3E=y#7f09hp( zAr^I;IjblC^B>$O8Nk0WFE`hmn~uTeO>yYfnu_2V-eGJ!M8R`G=!cni#fTd%h_hW zsLMSW7LsTF?c1@SA$hsdhj-`1Y~(U0uEqB|nDRc#z!*A6>DVMEuGEyz*y* zuIsxFKaSkNX;t5Q8hE~2*vAh@?n|Ofia&Mif`(q$dt4w=A6+wKQ-Vl^XGu*3OP{O_ zY=>+%nkaG&2h7BRl&j_F74_xPC%+aZ)+!~7EJO_K6>$-b3x!PN2#|9My?WQ|b@&;8 zd^aLNNd1u^w8!vy{OvZ_V$KbN5!_zq5>h=SrrBSkdmItM%qJDge?1U)f$M$fca4g? zjbYJ3wM7YT>azY-6^mQjKhf1izW>Pb0_>voG9q9cjn{>62KHY?k59kaIYNa=h{_7E zQb%f|;9IP$sXy}J`y2axmOD&z0n0t)$lkvA17wU0kkisR0X)S@E?=Lb7>DGVo2(xh zTFg@b#qaf9GJ!B2P3hB0T>+4JY$n}FsLonqKPzUu(ejd0x~5J9>b>qU=VB`F2l7=W z(n2pEso<8M@WSZtrcoI$%Yn|NfOS@j=)KiHkvD7wSI^X90*`|C`oEMsduI_5840!k ze<&+EZQg^@M(T*2DCefX|95{i-)(<`G9q}OTHOyGS?|Q~o)Qs5UP&#KWEw5%6-Aqu zfL;G%u@dTcVbO78y!ps_Dr=-P@Cb0aFis$VL-~L7xbyJ-W-toeogi!UWdt+b7}<_I znqXNT*?9GHe}tTL$U1!$b@?~*_Wlu9ZE4tQr%p{o5Lxp#cV9%1(8fgYKb*40-^lr^ zVqeZaJ@u;pDy{24^_1xUqtfxnSl%7M9D^~yY%y7f%C?>GTuk}I2uQx87~x-bE^G#7 ztO3c#gM;5J`T#^OJb29j;QHlJ&+CFe0abXzy>{5k!vsFD+;T{G(2po|0r?lUxEG|I6B0gmbQ>cNU7%rDZmSsK>zc7JmV` zRD^B>+Rp%IYb8glwwyVHWMSCz6?p@jRh_%U4=}}A=52=KSZ#?x#|cVL$T#~+m)lb1 z`y$Jf1Lvic5>X4vC9zkp8s<4bz{S9oK!2EYfIa4!r1h$<;FEQ$X7E z99@aIXgR^qJT?Q+4ZUmX~LT+#(_aO94!Te`@87Gn@+#jLE^k z_yNnB(g^{JEz-yP1jPQyGf8|jQLCyb-=j4@{Z>tW00i=w@NY9CQQYjBJ32aOwspFj zN2uyX2z1&e*DOne=T)StIN)2qMqZpvCFv}v(NY?!HV$l$_7_^}T}Og%(>NQ-zPV56 z*q0lXiS`+WM4&H0UjBlN5TQz2>)<;3^`q<>f$yr5sNZG*{sWQ~m){o%b3Cq|z458} z%Z~r*&X)6oy0GC(O(4PZhOe#zxXhGmKYRio6|!l_&e-NcDx3f<8T&M-j-Bc zuJp@#&|$dBJQS8s3)tJvJIB*>R(+Qr6SvVt7m+ak8X}4x zZr){VJw{sci*mRz%dS%G!{1nBc^^M-kDJbsnoDyvhh7a;FB@N@@J$#{+>d!*exAv4 zu3GgUvL35-f9-27cl$96x;&w_+jUI26)zS8OIhVZM^HCQchRzcZD{l|aSU+GGY7;i6#y909fJu9{=x z9yWfCUH|Sw?GMkMMa5P3UOoD^F;?-`ikTyD=o(|(_{70Jh(2xV8;4qurKG0sa)ncC zif7&8Rn0yGbLiGSO?^m3Cj|31OzvqXu7R=k*u-`RcC<7co7XO3+%zu6UEEbtF;B4c zt21r*D;86%FML<(`yy;oOdF0pY;9|dzvc#2+-GEqNsLYj`U9YulKATV^X7(Tj<9-e z9iK->1vPnPcMjB*T0C2CS-{A^2o`mJ6sM>zLeQQv+i->%HfWje%s5)q5uVIC%ns;W zgVtSoo%};B_Ajb`edYF+wNb23kiOJhrJA;m8HST#n zbF+pAQ`0%lBX?V;R2^FfJX(N&FkU!b-3HAy=P-m>pT6Y{2?_T0mw1KZx-3GdzQ+{V zFf+3iFtTX;VkUKYL=i4P5uzOuM>e~N+jKL;vuYK1lU3p{wKGNsbc--g&qdZNSSsO& zgweoa{B!r*&AE-WD+cZj*Y6zK4WCB`(9jfZ;C=HvHLhFn7BUXarsn7>O5f>ocT6?~ z0w`Sn>PR78uhn$cFT-bL95VGg(7LK^MxeFI-bLVTM`=#j+K zdb++vOA4U}IIgjj|ARXFQ>am;H=t_ZQoT=0u94(RP+XfPq#B-1l!~Wd(-avyxE`s$OX>)vHx) zcGKEl{{eu*GM3*2naJPcHi7UWx=+cl@L1l_l%dxC6rYJ^vJKN#50V{0yg(@wd?|{j zEqiPMutn;nmOIb8KpF-viY%U|%k|pzbSNkK&7?lUz3%U}GEL^hkP4K6y~Sb!jB$l< zfH*<9xnA)NZA9}&U3=0u`v#>!i+WX(e5QM`|5m?+NT+oX|uU&Wx=Gqp!gx_Pqg zeullibbKk?b}KB~vg5K7{LowjC5pD2tl7h~Hqx@2%Q~8tjuZQF$CARaX+%Pz2TgAM zL9D3m=10`RVE2j$Aq&@PqU0Wd#DA&no8_JN6Tdi`4C$k0LzCWQ32x?p{^gm8X)m<7 zOcsMW3mMrQy6{l7u=7_#`6mkmAy)3c)KPLKYNgUGZL+1c!xx>#*M8I>HjcHT2E|Vy zJ>I(I5o=#n>jctR@8=rhKndZrQ8l#K$cjU+?uPe>%A)ro*V*vLzYnKuT`s@UaXxEX zzcw59RxRdxY zIClv2w`=Pye#&eqUu`Sr>2}tgxj*JNOK9h+J8~jYH1!CRew^`?7(H0OsqPw=^fdnkHCc1;r)glh^;o%8x#YT5inIUN1SYfyl9Lk5 zJ}*Sszwi;YzaObI{XI#lD|_(#=>GXHA4DAn{DCO!ibRWpqs};bfq>o7Yc2((&KR@ZJh}b+HlamplY>2=jZ30EoOP%TMOSD9cBpk*VKCV8Mo@~v3#YILCKyA zG~8S0S*X`jajW+98J*jdGT$qIW+!86KD)hMpW0$?lz%>3tZc9L=H{UP>3EOS_#ZY_ z880h&Hz(4qp*y9SVa@s1B6eN9Dl{On;8gcdr2MM@gH;v+FPmvD-Sg~7D<5|A@WS}G z@HN#pwl^jj`C?3b%Lt1nDL;(wWZZ8>Y4=`kEQ*Y9Z!&KDiNpQoSs2he4gic3muDOc z+#a;YZdFGOqWNLuh*NYwUb_*oz46?>r)%3AaKXb(|=3y38L%t`_DDFC#o}k zXZfdv`M!@i&aV#xV60g{&6m|z$eIcAqfAPhg>98a6uk5`$i10T_23}>*>!^;-Hi&^ zhe1mes$7G=n$z~A_>oPbzmoZk2GlHbIat=fT-IJK(k0m*gY|1BSULvR9T9=H_i!g} zH4gkdRhSWQlBCCvP@%<9vS?>W(CL^qc5-K8=+RX%QMwm(1b@X5vT&1@6N@#EB4S06 z{lZOeRk!*7EC{D)Q&jHdjvd~aP=nr66vx}p9bFi|Y2aQYT|pX60@nS-Go9YzZ*yGE zoqQ^xgNU`MV4#zSN4^#p+|;|a2zNb@23UBoOWsHxy&DV>sz+fvJ(wzS@E&@RDXQJY zV~_%brEc(ttM3?&Mbj0J0fmR=s@>7H$#CX>;<)H6G`pwMK;7yxN7Ke#?*q6 zgYrl!f#hHJiE$?pUrjyi7l75mqaRKHw9U>gS004P5=@wGyJ0sy_Jadx5|kEH%!zaI z)9hkEl;Ff+eUj@1dJ~ha6N4~3sR2X4v+~S~$<*k+4nF!e&2yvokjYMm&_u|Qz|%tn zQ%SpcS)%S4;&#vc`LTt=gAerDas=onX;hkSUpT+vOYQH{lln4Qi*@Dv(<0i|aW&@% z7U%O+_QjN)nPS&e|MPNU;fQHop&?ISMctEx8kYf!hm}GOD&a#rfK++R=+ZsGaEqQWzK1 zT;oDqZc*(hibSqtCfj)1V{lTGFeDsk8;AmpEDm&n9zWnqw#M|fLse&@_~9`7pL?*k zx&KlzZxn-p@J)*zx{9F}*DWj%t-EQ&H9EX(#+p#1MMrS(y^YZ{9}%#w_Mu@ERB}U} zcz3Jh&&#DlZWw(qFZwp1l0=Am?9|U{Eok~{#s)u;=_dRnoELJhnCzfrmG2_=SX9k& z_HLh9f$7HMBP-f_gvd`trl>v@Lt5=d&We!HZ-YmdI%7isz+aob8*QkIDN0+3DYd6J zInl%lk%fO=(B15&^w?%yy_ukKgt$ipNe~f0uJ-zB2=ym)b%;*~4gJURqxLPb0U(&i zVULG}#W^>4d>-aC;|j#>#`Z-3p>i|Iu{GJzmi9QN_f2?dQN>2+_`DD5#uU!i%(uYz zQTE}J^hf4*)nDk;L%s2MCa(?mRxX=d(%3O z5y!*Fz@61)wC@P|rLp9d+@XNb9M!wT{ONKNVCGw%XK2$FW0+bpeVT1BYCkcbwkC|} zMFQ86AVRTPsj%EzoTtrzBu^1pT71h?;u4434p~rNGAt$mm1;Xsr~Xk+vec_FyQ=CD zJLGf|F3gvIjAONJ^6zYX>cBpxMzguE^|WMTN<=%@0ynN2DK}zL*EkxK%JHW~I`3+@R~$oySa8K+ z9HC2uajjh@c%#IqTRA0vT2yaB8u{O04mzpG1NW0yu-`U2{Xdp_t@N}~#?6yYd#Q=Z zpMVdNaro9J41J(9`E)wOmaM@GS6mQjM z9r&>v=qzU0Jua;UK_dERCViBnlS$Yt0v3VrG)bqOrK!CLCdc-hLT;PB#>-i#PAtv7 z&X=;NzCCDBJm>VAQe+E$zX)ux*p!$cc%!ot)Th5|;S#_-2qlXH5m7Zq$krY>4$P(M zn0P}CxEFjvY*R%SN>oFIQ$Box`{F|`<@P5rd~4x$UpvI@fr~5h`mFynS)9UA32*I1 zaU>EmTMqx#<7e=Xb`m)NpzpKDvkrhCTotfUwP50POw=TQf%`oo~L-98#rR(m2b;21?b8VGi6K6G$0(?!HWs1DaZ(bKk`qDQu*S8U)r!+MoF-I9&LcFa z!?>SH3w`cJ0Rv@6YJ492QqYR7aJ z+O_B-i<9@AOO43$9f~GI@P(*J;f|6e@TGN)D9dCr9f-3R@nwjF(X#9ht zMSSPQ@15Ra8tKkruH4Rl2E^iF(jQJu1Z!`TPlJ+OIhogHOLF=_aee0Sdy4(Nuvl|1 zVyB?_xPX`pmC)D0OM~{2Kh!>OP%5UD#n(uu<=*S1d)2J@F;(eY&r5(WfnGPD zwX7capET<6Il>(lnU}dzJ5M1TF%F3vj@p%AAPKSw8HRCUG+Dv*$k#miBmMnxtSHI<<} zj*XQhuCv20bE$A>kwJ6Im>Nb|k{j*=Nx<+4?-P6-+pq| zI}n%K1u_V+Y9bJ&>#^`$GxK}+9$~AdR(p?FZ<)lQ#ovp9QA!B)lgy4Q8z`0BA$$iX zm6^ug_<=aW2FTW_!;P5g2WYR)<5(C6-M`;>yhcraBUNeIoqs@Knn$JKhUfg(1_Yl% zW2yZ<+aS&e6ge4GW?_E2>qlI}L3+7>c3)7Xb!&{C_u!Z{A%~};KmE~kt4+3bX-9)) z0Y=WMEIqwMYM3@(I+mPfbTEHX5d@prHBbDyAkbFVN=K8;eB;JHwtY#E=i>MiuMpBe zFS5U8&(qBwZ#yW60XW#elzOK4wsrWj`jU$h zp6eL?6vvh#mFT}uGwI;18Y`6!=!tkLs6HsI&*Cg)J-2^?1LWmP3fPi^_=k4i(IPj~ zOW{*uOS8}@d%?j&|LITI&y2s8KkngzB?a?GsR0yi;;03slJEh>XfFQHZD|A2F%bD8 z$#c~3=>smPRohyxZ1YoPjQVd@${CBjK2aLRZ(wawpn{}%?PS+5ee`L2J-1S>Z z`~$NL^9kY`iXN(m+bkvpYvsv^TW-}=k~Z9vnVtEb7Ta~x`w?Bh$`$Kg$yUF0(V)&3 zG(^s!kj@>bj2D?5m+{^45zG{0;`TBDQMl272-Bfdu72cYxHI7VX`nX9`!%r?Y`gtr zAt-hnAoYAj!|zi1%sM7_J2db-P&?FlAGz)#QvGp6e>bBCjhC`Kq;W^p-_;wyQfu`M z@Lrkrr}KK$*SjQ0;){~|NHxYwF+$E<<5jsIlNcg9ps!v1s|3h#b!oRL8Jm4)AYtE}Nu`tlyCv<}JvlLYQAQ`iGAeEld;Xk;0X7#=s|QJ7 zjhV1#r27PPI&j;$L&+fPi}iuofLQ{|n3Arzp5?p9?zsKW*v{s@5Fn3h|?wuy~7CRI*<+ zL0HeYRw2GRLbsCTHcW3{QWTTR@8FQ8@8s_#aZyE6(j{ARFk@y9iH{bI9!w7@_yBRyeH%|9gic-Jh~#&^_4d`G<_cV`9`r5jV&Tw)EaFrTq2}-yWOjqs!a?-e1uy`|Rf+?7-Jv~fob(I7eK=wG z)&837`Bx__BIE2#@rR}9yjzGs+w*Is&ph**?5sQP+rAQlv~1>`KXaZsUX-z$@$1d$ zo@?`L4u0+5_Df*tW7W38ED1N@d#74#Kip;ez@{roAG0Uv6f1U4*+&8>o&?$OD?Ojv zjyi;@tgM#6wv?!6((|Bl?b2r3xiMei*qbgNJsy4O>_T?ijy*as&)32@>3Y;71i?qT zQ|hBU9kaODQUvbVrA~VAVW00*UkcShkWKgbVDk`~Zx}d?`C#lwzLs!e&$2d))ow=c1qxs7djP%>L0ZBRIQudCya;q$F z_A^rte6?_^eKbLITVrdC2a2O%b1FyT*@F)Bkt|bApsy9Z!|wfPP&){kB9GC9IilKi zUY$kfoaTx^qQb9Nvo^SS3AK{0jp)td?tXR-{v`jo7L=$aW1hIg@bugw z(RR_n?EMMdjppXWYY^oz?_(aXS4F*C^nx^7kdBueNG3eE0vf_Hmc<&fb9wfGp^XM@8W96npJ2qEjaZD9wX(yG;3IFJ1FmN5g5=6sw`!f zaNeDVyewOOYGI>2X|reVumRnsNjLwLh0>{8A*@%!2dlm5+d-_2nf!V>TN55=4 z*DK0v`oeFf8DVCW_N5+m7HdvP3Qp~fWs%#WGwmQP;^n6vcRFng3t6Bc%_sSDLmm=yE@fa_*Y`Y|Rs{IF_Z;|>~@kb-`NsPxRn+30T zbwah`-lAONMHGcs1!jmJ>f3wff!ctX;v4#c*WnLWZQDO~@ZsA7g>CT3K6LGK^;7fD z_&zd2WadAQaOR$wk>7T-!48MsCOi=Fht~F8`B2%(_}rEI^5fu*AEtw+dQ8_KF<(Hz zPsAuP`Z-vxC-=hkwAWUs^>dF~=syM>b&R+#xY_ugjz6)>m=g~H3HDww4H*?hS zO-kQqjpVk}6rVP~_UMO?+pQlvqf=+ro!e|x`h8z>jTiquy^p-S0Sz)=%oB5p+AILsvufkQVSu<;y-m9svhxVCtA)3q9s!YhLF-4@CR4a}6{t(k+s%nt(*7Vk2JS@v< z&Fo4uOIx3%(S0Ow9tmLS62Tjj;gP}hG;JwaD0C!t>|raY++*c zowch=^2wWu!w;dE;-#Y2E)IGM?R}F4MYIc$x#!-}p-;Qvbb;UI4bwc`szIijdDxPv zvF_sUlGc0(c*bJkpo=L?jFdaL91o1hy8=yIL%>5c02Z6ZjC@~cAE?;kgq6X9YlG5k z+Wy{yd=85EHdgI!D$2pj53+receX!r3vSTuHi5f=2il*d`2Ox@uiZ_cE#Z)QhDyE< zY+){@5#|(e@rXSSx-`JI4LmcGL5Mfo-A#UbV{sPaG$BI@#&q+SSzP@vM6(v zUvMm;*~TlTR@_qMy{)JCvB!5RwW)7lz+S?0oCA6f8XBuW^r(Wg|TT1A~M8`CHf&?(2Yt#WAX>L*o52`plNgTB6d%iN?t$ z$&T3>y4L(T2?8acHxYoa-Y08QNJO_)&jdDN;<<-Dfpyx3pn>q^Q_aM;H#iiBR^S?c zs~jI!T)-#FFDZE!!HpOU?Z{`2WkQ}Byc*&We^pYjY&W=hJC1hdx02WVsh4G+3~{fD zYp*e^(?Wh;?bdU0E$WC$`xyc5wp&fcywf%`o!u$w4B>k|9=xX~vrN5E>z0{t6u$DL z?xu$E@u~U}tvE)0{q5lS}f7;~fo&X~+rBIFzc81ya zCbk)bnt@Cl)tB1N38;z_|M$4zxypS3|GZiG-zD2L3v6WO@m{e5agXM$)5k{xWWx+L zmqK`#b5+R~N)s(=5UXT9_)#(N;+oPMe3eHxibpY7>F?A#Wp>i1TwD37_x`3I`a|s= z+F8DmX!^&s#XzGs7D{;(8E#^|943mwzi$0aUlIiX7pdo=Ktxi~ zK)Ogx#RT~5uRM`wJvXR;O1jhS@^+aI{K776liGzOd?I1h!o!28p%EIEcmFOEzaHLw zwoDMd!t@o06dFW)RGdJFt`I}Wr>dd6*BKnZS+3sdYXRdo3<3Ld^`Ke|cPjku1;Z9C zoc@yj{{#??zaCKF8UV?0r&?4&?Zzq%ZgVO1|D1vU=S=*6ek|%_2NcAc9OQA4>_>My zLg2*}+J6QvJs9PFb2_{iHIJ4_bExcydY@)^1QflCjEJR` z2dwJBU?JY?#_zWa?h4~{V0TN+(Z44pP8jaFpBdzb&)V8b&$iAt#)3g#`Xzy4OI%x^6dUK!`&tqOvk8XCZkQJi-d~Jz=-=to(2oKUhx(+hjh0a? z`?~0UGSM^OcY>bx%G;==MTUt10{LG_LA$D#i374$o~jQk<)iR{kA74vv zXnx8!UkYT^eTfeE*}jHfu4JRkU5CHA?ow0hk8nt+6JFky7<_aY*K_0n1UyMEf z8>!3wtX-&(WSJNywUQ(P^o?uxWDKIabGZ+kWZR-EoC|?lD+rQ@JG=O(!}#O8;BV)) zyeApi&1E)A%L^%reF-nnsp;Qa*r4QEzrz;+M}4;km<Vb z5hfBiH!@xQ-VjftPq_9NK&e94XF`(z$4YH=Z{yy(`top(!#;6u%{Psy!*8DRdyF;Q zeM@boj#~wr7m7=8x_60|v8)dZeXr_i@5`&8j_KM+;I@|gSL@{~d;Ty>n{Aoaru0wy zJ*BF>6dOT$Y|qr}7dMw)3l>JMD=_D^9xKGdJ#TV40c^Kt{6<&)UEI$5k-w>KXAJTe zC`9DF^gM;#@dbIo-ad@pPZWfWiCtKqKMDJX=rz`F_ zg0Cx%_5RwSb|ZSw*er($DK_ozKI{LQMHicGp!aV#a!$ar3eh9HbBb2 z`W29$wvX+rjy(3I$|Esmu@KC2?p!8Z59ICoUOnN8iqeN8nmnbIIRB0FPDolBDx9wG zaIWt$gpF+$B+pXFA{F(d-5;OTF1DBDp>(t)b;40mKi7PLfth7aQH4@)+ zNcR_LTf<#fYL#JMCwOdeuZih;wj*_fRRs41v5W3n88?EQtWCK}?!pAj4BQzow`0htY*enJ;2XZ|J(KOy{ zc|^tB_XpE*?K*2&z5e-0j$h{cN#9NErF1}Q$}b#S65tPHTE2q?Ne&4e&^r5_CDB>sM7#ZAw zav##ikt5i z9dy~|8srKCpGO%XL$jt-nGjdg8@3u^kst|P0CH2WDvfVopxE~Hiap1V-GA{jEq2#a zQrvkeHn$=uP#>MtmnRUPsGS&y-4!1!_w^%fD=@jkA^yam{J|fklBS>keO;bsX_)R< z3y!_ZfH#Rz@*#-Lp(-WVJOAXhgL7|FIPy0P*oz+b14baD40G1oaS~y@HSnWD&*QhJ zZQZgp`b!IqAq`{jxgpxEG=RaLJHwef05gwJru1UJE9b<0PAZhbTgIV8T+CC)=R9rt z1{|37cbl*EpR!pjF%w5rn{W%iyM(a!!1fUp+V~5uS536x$%pAwwby0CuUXSz&Sh>m zi@1_ej;XcAFT{cDWQ(?lGzk0+`HMsxSw4vjMsZ8-TI`g^QjB9G|sW@Cp{%Hn>7R1xXKP>{xQ=;W|j|A5eOlqju-hJG|h zaE+LKNzZNm95)9p;uSH8^du!gMr_ADwU1pH-lj1SQ8)32$xW%eO^K!hX36fWV)kL? z-Wf@!`JSZ8QTAF%`@}ZCvx;JX`qbw}lTV$Y0}Zw}Q}KRTsxm|s^kpAeCQkk zjPtJA&NClaDqdgwez=9noCMMgZfv;$kIjfQ#0vc0;=-8P;AiJ>XZ-N1StHy6Zo)U9 z<-jSJ=Ws#bXPQM*?5#Diw@y(0g&?|v-B5%vg16VSVkj){YkP6OWwT&)DEC=G3>~B) z-?{Y&OxRaC39^v!znAw5EWUPP$UlDK?H!Q#HKH>>6Mk7PTrPa1$64dOB=L24dDmX+Vjpp=&{^s_ zS^^s$F*$YO&rCEBRc*2_+&^~x0x^ZA!LAK+YA4Hyh3<)2W7nYP_7cc3L5QTPoa)y-Xil>;%3sx9@8x^L~H~8B1Fqx9kd7D zG|2-J_*`XeGakGkr8gK4F74P;kWPdvwrfIk)NV1WO|GIAT4Qg$Wz*4C_T`gu3prW= z0(o7x{qsYIqIkJ&u=stWM3Ge;o7tC7^_&jZ(XEb)aS13sx<#9p{v{ogD5Sji@|N-s zAL(;5vMCA~@WgHrom8>(q!oqP^NPSiyu5wiSd1^tDD}7S2Fe)D)%(>v(|StwM&>FT z6f}(9JS_K@E!nHluNY&_gA&?9tA3XUQo`Edxu#Tu^Y6FOitSR%PeHdE^n3iqzvn8<>{x3qD>en`K_G1$9? zsM~IfnaTGNj6Iwg57*qV_M88(ZkdNuoLaE`KrRJ6MS~0RV}j#!?PIL70RD6})qE#Dl649N`gkItOShfz%fUwM@wf|{p6O>1@KaBS;-GO; zlYWcW8(foj0POgyURjrLz01K!CbVc@1Q-$@y}93NF*{vZFVP*>VTo^V-2gl?FqhVr z<_r#3t(K`$C&s4}mB@eTZws#=yE;=>U!@}$Q8z+A;H(AEX*P5Rw<*Qi%HZmXxh=B% z>}(F_@egsyI_GvGRYG7fCA+@X6(C~73@4I~lcutdca9mqMJ|sPNYy~k>I>D%7qITP z{W_Hhxn_p<=3dIDE4DW3%jl!9oNPyreV^FI!IW)>8*m%O-nZ*8y5ct7aT)v2s@K_T z-BCJUx^oShf=~2s7`Mj;)#1CRtetds#r@9n@o!u*jo;T78|BR?x`;D@6a5#;Im{|Y z%|}EFt@Mo7a#BI|P~Y9FswJu86vI48OdcRBpSClNnE8=5uOmMz`o%5C}{BM=n!-M*&yB#cO;(ZxAlk z%a`nMU!BKJ_7^cO2?Y%L>VjT0TiGs+oS9<|67T(7g!ou526tI8iI2+DoE9$v=eBcj z>ctUllRw#BcI9mMN@!utP_dhR0h~Ua<(<)O3~`k?IF-%TTvJR5_D4>xg%JcCHgj)G zpk|l~IFp}sD6Kdo!BPEf9qRm0zMI1+AKo1JL(lOHfncEN`qyy>a*w7 zg(gwqrerAPHL-owATyL;crz>zh~_}MIjEc@zPOH;-uMQlAO<|&dx;Y-I)&7_Wy7zL zG&hj1w+L>kQ~M9`AK)3-T#QriYhB+Ik+q z>J{G%a^aG?yM-px>~Psd#n(&gN2}Zqb$#SDTzRhd_47(kpTL=|=C(EN(l{s}GfF;5 za)!LQ>wxQGA$F1rz64p|_FNLJ{H5Z-VpAP*#8tzu=>IP1q#g~B_je^Q1an$uLxwQE z5Do!n2Z7(#0{ljE6Ns>Bx!9rB_D|z1JNKywjD;@*E@?de*@3lcwj9U}@|WLE_e~M$ zm5VWIBApPUO>TVO*?{F{dGUbAhWXMUG1yi7P3ltT-$qtc9=#msMWg+0K04JI28eI3^ zCHF19_sg6TUFs2Y#i)b6;yKM#0^7itLyrSP2NbUn)qVGXrXD7T?Ye4Bn^?LFgf_h{ z2WeOW0go;YH?~FtW{_ysv+$M}zaui}k6+>4(W9`i=hMagDTI&v zt}P^qi3B+Y7CY#f+JX(sg3VyHzr@C8fdceBc0Y_%d1(GE@tLV#_1|HbMRpwx(+ED` z`M?wojUjfu$HSQ@*l*p)8__hjUtr2;->d_ls!(Onsu^*wIK~h93lGq#ZEHM9y9zeL z)0ISYdO4*MObU!?kb?ypPIhSUTgU*-mp_J5KMrd!13y1Mm+se#t}-bStnD+9$;wsT zc68FK6CDpo%qr)+U$u}crniH(s$+HKb6FJUE*JHe*0Aiwn!78T{dXzgfLD8WYf!mI zYpZs|64+qa6e9x%7ooJ9L+5NkNj=K@EnX{9fS~0zmDi79t_WlA`;Axp0?3g<+PxT| zXASSzdUJ~ZLXIMY2H0jI7>HW6z5plvv`c{KkA&Y2@R}4*(HeTE$)prmHzTI+B(m{{tPNv>^y#kLx z2ZF^YQGrsu%W)w~pGmp>yfUPN{zA*%Zh9I^knIaJQ6bU4woqLk+8;tL#23m~kv!jT zjCXOShzs7DY{(^SkLe-oFiF+o64o;*A%0Iz{y0Ss7$5@qH}|+Z^RgC&WJ}uJL?;nR zKfGC9gIWG56jg*Mi*a1jH?3A4JF1ftm0n*jTbr+z3e35MI!_^i$UsXe(l}xiP>k3c z_7*(`cn~U78?1Oel?Cq*wcNDShzA{=L){}pr;rt-oN59?axve*hQ57TvZ{GSA7LWi zfh~fL!leydD=T}I^=Eqks%=_7{c{`Q_3|>Bc-S={tmkStkLFPzzXLQUP@t!z@nt`o zWH?YHMRe$8hy!{fhIoc6zm>z|qU*h!+DUY7d5Gm0>J8vuF^{)_oJP0BS%~gLP@?Qf z*U+UEP~2ME`o~!m-%!$WV#wy6>ACF$FtM@3iQVgf6Erw9mzXY!yI6v*&ubE0BW2U* za1PtNY!n!N`Hr2PwGD)qjreO4x%YHa2i-_wZ6Vy;M-|_rG~2Y3ifZej$_@4K9`*k& zp}T~_UbK;`j<_Q|T8ZkB&=_H2Lz@(GTfW^HI1tJ~3K7qi%46KRrpBi|vd{A6p zdYE=+lR761V3+=27OXch@7aZEObQ#zfE|kRs5wi zflMlJH!bCTvpyl*+E!y=F0|h(_VMt~oU?}{Ct4#zDJ#d>kOjnG;ZqLoy36d2t!nKo zvsY3=uZBL)VKVSV8kTgsGyK9Z%%$m&8~|H0cscBC8X@(Issga~C5W3nMKUc!^-`jg z#ZOrWcFN;t7`bX>uMXPFBDfG7|FRrffM{srhuyNlI%tC z3F6BB;dI8qtEsw*&|su~z~GMd)Z?!)fgmV98?i?XHBz`svhR=PzGh~Og!>&uEIM3Q zza25UjATfiC+AW!&t1b_qlp_yt4UHZysA^(u7xt>U}8(s2?Ib{%1!f^N>b>)tjfhlT}s9=D#gHp`?nd-oV>VT&nL}(YUk>_+0{5hk6-+T0cF20sU+PuvKuD zt5S(n9$*+~yp1&h?{(dMnMpi?aXE~SxSZG}utjDZB_yayF}$P7tWLaF=R^@xi~T=K z^&7_XF;N|er{CHJTL}%9tQRTGee|ndd+|lV(EbqDwh6J?m;f_Z6|9 zg{+_XDqE1fBhDjXW!cN&cJg$5svgbU%x{|``<9TLNxo#+hx@O$dQI02^UQ^=Znd`Z zmplEj>BQFi{Q=XBTEo^g&FX4QujyWWL+qF2TGx1@<_pdxX7;2Z+)u&cGpaAEgV=yT z(mULc8L2Yuxa_Gr?&%^|Y3Xm?duX;cUnrcB>L8c0QMi(Jw+HUl!Zhy=ly9zo2EHYZ zcAqqqM3uR?95L-ceBqG9M^9s(r~P!eBgaUxU9sIZ`OOwWYr&`3egkfXv+?+h)d_5v zDRI@xy2HtLV+`^L0)9YoSyCtF#vg09kh-H#_Fg@KZBp@)aCQwhDLT8YoQV6xp-3d( zJqX{;V+nPYgFA)bUZ}n0V8nxIzYAq4<}hQ@rKE8z=4jv)EuF^jn{0Xi8J_PNgvL!Q z%iLD3&qV-PNj~Fu1XW(S!CaNTSs!EXx&rRbC9lPSVe~rlLiirb+KB~R?gMc~h@KA? zn=Kx}QYi(E@pQkvPpp|@iq1sZy~)&bdnL!LB_@12Cv0K`CFAx=S(a2R|VFcPTMKmyt`?oZcp6R6|=VGXS(itFqA08! z#OJvktAnS8&Gy_2H-|>BbNZo|94{AS&<6z-F$_0SYOJd8 z)dp|#vZ?@&M@>^=bhYk$y26iX5o=V9EpNG`z?d+8Q?pYGi*&N@f((vk`%F7@tT(S4 z7g!uj9e%_EjUg|VMSFe!&>DvwPQ-No>8X#}*udDpdQYBhf=fVpS)LEgqkexE(;S>? zcXWn5*9ensCaNbnGuf7cyR&AWvXAO+Ft(CKlw2&X7S`$FpDM66=v+i=tQ6+K`$1`m zypp8N!R{!H=9a#+NE_|<4YUW;*OWgs+ca?zKN+Fc#w3yk?5tJvQ#?3w}QFP1sB zmD%Dw5gvY&hbWA!A^nc>cxhlX64`#HLjFmy1%{Mb2sct`+*Ie;4i*B#{UEky#EE!u zAxe0IK7s-toZ*$n7$8>im+9@7A#Kh()@b&9B<*HyU*3yG5Q%Q!?9I82l{+TgOx1cp zm0PAu{f=(F>bz883=G*%JQjmV9NN$Q`t^Iy%NtU;u(b8l@bmJs*ZezPlC^=?eoO!< z!{bofcBT4~Shi*z$94z9cH6?gK#8-~sjK!F*>+I;zSsPPI!sh+GX3C0V~@l0q;lFd z)e3O^%0d;3tr`5uT6wk~1XH`S6l>$RH-eI1NbTLv$}ATVwkb+bRJYZYbB1w+q9=A! z@8k10v{!Q0!-V=75E7}`>IkPhxicaDN%h%~fEmPQFe$-rSmFQ)P0_Lq9lhF- z4D$8$!C7PRot%=1vgi4_kA6~fintad9CMo7gb%LHYU!)|Xxa$VC0&9X0<|)7pt4_H zN^=Jr&M*B|nZi$0=h;@C^FgLJj5|-!iHvSfvno2W&goqW=gI3c%s;Z$EVrqb72FXl z71Ff(@)ow^*5W!s$Rta&_{~qxAG7ypsg7Eq=Cc(mE4J+Aap?R-s1qvjP-Xrc;xz}` z_edG{5BGvTXGYXoHzH9vxBltwXrE%mY|rj;#*7!`Wz8m^Du*8vpYzmfHP^V4S^3^1 zvdad|*gIz$9wPj20*oI*OXh%Y(0jyQI+En{W;P(FjU^sMVww5yxHI)o$K!Yb6dsu4{q%;ml(be5)kOFwcE2N_nP#_$(~GI-D0? zm)vY?QwYG~exLqj^g+9#r)Cj=PAeA)O_e^ca>qq0kQOf5X1r^*@68QVEnejGD#AXe zyt+A3#FzILrkx{EE1y*=<<=TrkgqpsH(a@|xO8r}IKmVijDh$CcuL59C+wfj=55v5 zenEQ!050c38U5*c55YvN9tz#r0_}lSEo|ACk9A19<>U!;9=+sA>4QUt>)g{FzWb}4 zGL;=!*QW7aR7D7O_h`(u69SqZYsToisPxT?{slap8UhfrGtWL zY0n&An85yi?wYXY{8i_%uk!H8_4E=uffU3^E^dEmJ7^7MTssPL%V~oR^bYwlV;9OJ zA*@e!a&NhlWZ5k44U!wn;{%duBJiGnXit{re}ySf?&0EFXZSUU1(a_CJiAPi*_8sz zaUFD(;8A#Rcoq2jdDzPu139kY(T5l*M7HDCl;u4|F~Q)2`_3Pfo)=|F%QgmOvs6wK zPqQs2%7WFFU8ZbJvj}z5=_IOukt8oZd0E<1eTH4>wOi;gXy?Q48Z#x23{O=|79!Y2 z@|-WaE>PNOD#MWAYY^|EGgSMD`s=o{C&j@)c_<-Ftt>kDZY5&NCMZ=kIMvJR6Z#hK zGoxMS-W+!N^Payq^Xr*%_qTt>ArT(5A*%F>niGw& z`|=jkb^w`kftQJxlO~aXvXZ-L*{9Ay-2W*4w!Et-?8hI3_^jrJl2cbIYvyR4#e3g+ zRTj9b->ibK%@2V*=R{T{(i$&47Q6xSly4tn=|7wse&Y7PO)ym-^O8G~aesJCQhsyr&tQL-_!B==%)aN|HC3?yo!lWXX1 zWmnd?2=0~KlYG>is!+Jz$eBEA1ghcK%cIM-DtV-kvAraCvwMURW^Qe1VlIp`&3v0H z&Wae-T7IgJdUFbDr6u=9zkc6`d0TZ6bK5vE1|aP#Vk6xrVPYQp7~8In<9mw^^jedW z0xhkriHD0YR%xEj&NbpK*h855ubbr=VzqDLMIQ+oxnBPpbx~=izENKz{*R~x7dFS@4?IXbohqvg~>Ha5;)z+GlhF?5{R$4~& z6g|WoOPHEiyPBmVClY6T!E^Imb|Su%jwJ{pz|; z*{b5~h)tw%hDp_qDNMV=Bsss`z9?7ws39q<{?KMjae^*ySRQ3!mFPL#0#$id*^prm z$c`r{B1KUO!2Zswc>XWLJo!X3;Q6-mA|#a1(g`nKcQy3grG+D zi^5)_hdfL=Wx7rb&9ygfXA`X>SlLqSH2YRoFkTrXJ=Dw58b9K3tyxs49;5ya;Ks80 zj{oA{C^?4hovI$0N0t@5HsHc7Vf+Y~kcz!ue?a8Qi_c-U=f=Qf|LmX_8;IXDDA!c_ zHz&u}U<42%qSufwVkdS+Ha`_tHpu$7d}>nM$!OYn3I&Z;$V>T=b~MIp`P@}w!p2eA6Q&dFYclU(7;jsI3H5j2c{btjotYA~9)+e+5^-E@piq|iNfoYg+ zS_fYkd5jxgTxrlLGux#me8sc$uL?zK?2}+BgPJI}FJ+Z_LPH7e`g4bd-*{D27~U2* zrd`}%*jEpi8ZC0Wteyq3`GhX7D2nOA9elSH#R=3PaJfPJ^&uben`m1$X(X+Pjkgs>MTAJq z`>R(}0#Erq>=dsX%7Op)w=jAO*DzS^3JsyjW*J>6iu!ArxDsJ~gM)_5>R44@2wYX9 zUWbp%ME}1*$t$@48Ilal8UeQ8vj2T6;>J3Pd_WxOnEdIU&*iPZ>5N*3snUP$o0`!l z7lafKWsY4E_&L0W0P{0wo~l6 zRBRYQc*h^h;aQQmv?L<<^=taWNOt4$JZtBNk79-YWzEpFicXciR`^TwUH@Mf=9Ivm zGi@r9C0SxRf~C&r`MDbnV1V&|d};q+BXvDfyqDdng`X+U*;pC~a&**tK&FO06OB6wm;q-Rtu_ z(-`2x#jGNyWyNa0OGf{@NKsiakJ-p3u?>oNa|h(+P5*c4y8&scFEo@t!5>Ab#q;UIZ8|$Spo|61_QB1;CuaS%ma|m${ z%)DXKmqa>{ielZK#Hac;0kcSuRoK^m)5W;lekmN-M>vRN7(a@Z{2Hs)uVbbBNi=vG z#Qr%^vD8_-TD0zo=Ml>TLCqTD#mK9U*zxUHrmi<%x<>*(Ik|sP%Od@#!94Eg`;j9* zl#VKI3T&B|jkhY%x!t7c8pb@a$&vbSrl4%kW!}P~9W$mI&}4~j-#*qTZxW|h72s6# zXFtSNUj1X*riYWP+1v4~KSQ8*j}M$hFkZXB!z*W%hrO%;kgkHasbX}7?m{Ha; zCs?N>doxygbBIpt?a0n!sUfFE$-GVlW z5*}SFCCxLZGrK1Y(clL^!^Bq8ZUK%$PCbX;HbM!q`j)nhXicfSncn?zmMlHugUDaB*Pc6A) z+3Dp?<}ImaOj_nPDizraHO_@$Z96abDo~~Kl;?w8H;E0v$ZzG+l5XX1u-Z@Au?R&; zfA*`nvmsZN_cNh26s3Ls7&yv*;?DLNYz&{ufCRs4mznJ?aD5)6dDOpZFgKv`xAQ%4M1+1;2TnSBZRai>Nrx5YG@lQvzcI6Ak8^5o}dzR_C zu24L!G#a~j!o;yxpDLj{^Lx}eX8l#(o<0e_fYlBeSo3p-0K_e^AS^Nj4;r04?szCluPf`0aFzZbLQha(X0 z!L2a$rnEuM`KolsJj_o2V5rv($SJ){u(aKlLYG8~HDmPm{E{OLb4ma6;e83jU-|?Q z!HkiSNt8;0>Iw8aD;+cmYFplg72o@mHk>zud3=8)6JXqwE@1i0o3UY1tREqQmH6|N z>r0DuE%p!#8^o&M=OE4adU5ky`{qV$eNVXltN~i46J1cD^3inHH|%ccs-(ZDdY|w& zd{c=2SJMJ!sN-Y$(yKMt6j6gQ0bxAWaK#&H*fJb;cUX8PRZ3%M)py}Ja!0FdJ+5yg zL}dh%^9XU$RBf#VA}kQoq5-wL>+T*gV|gDzU^`El)pTIG!H9%@&;XbZ~`gw88;7Dd$$d=mF6TZR~et^YuR z!&=y8Kq?E{>MnIsP6`3Wb8|ZXF4@A}zHJO{bAjMZeb)+_{|!>}aJF}SNfMU`g+OKO zf4S%8c&Th#qj_oX#|UH07hUE7Rx4gpa=pSqT7?~_eH+ei@;Pil+5fWEI@ zi1qM@zQcweo5k5%tV`!4;<(VsGGpLTXIpFH!HdwIV3jfp*0v_w#jP`6ec6`N7j-6W zgR;48Q%qciaRpxYAQ&z&t`s&aVpq1nMv^My_T)T>|I4orm=~D3{ZG??4D=5$=yDvh z=bW?g^l{|Rg`4$I8yc#t$1PV`5>fHtwY5tZrYs7KeTaSE5ogwsxb&BJ`ht6#q?D)R z^^cO(*9#gvq&S7?=+%T5zGvK5h^@d1WtybU2$xUUZ??7PY|J^LQ0M-;zWli}xu?=& z1nDxFVR3PijZO(9EWW44)BjNoxV+Td3{sY5kMuEli$rBup4K6CjvuQmJ!y{Xy;$cO zkX;?Cluxl1@RzU&`8A`=%~}6Zy}jb`@d-hgn z+1yRPMVpnI_8x=`9nO6XhR!vNgLbe)PALGbH?;z9d%VnC$U$mrCB0%j2zmI`+BLEl zH~g~M=0W4v_H>WoPn5SwFNvPDaC~br+tQma{TS;dq+k!MA<4!NTDm1~vYk3>iey7) za>3cK-^8w{E0L4HoY!6Ds;l0ywgtM7ITl9B0)Dlqq-8e?X~7g zreEaF5Vc*o9WUPox7V^{I@=r?7dT4>xALzm`AULAk%gVJGX}%fwVA@(^$me-8|&cx z#!wX@uSA?&DJu4No$z?Sf^2pv{>9BFgs$KSFA?Z(_X;a?I0xD;Bnh zi_1wy*E2i?1g) z>r$t+;{Rmg{x8Db`7wPz`6?TLuo+fZGK7km@b zqd=7WHub<;J1s)0;QZMAnsJ@Qu%rw3TwpREc6YOcVEtD)cF+C$a1lY?$Mwb^Q8`Aj!IP8zm_11I|hNDW$Mbv(x@>>&kZH)ZoV=_39-9iWb3IttQ=o40l{Pron$wdOE65)sl4T& zQ~C(hpF26{6qY$>>Rj@>l^0j`{&DOEDtny-<1e`{uQ$HEY+Pr0IcI=56$F}3o9Kq~ z))~^Gb0WfgQpU17?bwR|T`{#F=u^UC--*5h#IjRS#OkOw$ zX(w3ylb~YbL3;GO3OHi1X$m_lsKNnm&*vEWG4g`|ZWnIAmNK9C`=Ijh%*dzA^S>k9 zTLENbmTE*@1ka&?b`8AP{rEC0QKJ*tJIRVPtslYJ+J|Z~!Xn3)k)<8~#rYeQLy_3N zK$lsh{pZqAZ3%}*Rd$k{F>h5Qy?RY)UA^r_-?77$H}G{MXt*<%&!K(l6{$_hXl1OsQ@nurwj>98*ek?{< z#IEi5KQg9VE)*Q%ju%o$IKH;>$=)NJoncjRszqffCPTSjugg(8D#HR0HD6po-mk}y z4~+|Yqz9W-8z?)QT(IUF%rmHzjQ{E$y-|i-;fi9Am#{`#QNLJu%*mGHna>rr|?~(;W zOBepr8sqg{D~FWY^fc(fu*t-~-I3xNxpR9zG@nPVuLKfTZi_{irL2H29!mUrFIc(2EFOty8)2S~kFU@;x}*>poQt7QKY93% zrZJLRgJ0E@!SYm?8Szd)JKV+1rJ6V!n?{HbBYv>St;;$&2stLKiO#t9>~ zJx8dbz=!Q!dCC}kLrk06C#v{dHP33ZCNtn8u+yhe+(acBR5*ChiW!|E*v|w4e3AO3 z7XKJW@(a__Y~&C&z$9saqz&=4q{O zt-Sqsk4xCD|KaflEJA)htU$a0@1GZBrBJ6l{SkZ>zy)U~$3XO2O$9;?kMcsHbTIFV z`bHCd^W32>_|xVj99Z;ph$wO@ zWg|qF>PmK0ecv@x%|Va2vYH2CiZ;>{9hoJ7eH86MIIfX%>xmAtfDls;EWTVfuF<)= zr}(o?QrKKU{)UY%#~aEIiw<(BK$(wul<8c`_YUKbV;7wYsddzYGCyE_A-Rp9x+ip z!`bFVLmuc2s~Gdm%~9Kr^z>Q22ReU-Y?t?N-S)Mtlv#F_WcI+0WhtwsT&&Z1`|*|X zQ(UmD0RKJPh;Pkj56zE09jY*@e*iF0;6Ue}IpknQbZlM>9P9#fWBUOGe88-TTbp`J zav>|Wh@}Wqh;cm23}^>PrqZpuO%06ZnBqX63r-1H>Qb3|`%O!+M6mB{c0-9i@P^uF zph5v3HN#$NK6002n8sk%O}qZb#`ViU-3a`a$m<6FcxX`gDCjDnmD^0X@jbqkrq$cy zE=kqYK`lo>lVq2o?M<(Q0+Ls|YL8LyhNLnW1<`b>lm2le{sVk+gQztd3)oV>TbR-@ z6ArB8;#C?tU0bV#x@Lr+S(WK-l!S zJCDEis32U37T!N4&l;}^JijzcU4Ov9TQJmOUog76z~j}{*`@$N=?DnFnpBiILI)Yu ztxi|{w3NCC{n4noh_ipDWQRjrIKq_<|2wJy!@%PRw6fQGU>8#@u~~2&wl7)%_<+Tq zHWEgUMLhOjM7Y~cLs&(#)3I_Y)2F68L)=Q8K%Kbi**?eoLc8IIv|lsS1hzQ61-a8xUS& z?Tmf);cD&sTPsjmm#Qvu94}yf^Bi2`6WAxk>SoN%Mb-QMO%*Z!DqDz2nnp zz%{BOt{|?Xr;FP=GBRB(>@_Z5#pBr>#BB`dyuioaXR~X|{cVQX9lFIR_Irls0}|xd zGEjZuzkx0a5Ub(!1bd2oh`>}X2sJ^r^r8o+Vay@1y70q%8?}*XQ5}OjVCO*=#ztIlH_$mXXKF#Zq7Ds9=dRLv}CYN1J*60H=y`?ask{md5TU zmKtz^2dk)3Yae+J!hf#MoB@ zjs>%A$)LhC(-G%)@;pcX`I(Mg*ad>X?*onj*8)eV63|E)Vx=*tPOKWnfL+Ap#9M%_~%gFaB>moy_x?I||r_W=RJLm~9RQ`lZj zp#Lg;bFFc<`s$QUgr?)=EP8(8#t!DVucnqbdfcZeb|yInix|na1dyFpeO6v;6%OWI z^xav|j;!#P7V#EOQ`U8_^`is!K*%cHx??)ZKTnBu&+QGoI$R-C>i_gVqO3=cvO~=Z z1ADb(vLOuHRHJOaxJ@S#8WSs7pTxd%=gqR069sUp0SkgDQ?1>UHZil8s10hJO&;sp z&1UH^^yn==#6CJ*(!LE1mjU)l7~-?ialpBHG?N^MRrrYXuVLtR0s+04))v0z6F?VY zuYK@rV1UJtH0cn=SZ&(}$FHxg`I)YVIqlXRpF5zpyo(TSz6fM>FNdCH_P4-g!3oXR zsLGr)H~L`mb_n{$1U)MO#i))6Rq>wDsQw`ID_A~}G1u-W$auML9Rth;bn7vmGz-SJ z4F*M&!$fZ|2WseG?p0B=+#uImGxKWmZ-`qmCdP*8<_Y$%DJdlxv;Bg2d24wCY2Q9{ zf9wZoO;y28l8;Z+@@RUs)MiCoGAPH3Z^uAGmHLm(9_n-b&9~lO{X0Far>=74ocI(d z4pv}ZzJDf8r9Yk7&(r6nsVGrn#8YcDB8B0s9JQ*6=xxGfwbWp0N>2L=b>9j6qBW> zd#vN#NMxe)!K=gjBcb54QACT`ftekSuQAn*Kb8=HEUJ zqPPSmZ7o6RqV;wd5ar_>(!4%9c*%p$f0vJTw2(pM9;^8>(fX!`=l7$spRZrlNA3Kp zE=-~bWcLK3H#OS6e=1T(kg{n2*aBDd2F#}+gj_8$m@HZ~v zLRRm3Ng#WLmA9zEs!NZ-dLo+!C15%NtZmya#79w$kOoLYF^w?!t zQE&}MIzQ|sui`m`GN3Y6$PcKEEiBl(>)dK!d4T`$CaH92+t{&}_Sa+xJ`;1FR9PvC zNC8RIG-agr(v5`;jdeFD16po2e03fHYRIV3d4f)AKfswJZp7T>QJKRg~X7Qx_rSFEiS?QEfVo|OR5bL1V^1uc1lN>{SNVkqs@9o^Sr z=Bj(L+WD9Mpl^Ipp7?V->>5yZR0s@yX2Ipr5do+ksqzY^cvGdm#92FoFD_0Tfuij| zdcr-XUH$Z8d4-6qG37=R{&*;E&xmWq=OJ}Uk$QSPF(W#y_|Go?8IXnpE>8IKPNL`F z6B5y2H}KQ3^70EM&1W*sP|J#sWiw@(pj#Pk5LkwMP^e~A;c#!i#P7<=@JW|_`f(F6cv(*? zaigJp*-F+$8&#$xVzszrMu-(rxiBt=_{)z_8n1bh5owsD#nTGD)GT_gr4D0BaFC*QqFKw`o_XQH+)aqpj8fapS;XVQfW)?#L+nJWB}w-jvfk}?hlw*pcZVVRqz0TzGV z9u8^h(O)UDBJNX#=AOJCpi#n<+V-nI&cwlW|Ht;Uo{&1VYFd-M4t-hE8RAzfxW0L# z{x4=iLmw+FV#R@H91Y}_w))P2z|R;7ciQ2IQb=G-JFP1lJpp(3tmYnAawIv&O*_*hWAb+Y?&am_^9Bdu;iGEWvcoC>5dO-lY?xH4 za+v>?pi8diBQO3qM0_+cZsY$TQ+kbzeJI3or}H-r)SMj@aS9SVDR#?ryZK9?_dB4T zv<2uM|5A5T3Qik<_+_De0hJIKau-*nGepnndV_G}Jgu8k`1?8p3pFvW_UBH2QBGRS zF^B6KWlTDVJ!DmMeGe3VKqVTNce}Z|%)(?;A}+56pUU#VMFI69hiXlkN1eU#QiPi> z!8=3%P8*b0Mgu79-4F zM8b&3ynGSbUb@Ve>0kTnzoU}C1%m5eX`hISiRlTi_G!^jEhzLrFZA3|&asO7@$E>1 z2BzG8_uE329^hgO+6e=I&hO+kuLrr5PmN18BFaU$+uQJbpX_1kHwjdSS1H^Pa!kE7 z8KBflV^z!H{)XN5r-Ul^gI7i%(0%?64h_0gh^_VDIi(T!uC=GJ1ynz~YAhgO; z5n86_`YT+A?ynSkw}SIst8?vA%#YbpYrt%A^|3b?(n(XEyLt0w{|L$$fBF{muc23n zSWi?)%UZ*1tfm_vHfCoK!w@a;5u9tq_bkUx<=rH4{EGU_YbHYIyZ-7FTk)s+)sy)m zz`fGB@UwwQgU_;e;YUPFlatLb3KRbf012Nw5sHni>kw1}t zHWV@2!aoV6F^1%oH_rhg3ogn_;8T)8e#^v170X}kb!LULvx8;=QUTdw>dT{(N?i{H z9i1VOmL8AJ#`(>1hMSj_k>?W&0s_Nus)6 zrc^#AXF-KmpltH5mg>|l*s4-G=(rcJHXK%R53!KyQc`^9C`s&lpHGc}#wOCnoF4W- zfqNWY4839X1vF!0abxMgamg=05kk{0cL`Vo{^jn?^+daLq`=}AIstEVuMlr{Z!W1# z%TV9*6}d=$m;PTsT3eQo->2pM4}?m7PLb`iM)eJm=1t_n2Ww0yU)@v}&0#bL zr|JXocrX0f?Eyz|)+>tO?Uy4vjYj8o*tbQj+GIQvKh0H91HzPB zvmIa15U5}N#xGNCCe)k%$F}e-&|?TXfc(((6K}=yA%pDN&#!Iimlo_Wsig*PDW|(r z_FSaRm8>I6$mGJ`uJX20|1we`e(;i@h&bhca<8SEa5eeXQM|v-Rj%US*meiqNYrHs zoH`dG@le>d*hWZyG1K`RxSdlV zP>-HtoyF~8eZTF7Hg8K^9F0N?X>3q%u6Yl}7`@xiKjY#mX>n3gD49!;gu2^1m}kN$ zmG#w~sJJ`cxmV|u7+9YEh$q9cOXpeS4+m}WgB9csH>R1E{H2e)#5V0N3?cN zv0)mi5ia>OQ~jt{q~jZ*Y~(`_+T-aN)l?@y7dCVlFk41@Y#n#6%1|dV;h>G% z74_p4uIc5~>jB5-Cm8+OlE5GF>ZYb1l#Q$sF|IUMQawB7cE4Xvn~RayoqQ~$`SxM+ zOMj~N8Rqm`EHr_BbJ`U<6MdzP$~n;-rWsHC-&w@q=udnat9lyCgmAtp!gMWd~ zc^hD*lS^$b&9ORP5G3JD0ToBvRRTq49{nERiOIsx~^PEn9 z{{d29!}~z+?(9C&kWEJK|J=#I!>(mW$PiHfdNFo7*)$eKiQGzK2W|;TcebzaNdsxV zJkC;5vw^qZ`hdZP=~Q>=<8@btxvrbj=SXp z94765-6UF}a{}kDgBicw?L+qy52TZ+B1-GatF0%u3JgxUX|+7{-skCNnai{;=lA`a zOA61S=Y9(FG1$-xZ`js4xCq<+jM^G}eNndBS z_vf?*Ow^n~bB1PXam1{Y!1{?;nBXc6Pe|F5d^f-cDH9aT7R8Wy7fs zymr9k-2KMdWOVOFuBAbH$%tZ-Cy2uEnY zV=C-^C24xkOtX31*+@2LIIWe=2reYk2NN)O+d=}4qJ1ZjYS6;qjM;deh&Ve!JXyKy zAMjs$H+s>>MYd8)(4?oo84_Sm&8f_wy82IjTTvyzg=hZ|Mz8qC?R_((F1!!MR8{Ru zj*g4Q9E66x1WK3!ppT9cqnh58Hj3J{%Lun(I|tNnhZRdgj@+Q^e?wNw~RhJmuE(?lgj9<)Cs|-pA|JfH7a)42=asFmEklerM?gZ@=emK z_Xbv4C`(Ox@3*1HQC1QfJ&BP^skJBL;hHsF+3=s9aq>bzwijQItlJ70vZcIyZl&K= z#t!Uzm>gB^4&VIYTCaF5#ecmweSCpE@?!eK5+~)a>Fe;Xy6?1|_$^X2szT7bJHyor zwcbXEup>_LcjbR5zG9L;P>G}&uZQu)^*9+TgyeQ*!OJA9{+@O();3eR6?y&(-$N;$ zZn-xC=2Et*4N|J&r6phM--FWWzNcew8j}ff`=S3eu z#Oe%$>nc*kon$Zs+!pzF-xZj0t0-wLdEwieUtRhy8lH>Z%0Qh+GvMfe5rrG7*U=Ecy#bQJtFhKc+BjC7NOTIj7 zYGOqPai7$@SgYr=+e@KjebT#l-8cu=(SK^vF}Dz=Hgr_`+pza~=BT_pT&^mvvT)^| zON-LfRKI75(K~PPiOyRS_bC)vIO0kcmmMpk5Hk52Ix^*M;&uS(Kvw1Td;7Z@KzPni z$$A+q*`C^^Y;t^|k>2^J+0_M$CelH#mMlqVWpw!DrJR!v_&Btg^vAvvaf8Nj$8D>o zxEkp5|L7a+)t*=*r#$-UTyuRl)^FqUXh?cNvHjwTq`(6yC_3CkisI}snrWT?*Ha;GUCwamXtoOL>-D#%T z-g0~UA8H)>;2~E&={*0yo?U}yOfJXCL>j@b@_)x?&B~l#hP>Wo^uw>dI`@iPSWjpi z1&v&&@r8b?^v5Sjk=Bbp^oi~yMlGOopxz-`ztmlGdVFC)u+qu+fLf@hC5n7@*H;tI z|4V0{QuEsZ!=?F#edn%GH^+1=)|ybOzvF%SH&?vD25k&l;YW)ZliObXoVvA)=#w>a z@e15`vFj=I`0ikTG63Pt+jDNo5N$|WavU)C@w627@L8bT@-Q(RFbcQxt253-pAM3k zD#!fu+{W&BP>k%fzfGh*DqQ*7Svb|_EMMyTl9s+omt~<{nqtwjH#9W906%ZPol%8# z6#?ZSo(HMQF$db`qKdO5IyqgTZe{3_ToF`tY?bHsLC_OEpkLPWlB!0fi;Lu9`+rTr z2|p-=95o!_<(;Z*mj=*gp*wB!1kvtN2}Mm!HDW9nOCIi*O1?vAsyDLnDonch8ubz* z^>2M_aGeB7oos@5t*L%2bTTDewA$n*~WYv3wb z9BH4j0m^(y*#XR8eEQ~7QzKopbFb1QO^O%#B-xGf0^&WNElwm8ijUcGlSphPp8Vw* zEMuGo(J%l<$)ZrSCNvJYW3cacES1{n8jD$eM^$jEiR&FSY8ZLhc%WK{j<}pMvNaO; zf%~_znpz5EY_cqqxt(bh_xnLmSeUmLk7HoCi^N`vWPhZ)YyfXnfeIE&si>5k%7O-* zo~kLa>p7F_DhH83YDFE^lzh3|_$rUo>&z^v<_gg=r;Hq!BR4IuVy^FZ2YxL3w!WcS z*r6s5Ra5mY7KU69cCf6*{Fxeon@>D#sDC$y9UmdO`EFq-!5P1*uj19wQ3C{oDiVls zbw|T~ejQn-_K;s>Zn!$=ZrDkwF{{THn$y;B-%|@jt{c~5=0`nka61N&z=A_leH<@~|AiTr9Fz4MW_GP3*EbQCG>ia3oTX9e8cH+(XpsUEry zjh1-7a`>xuRf^)D%8tDmP8F`KCfc5m_Rrl~WivU*b9 z1%1B;D;k|9eB!02g7|x~oa$CT90BI=OK(Eim_XeBr3X2Sg`_H$Os%)XI;`!GS5Sf~ z{=3lCz((1yW!tS)x2CEM_whkb++Q0zn#gTO2jg$1uJ_1aZ#zz$o6@I;*lc(K8-|E8 zq#3n7ukhD8O`V;!CQlY8gPJVm{QfRX{y};-r0!tvdiiM?!ud2_W&=$w=P=atpcWr(PUm4BmTN$_pO;EOu)F;npQWiUCXw+|WT5}Pi#J)I=I`}5D zaEcRyp-&BH*#g<*!_~zkeSFV=#9rC!b<70^c@8l|UQsw{`cX*4w+W0wd8MzNW9=DE zAqQi(a@Je@)D>&*_z)-TqC{KHRASd~_ENISfaiPnA$ksjFzlU`L!B;Zv!bYFvcd~&V@9!=gL+9)lxVVmhPao&P;5%TT zk2Bs;fQi6PCDUO?qQd9YAd{^@iUv17cCFqh4?3aysjE%L>#pu_Wif6^4D$wj#`@Qr zD}VFLhdVm0GxSF~FuVY-t5@sfOrjvlYYIhonn z^BHe;E$6I=SJvI!*hgaI8nWcF1K?t-u1v4vbL|J$LR}f8Wgno@^@^&}?x5^DwlMZg zFbvNk_YzR%7N|SsMlHTE4xB-3>(e1g`W=Ynyxc3au`{Zrfz`!(e*M$=mx zKkzvoXu*PGwvY5?_mY%tcZC1k2qJ2Q1-;H1e!@B$GVaD14jy?zA%C-6vpP&2Apee|Z!DTUVMFSrmt5?^;3(AZ9hJMaxc2hqesf*P`mS z8bwi)L}$L)d!^?LEpHmGhcJDjs|Kwi&a3UIX^WA)FnznD+alI_E%kLR4a`$M z%Z}Hwo=ucHOrnl+a9k61j*gD@kTHDj>pd9}BIj;d9G93HeUR%9 zt=BjY)WS*oVV&Lap*(Jdfq&Pwq>`D^ZG1Q(>$o-f^XVTZCr{Zq_>a0iuXd|!54@2$ zuUb3)^U3m|L*U-7^ikm}%Aql{adxjgSs*m%DC_tRFCBJ zbQqYcEPcq(SfSxN6u1thS!Sh1<%jZsK5~$gPAd$(cCgS%;Gy>ZP%%ZJYG79fFwE z7D4S4C3~n4qA3y8865@i#H?@E8T-zPMH8Oj9R-Ir3Silj5sn0EXhhkVX*nx;MIfAq zwal0aOnZzO!Mv~ghu_V7vjRy^`P1*dJKP`fZF0r&v2_ z>n5+m#U_-M&SrI8I3+M|$+StJ*sMKn%5gWEuue0)viyzXVd8ne?Kg>F|MOXmehsCK zZo_V$UyC}Vk@^@uQMNCZx18s{J@iBy)Du3(VpWT?eJXx!q+-=Mqygc1)3W;I{XKf z_@~r)e6b#z>nI!&pRC!r(Cu}>Kr?k1Il%YmWzpdba#!2c93uI!1b zGfln#<7p8;rk{_>Vd7EmmrR*X3DvHIh!ZTwEzLrQWq!4N#NNk4)7Q@`SVnEl*Xjb| z=)1%DtKY}5w??8$i<;7mdmgIeMpNsS(HH|LzQg+G%JVsS4|9aYpX{Y_sZ=b+pa)wq zu2EsXCHBz@4uHvm724PfLn63gCm*vSnc+`<%7YFc1eMsE&Tz(%ic@5OM6TDlRUer4 zb!>+k7i+aEcp$!_UE-L1gvOcgS~s3K`D5m9(mAdFv6cV4dsZW;+L@`9SzhjeEJ33u z9X*g!4Q10S`(5ZzN4tItD{|E$Sp{UWAbePCFI}Q%aM7Dec?FfHN zOv()&-rv6SDcexV@$b|GnkS=rv_i5fR!5bjX*llNZjn~OFQYJJJnabJMPFyq#%=w8 z`9?~$XE^^MFX`~EvrVWMlft3YnJ4LsUq`C7_6u9^H=kv!RKNl3pWETN8lrk4LA!U)ChTW*h+SEA1T&*s=0H9g`UsFe z!(KbT^uaD%T$i-|HPU35c&`A$_sNzO&<+7r<$rZowfiEsoh#ovd_m4GS&$>D^QaRW zl~{=njyfXq`CEPO8r15aB$uCVs=QMMlBnyK^VTi@Tc=od@?O;#ohNOf&ZI{fJuEGi zO@eJ;LW%|gH6HkO{>7D=Np0j5roSl8$dXT4r&hQ@XTR`q69DYCTfp&9*31}`67Haj~6#Pg)_e7-wlI!0MK9)7h;q&YG3re3XkxuFSLDe#}u}xrvNkCfBo3N!~Na_zX1-OnO>{nT!N2 z#F+YQlCQ`zMBCt=>dHMwm8-u=iykWXUT3GfuFWC}f$OF)y)^zFLM9MeJz{JiyD6v0$%mU5bm78y* zR1@#fvlVy)tvlx0!v&fCX%!DDIx9TDix*}O95@ePMxxSb&rCUme_C6o=_b*P&4tgx z@!Vs2fjY%_F4>@zb`71YofoBS0%FsKt#&tO0eM2fjKWoke&-51r)6M*DQ2;0Nb`Z4 z`s03>?}ZmsOOo_cr$N=dOV@I__}t8{)&@3IS%2uDpv)8HpTP4$;gGltcf;Rg*uZ&G z^2VHde@S{;WPtl-frW5v`!kfIq2HU@L>pSMqd2FGjt)`t>YR!p%vKjfT8c}Hb3gtc z+uBa`#4ZTHnMtvXfHIrZ!gTrp=455JQnareeFkW};-i`h72OQ4wtS&kRzH1EjP)hd zwA?gkZkkp^-%AJ=VY%rupP=35n#A?$heGeo*=&RcgwR*vd`?9GC^nfTPhC4WP(L2z zJ62+7r_8J-)4<(%+)9UIzo8E%OZiTWQ?RJt;i?z+-aSL(QMcpLO}SU3IRv@XsHLCno{lH-G6e)%s4i zo3O5tR%b!}pgVk>YW^4}<5x4?QC9Qopdjw-hgNPUM+ZH1$shoE=5ZrmFw|9o(Tnu2 z1Hz?4AS_?BEohDSNFkoc8Bi?V=LHXttW4{Mg@%uDQF^arZp_k?WM0MZ@^{d{QF7H% zZ{=tic-qv!;;xMRxXO*>;C<8qEw(gnS)S)t5*?&wk^MAvD(tR=Pfwj#j!Rwemv9%m z)S@>Y8AiI$tx>-@p_KF&6Qyo~Mp+rQhUz|JN7NH(W?c)I^4<^6$~wE!GIAW0sdZ_M z*x%BxHY*@vgZN~?fFNwQY7{>Kles~DTA6_3GI&#SR5*3-THMAxbmaoJ0cm}qc2PJm z@BaG^dkMNV=_se=Rk@s|HSAkpxq0thh1cS?d6Xb=QWQz)L6FKffyIVA_UH9!Ywzt$ zm9L+L10ueeHJMM*7OBSaTTUDGc9Xim7-oJz`AR0iHFrL(sXHa$E~%i%UN^AA=DQ#OUc{SNXU9BKpkV(6^C`HC`f9DTv@!7DjF&<&DxQ?zO-jkbFs zK4g5oFiep~<-^Bo;!9`_FP1FgCJgdNBp9dnqN{d9ydD$CuQ}G6@^Tg4zpBkUb>NyV z1|zFn=nHalBdHiYMv%~J@R>Ne8Ek1ncNLsv@0qz=)FY2Vpo%8Hwe6?#gU7UC59FW- zPlgA6&kF70@}Gmz9b6u>QhRW=F(%_h++8m93;BG|h*wCEV#rvPGS*mo&I}2JqmK*^ z?4yM%8p~5b4>xt9r(A1^FaYT)tnuYWJ@G)!_Y1r@aw}nw%a)v;)gstyVmLTnKP4ZK z5QK(xcH)Y&NBYG|W*Eb9#pyir^H9l`xyaDrq!my}w&%dUEELw7i3G5wVI`sWzK>wh zVB5y`8tWDhF=XZCN}l#twvG{eHpaIcOlZRm4a3{{7sn+6fZnR(Pp{W#IZbe7r_a(hLQER=_)UBSDw&XeUDGQV zWGSrx6yOJv2TK7WLN|+%W4Z1*F}A=Y5iX2fkTxH%3jT&69X4ua^mp`_U1{@1D)Xwr zVLQ{YsHC<%>ru?d?RAef`tAyd^Py{Ab8Hq}H&UyApkj9V@_1Ew*-Gk)w$yOG0VPzd zV!|UhFGYk*AtdIc+Oi_L-z-yliY5Xh+Gr(>vqv|))DNuGDN&U$f1v{)KouB~_FOUa zTeK9K_oyHibv|Q3P0&!Ood51{WOl-w2@g-LIlyPOI7d*V2 zjxsSXp&>l(PPm<;DZwEiJv%WyR{PU8`{XP&YjuuY;-Vi@ELvVgKt<~Xy;FIb#}-&< z?WtAt=K5rdQTiy#L6q8|zMEFQj3Z!6ia5|?cET-v(@6kGeJv?Bh?l$zaX{~^M~y_h z&_#A;CaaGxpKZTQv-zV+dl*Jo(U`PbQ#%#{Fb|kS-)AH1p?VRQzEs*8OI8;E!RtAx zq!+-~0|bd)+J3_pj-%LvpG)}nQv=gaN3d`GR*!sOA%nP8WJ#pw)OG5{bKIy&b@_yR zMHx)hfAe1pQ?|=G7_-N4Z8*uAtU4USsTMWXXkyhUrI5=O8z2Z_{Q{)lJpxIm%BmMe4(~}-gp}AX-`MCjOx@Mj4szyB zw+l!$i;IU#vfEA?>l|#Tt8R?Mt&MNjb(b1A|1LW9kJ~J?HvKt$KBqEYo|)K0tv2R} zxcIoHvrIdgHv@x26=w$EG6}iAy=^@BnA7&Al~8N-Uy2U4?)*Z)J!b&?#tL&{m4+?J zl#};#vx5a4M=~g1<`gbyKvP*bdbd$SEuM$vwATHgCEH}U`YTnUDgHt9x_tOV1&r?# zlt<*{pPK1O+6onU)LarLl{UEjdELu6_h=(uWHT3jy7`@#GopHYddm26{V+CBNuPo} zSN(e9MrxZ)6<^z`{qWjO82CWC4d|XuFYkVu+P8`+^6=k%x(u<(rpFAgdnzCF$YbDY zkB6|n)qgm=g`k9iL_bXC#!Z`H35+5S4aozkG}nr5Sr4`2 zy;+6WDP@vEarQGJ^D1?hDrB5g5ClJio?Sh+)6v4@Lx+STpQvxdpQ%HQv10Ua?+`~8 z9l<)g<<4(#>O&+IJ{j0wr%1_Bh3ah)r~CMns%uQ0$@S`{RLugqY6UQJ*rw!snqRpgNTc6G)&@7%!ssr+O(=xPQ?n0>}t`#2r>kPdGF9VRFo>tkT*cPvX?)3|mQzZpOtT<}> zQs4jBK6q$JEjiWDXfhmat`Jz-ai@Wl`DDLRe(PbNuZ;dzpMKZlvu*1$&An)J3Z*cVIGbEd-u4HQJb);g~OLWEmZ>%mtdx%mYEP0>{I){a6!A#p1Z$8klB3H{-DOKD;xbRw!S%s!% z)t2k#pd@IE1Z0+C!p0`k6JxD2`+b1BNzySA=@0Z{klyJp(u?H%=h(5;psJ|~tFUsq zm++xL>c+9ry3Z2ep(2zd&e}+Pf6T;3ue-!Sw?4-LVRQq=?JSH4LWGj$f3VJVc7-%42x!8X4<^m0H+d2+_=$F2--5`VPJ9 zy{auq-L?Z6!umuko>CTTa5d3aYU4U=rflsyOPAk_Q*g**ImYBVCfK8w_8~=wDeRO9 zzP!9OJ`osWI8t?}Q8e+#Q5cJ59G6zMo^I+VBY|XPN;~`ef5Gz!h zbb~CBqi{aees{^Bm&=DjbBb7X*|i_Kc2sgK8a_5%v)6IKef>2UYWiWFK7H25oKHK;}kdJ7eCSj?dnp#Y`rfZFO5ubYP~YOq;p_5 z?g8;y=U^(CP~fyd%kR|Y?y~Vr$u-0UnCyeHv7S_KQ07<9byxF8#h(bZ6&ywT?^wdX zG}PIn0`2pw{^9BvW@1*n6wCA|dv;ZUE7V{}K{Mhu#%S`4mfd}0SraN|hf!bO#CQw| zc-t(fQ{k|}pZeQle`R|4JGygplm7n*JI}5r_IL~9v7jQND7_t|3jvYdZIpnaDkY&P z2qAd;6*~i4}C?!zUYMZI;H_VLHny+eG=)6qZVk`jgj^vp~3&?l^ zXA!mrx17wt`(vqqvkLlf&(GZH==`?PLT*wFza*HY*tTeA&<3Ax?I}8nFD?}&7Wc|7 z3oZ_h@IBO@iFP;>OP_PYTUrW4h=)U1U2^+p=N{T}+ndl+ITNxD5=UeP? z#~I6eJb{~vN~(d0blW{VYOUG3MSq}b*B-kbi5{%_?-hP<9nV>U7IOf8Dv@+pwaw(GyU}6jX|9Z_uv!{ z*FMImaN8Z982-aXomrdWJ-!@#;X0P9nsKsxjPgSp^d-=|fzf=+XIqY!`rA~!md|#3 zj+dkAD|`O+T2-0ld;X*MaIc7Fz&qFA-9u;hePG(XK;IO5|Nh2*bOKc;_bz<%Xx6+; zI=-W%?zWvZqfYM`g{b+X_p4G?{J(%ZaDx90C zkR@DKY@;5}LiwT@#w!deR<)o0$(ktk+Fh6V;68O*g_a0i-T!u#`_cva=icVp0D$G5 z^x!oujiCk9?vcm0D*@266QnN0fFZL{)>- z9CJQAxN@18aWBK~gL{ul%Pb$}7K&CxoU*5+COsJe_tXe$b+YcL*!KI6&ckl&BGc#F zm49Q$_cr&IzPKCP1u4#EG3lG%{V{l{=a`%58iRK~+RoOWeylzBggGX7Wo>U|Jhq3B zE8g2(* zNp(I(@dTOxTA`h_!~f`1V>=?~Dj$ld&hx08(8{2GAMc6OyjB$d8hGt#_I z_y29L!e_QFusph9N-Nnv&{76#PniDKvRDM{)%dbpI8Ws3uliA}LmzDDO-mq^d{9q3 z|I!Kt`5#oA=Uy6=(N@=lMc5<)m)WB7`vKG^r1Jh=(2REqAsSjC-@MoLxJz z;*Flm4ryU*k}ms6>Td9!8xXhN_Wb2sJ?)dwb|Ki>7;i#3f9}9{#+*HeXl-Mfpg#yc zukoCI2pQs`X~WktPkAneyyAN#o(3qCSp6jnp6BANkm4N@4gjQ9Y0!avEh{j zouZS4pCP7-KaK;2xY+i?izRg*pI~?~qvMk!AU(}%%_+@X-S0DFv2&^==2Hm8d^YxH ziViLNPgyl$QvXm6gz zLotPMIsOAQ|G@fs`o8a*RSvWF?^ZE&^f$y(dtI+50};7#UmL8d5fbqN&vN8o7FzSQ z%!Bs>U86C)4wM=EWTUr%19_}2#c#Sf?p!40t^GQz-KkF(pxfIknCp?br)STl#s*na zYxxpS9}*|*+VCsV<@e8J$9N?@)p&55$k*JP%*G`am;RdN;D%$9?HxP6?uwYjK#dl= z4IjuDG%q$jJQ4^TW9PnFFadNjW(F)|0A={${@7E6bPlOHv4Ea-xlwqI6>B(lYvx5(k5b`Z1<@gq1ehmt&zH(6 zZPBQoKv51nChEQ2Zj}UF_;=K=7y**iP1@ba7yY*ADdP|LXJi_O2+liHNhrFq36OWM zW$unw>X_|Q{zv_*el{V9rI^_lI7h_idY##{N#odG@3RcG9qJRJS zOmE--GrZ37k3`8F-qjCxs_GGZrVb{wzm7Pl0yS84Gs3Z0kbHv6Vbf{q-GfBZ*mmQz zd~MxHX;0~{>7PAO-o8P~joF6ks?qZKUCGVbqKft8KE0nt5-$4;kYe5;TbZ&ksBzX9 ziTx?O$;Z52J-fhZ7h7xM1b&6{vuYALpWY{j7u4?Nr=$y~@_tPwkY#tfgOD8B#f+La$Xfn#04ASJC?)o8Br1x;8R8T>S0%ltL`5v|(4=rbummDPLyD-BKoct=O7mHLZ<-w+g1i z!9GX9+O&4Z794OhIy!^=qQz3dtrzZ61=|*C-YZ}j#hDTp#xB9r`&ahbget@IY#sq; zgF6{eH(|6V%Y@5%NapEz4r#}OO-meJT70dHRSt*OqxAEeAz{fnR1?7-Qq zRjen_fNf4%qLf$cDwuzrOzsuo^6*muf+2N@{ww}6L`f5addJ#?Jh-X1 zFz9hN#OnDo!v37C$7%gOz}81jlyNY1q085C2e9t#ZUNTXdJabv<>x5`T_oDVPsPfx ze>_tK5{#N=@}Ih+eUWOTU4tq1Dm^@%$s|XbK6310%r%(~LdDI#!`B2+XX8i)pAnea zH5CpyHHqmCB*L>)>T_N_q&9o-k@=spJ3aO=p-ocmsajXmy+43VYDNl<##b3R_)JQ! z0#dHTs5D94vi^ZUzG-f*Y;1kk#98f<)~}D^^q0d{k4V%`az&e&k4zy_UgGMo#HBO~ zmv?RCn=XZqKfQ|g1_AXFl1*LBn#^MH`6cA}NE7e)CKrM(SjZDDN*1#M@V1~9DhbXT z>ke%F1#(jd$*cqZS72&?BUDON^jfK`M(iN4$}uuaas0LXfpYAG=d~b)bS2&WF=YvB zws?>>a3rwpAl#u|X0^SYQQDI$ydYHP*6)roE2l;RfSmaamh-2hQ1eE8qyg5K${(Yu zW0&v}hs7fl^;n`di&h%FY4{%bKW%oGo0>?^kz7OGC`{86p>&r?lrBd;B$oeE71)Qs z?#UG=*hnoa5KpCRuKO@eYC|IBOMQhi0cEDr+G5I?*iO@6Lp*_!@{&0JfDA9i#@==! zMkR?18JN!Vn&zcPz)Izl=1Y)z;(w-}$~I4XH0n#6x+pZ!G<2&I(sV53x2HUotr%L6 ztdLyt!0|z>A@-vSf#=!I>@>s%4e#-FL(lOCxl@$v(!ou&4XrpLK;oU_?SE$edNI1y zJTHcn<_w^bFg0pHI)Hqd1o06Vq2e`4z)uhAvpY?m7cdyqf??bJ@@rk-A1L>ZpgY?= zWq-JeFy5FlwntCKFs}B3U)bkAmR%abICD;CmPrC6Yik>0AjjXr7kuX%M)ImMIw&9w zV@=0jMr6GMc2;<=^Zg0Sq033(n3qHdqzjrebDnkYea+9gg#O(rCGNcR!ohhiy;Ns{ z-%j5Rl`aua1SADdAf(lRTC5#%(jhp<8PJ2YHDT)h1Et(NE8j?gcR(omv=<_`q4587wSUV#LF)|e%o?4&a-R~et*Y_jw+rWVs8?KX{ICy&;_LlC_XQ#X2i2MIM{!%Y`PPmhMw_QJ zMod>4Ur_nQ{WGB~koT)?T68p}*V~l}!rSM7Uo*8e%dMae;K- zWPG-n)B+QinU;%YptQCjS>ZGoPS~6j%bC)4Y?veh6QDQS%H_z}8j832W}^o~7EL~{ z@UiPOO|!;+pRzKydRp`h*N7@=#Ab1Q=3U~5TU%?Lm^oNKs@T%At{PDlqMRG($yZM{ z3Yy{W1|ECi^%ieDF|*2Np#jc4q@#OOPD0Mh1Fu|+&_FgSTcrnK=NYOpv#pWVEWZI~ zDzn+7*4csX@85kI|D${T+G|)=DkAV|OWJ9N%^lfuYw=6Y)ergr(#Ei-DAZRn@dL>Z5NVTFKJ+->~IA?KFR$V&a@peos-$y*C+y`y06}P@m6);QD1<^`qKqI7> zDj|GPhc=;%;NSE;RVb8nBgyjD&&~XoIQhO&3H@t$_;AN?DO*^VzV%q9a!Pupgn?|n zF6MsXzq#~!Npk((?x7}qu2Zx^6Xp7cyQNBcY{5|?y7~IA@0YxNmvG=6E8|+sRvJ*g z{vVz0=8>rOI$-PhLFx8p*v0(-0UBM3hv6V^yJYfch*oL~k|&|=b=cevyj@UV=@h7V zG>~)T23HK^_lfLQ?vADT7DHN?TC<3+w__S$6p$C{m5<2WVdPoGqQ(L3r99|W;8<&A zee*V7bbtz9=VsW+z*26J6Pl-mx2MGEt`L;c?EGeVgWsJsmZfY5 zmYk6JV3>IZNBa^ax~*IJ@W&9Z56wk6#eAl>HPnS>o$v|nz7QO18JxMZc=3xi^}OoH zoC%T_tZUQ`tp!M`X>|NfM~T0P-n{5{+MThSo<>7kueQz>{6|+MLY3KCGvDTo+g73V zfFx&ejd&ti{#uJUx?hWfI&GG=sfGLk3Fk#}4lo_~)SP;K`_4M4pJ4?KKLd}rt@qvL z2r7MQQ;MkY8IvhPYYtk7msqXRWR0>elO7X`ITF zxl;3L2p;{4L4O<#EqmdvFn2`ZimTv_;yy(F2y(_~M3O&(cDHDvA!=N+@3hVa%`j;= zy*R>d$D8kGPqb)6b7o~ykYO5h>RdFzy4{byeUl01Csw_+xEv!J*(_qDHxpqEsBdW5 zj_qW+{g;#ydUkgfWoN<5MkvDr%Y6I}d(;Ik-k{+_M?%`vx2G&{vtCN;rK5x%G{bx{ z9HY@mzEj;g=0cO~ITkIjC}9G5i=tA{sKAsfx8DfqaShPQcH$v+m4>`YU64Me}LuY3?jGkvhl-%+HgHxc#TJMS9jWbm>m5pA%-!FM48MQF3MoBv$ zCN_^hR6VPMh`8@MtZAm3$M1FJJrBfjHrE1KQ)PE7CprLledoK*vk~`18y3Qnqk}?y0HtP$7fZ#>O`g2LULj<|YO>?1c)A{%PF8 zRFQBp?5fb4{OLddpF#ypS-239|JkF-rgi{O!=+gl)UCu{Q)*7ibckWn% zrFYKu>jJ>xcYZ1Hr#HGExVlFKM7;iYB)``lrX>k;E6ABjiZ>fA@PGZdXfy~TH*ova z1y?cdU5OP=FcVyx&;(eng7hm6P~xdNUv;iS*Y*Q_IT(`>FD2`{}iT7X?# z-a4ppFIi2l`njz)pUrOF<-OISmhqq=>ew#tPUu{O!9KYnzYH7+$gK`#-PKrr1B|G4ONXf#;jGdPfvP9tvaLP zk{y(Ou=hUGf09u8574M_%9!J1^*JM={@G`rxKPBo4+5Hyen>)Feb^+A5d)XYk#-mJyzT^BM9Thru6u z4<;rXQLKE*!LIQs4RD|%5%01e>18}BB;I_Qt?>EhyW%D-Nv{M1Bze_(4TOQoc=JNRd7=`)$p?^?Ech zB0>9u{)FWN79d9i{w=P-+sv})VKCn#F5P>}2}gdLFVi))Lcq9d*c$W*};xs2BsXwDk>!s#T-?*V;K zv(LY=mb-1U&}_@u<=|H?4;*#g-+sa&5Vf1-v%JXH&vV<~ch5Js!`J!MR$19U>&AV7 z&a<;IkdM2!mH6%Jx2Ww9RYJRN?)AtIWexu(>_Tt3CuH5=P}{b8wJjZK<}_5$xQeHi zC;NNv%w^s7O7ul7VhE#ZvMn*vW@nzim)2cag6{Mu43X)ISEd#`4`%Jk8U13z@S64x z5xB$Oq$f91EK?nlUY-AW6BZD!sPch*GWobqbSmpj+B^QbYDq0~X@*|*fiF^k!}onKT^ASFsP__xq|g=NQdq0yn>2~T;KO!ROm);v5?fJqC6I6 zN$r zi)rP0DF{2HtBCb!0qWOc4H^=iSX1J9czSkKPLxb)$tgq22q>-A}=NDpxo@92*# zo(J2ina@NSV+sI!81+8F#yu#sNOSJg+_^lrC7wYzp2BFX7p-M3x%qF>IE^f@mG~$% zN$D-@SrSWFl+g8Er9Nwdv1g&uDX~}#xI5^!NHdDi}x+TUx^V#O> zF(if$T%~u;DXu2;Z^#=xf1gil7$;U`mUU^%zogK(oK;r$X?fgzuas@gw*|0hyC5LRyV!6H!0ZKIAY=D}xmBDcQTXaP`KuY^YQmONnry@0~HJ zg343C=)i1M2-g2p+_ijV%+%<42^Xs))+=aJq*JUAChwgk)bzIOsLW!fgEtjjh^ly% zwx$hF_gM$rv0T}~Hn)Tz)pM@~4O%#}>DFR*7vb>q#PPE7+R`;ECxXUaec)g+PQFgY z;K~6QF6(uo6)u?sN1@cFH`2=-cP&@Ewr9u##p#auBYUShZ>?0WEqAgW94vR>H0*GC z-mT5ShIK}z6O2G>SWACt`Wie_gqoIB#kg3HO`da>TK{fdRzO5jH>vT=2ZTcL#>%mc zVdIQfxkJCE7jhjM^83B!tACH4#u+<}>6#5&O=u?{HU_sUG$D+^YJ3YK9|8scqq946 zIWGw0fRANKT+HB)K2p#ef9YSg5cVREbGP4(9o9i@!n*uo65b;6AhgbDRLOb6-pX9< zhyzg$W2~5&>W?y+_iP?1JMqf)mLpd^?5TLL<_FqOl(Dn~$|hi@Yj;=t)S59}We4uC z3l^Gl9;zNQ)`*%O#b%gp%y3^!le{on2<;N{WxWNyxEu04D-BxtyDkbF4iZsBCM4fp#MY-C>xbMc6rbKLE#^Q!4l zF?fscw&!jP43|trRlpl#zI!9CQdSR@HTTIi#Vhe(vi9v%!301xsd?cwRgNd1gC)H3GE|RZKW{g6>v+b|LtNFZ<4nx zYk0235%@p47mWl2^9mw)WBEBjWK+NRcO&xYo|&k#C!xPMYE9Fu;aq0)Md`@khiYBh$8aJb4D71 zeq$uJqS;|7t@)xaI({j#$!V;*F|b8|Pro)vVc@{n9|HzzzeqRMvk-Y#K{_JyZN(I- zZhFF@xi+Bu37C{8H?QC@(Q*sZlFQHmLl^saKPOJ)Wv!iR4H;KO_;an;rL-RmK$o1{ ze^#H!1~R7`vU+oZf2Os>3MyxQBJtFHFLFxrN^mrTG>iil@GZ1{a_qBs$Wbojf*b*l z*7Qs$k$DcEYZhilsKMLSnYMlt%Oqr{1zv(KYb67~J3TZU-3BJlQV@v()YVW_%mE&7 zw$@mK`r1aXVM<*CF?TCZ-Y@Vw1@T-jg4C=IlJ|G0hx{}%3e}1=8r`6d8xfhweO#$X zz&aS9Od;=(9Lps<0rXFr#`d^M0di$~6M18vr7FP9J#rxz43k5SA$Y?CH@!wDC(zy~ zi=pdeBYzd3yHgr)WmEWkQXT3NLBbet*AS&VqRsTioGJBHHus$T9FpvPMIv9G*oVY^ z-g`Tz2I=&A>;u(Jp0Nlzgj8qiSC3)8RJIkH*Mi%v+HY#7y2E(GU5oHuUSO86&vTH5 zYo(01P}(|uBAG$DWCeHfF2&32yIi!mZn|kTer$u9TRkQq21UOukTCQMEuNdX{%2x} zqJ@-C7t(?x5*ay3*APT zE>&J+kvZgdoRs*V57)4vsEJy`5A%;nY|jZday`0d%sBH7>+k%=E%< znQBbjfXb&j)tTO-`KdCC{-b--nld*9*^Kb>%v`3~QXl=TG;i}q2_1&yq?>P%v-umU z8q7W5EAyj(S}Ft3ci{InQ&^cWZP{RFm^Fq{F>H$1eU%Mq*yXzqkxt1=Gz8i=Qnad3QUbuU{a?&!NGGKC^ z>K3KCc}_r!d?6LVy1H>VL}scmv|wIrM{^fEkS`>XyIAWHT}IF!$GvtZ?Q8H@TED=V zvZ?<|Z`fQjyhn8#?>rgIpX(mk7u_f~({0W+#*UP&e~LbssGY!q*jL%^!I{ZDReRLO zBgbr?_fHYVOI&&k3<&uR)U$ab+M*r%ny}DXMJ#A+3W9%j=KM=0ubGJ-$j2y0GD+dRFw#aKvH z#HuvQz?7?Ik!05Rb;;4PT9~s$9x+v`l;tb!sC%iL%be2mlJrCcOCvu{?!{MKp{5lvGpp@ zdi8gsffW_AS-!w_$m*8ohYa0MXS&}el$=pfOq0#F;w)-+tDRQ9L)xT1-+P4v3PddN zdlz!Cdmx0b;C9H6gB=wvMy8kX{T6UJV(s*`W%H4qXuLLNg)@9q)utTc12w`$8dPl^ zTlshTg$#c6SergUZDe~FI32cF$JEK#7$8tZlHqSE{5{`%Sy{hbK`9vVICb2&P=ypv zS(Zsb%Ot?u2WiRQOJ=5gLZz6UNG|D^zglYIU;=>GcT+ZnP>u?2=e<+YQeUNP^=W6) z2M%f=P~|fHyA=Galblsm9E=aOwl+gCXPSi&@?UUybipbKanOq9PSeUn(u7lU+C@{< zG_d{~VbMS53d}pSTv-#v+Ka#oHtW)PuRYK;%}7h0PM;QnTWJcOh^tLbrzs16%v%%C z89{oc7CcGrodZesbP`~uB$j4exLhp5G>ibxV&2-@F?S+;9)n`j+gopY*pHWaGWx%+ zYT4%Y8kcwLnf;FrYxAi*EQGogtW5(ndw*Ag0FY{UxBe&~PSyLzo2Lf3r zbXt-OcTBuf1+lzZA0(*qH7P>OSWeR7tE9VSlHX>x)gxGzd~3*M_FqONO3%mKR?=45-D{{gJ*vr;Mv!*u>w~;jN{(Y0L_g%d`o^_<5~l56K1> zU1TqxokXmuw!e8qmrpZLiD7=KX=!v663218Bdhw^%e)~$Qp=or`H@>skKjxln=*vt6 zK7Wv|mz6a`WAml{N5}1uz_;9rBxb2OUh4Zs^Dywa7-oNztT!ZiDtbZU%+9)n&=A!IU_II^&eHD|WFoSKi4?L~C zClRh3XQvlDDt0lmr#I96nJ9#6EIUm*I|h|)@y>u=~@+YsN-`0%Rx z$8+EPdAc{QMD@&2(SLMB^F;U-(3XZ*1T&UbCeOBq7NdqUXvh4GMn26S_~0IK|H9@& z+ZjkTDhi#wcJ3rgzcr*$v68(zmd~*{PWo_%P8pqjL6fH;gfFvkCp4TMD#mwTvCu?k zS)f9rKkC$#I3r6JqOD#iva&WrGx}k#`Y6&+je^`>Kj!y;7T(Ps-yh=BN43HO- z%TR}X$fW0Z<;SHph| zg_ZVu_BGCtyJ;~Qg;xS?mbbg;K(xIsbI1MIoM}B?IUY+6&T-13wGJR}J9;T_W??H< zlQ|{h3c>vGtF%nXsANu6Wp!Qb1=zsTQ`N9N_!gnwDClX~I7g3u$BZg%BEYA6PSYEL zqyipRZTCLNG?gbvwO_ zk15kA=PRD|(D<0?zD%{do%G%Ix1|)piuK|K(G_3NX=PAz(y{_O=JllR(vg#fd4+ED z)N5e3B+w>V;V|C?U)6NXS3HAj9!o!!z8L(E?(%V!g4~zYsw< zrQDMDI$`S6;3f&e@k128=s>BX#fr(kfzv-19Dl3-<(v2tchpw+WbD1*qwWF3m74|Z zN%mq_j6%XS{Nlm|cK$FIXia{2+G{+cc`?y?ry>Bg?L>=~Td(r4j-TqTZa7kaNTg?2 zmes>migUa}({IV47)h|jQW<^f?}&MlLDx54^oAk`1OGmFT&BOfRTm(8L2=+yMSNVrUcC|LAv8zT1_`}4QI(2Az6TtRxmT70JW z8$ne|a;87R216c5OGlHQ{_~T_KV^E~XfgajK++rYadA$8GJ|XL*cL(ysKGAr(}QAR zpMtw7Lc5KcKW{P7t0X@%;CB7=nBTd!q`YqD`XrrRwTiFJdq>LeVPNk0<$CHKLoeIixzAk5$c9lL=^1bCIFd#;o z-~I+7IcTov+Q{Wf>*;5aEM+N;mh#KsL-#lj4gS&MtAK#tv^aPn(f)q|9QU=f-D{7h3b=jppk zw6;!9g`=xhCq60t8>mIB~b}=gfMhf>qF#ji#U(+ntih zyqzwgugPx7+kMoVkmua4-Qz}pj5s~DY6gp84$yZS_4{`BX&sN{2&n!}>6G zGI|1O9D7~3kw?UvV9(clu{j2&Q!|!=2KO*Y!#e^Y)Tqb3 zo{VMH`JJ2GQm*Osd}LhAPip?TyWDU$T!7(L_!YOO-ZaaG zwN~A_>>s2g;sX(@xK~GH^*+_>XB~K1rtmPuJBa-q)<&KPGMCs}AZ~K1G)T;4whVhC zmt3s_6I|^X%fEb?Hn+&{&&Sll?&--`P6B0mUB37l1N~j$a!r;(H3nBpN!c}e49e+d z*KxRHd9yljNLEh2suwQJgRwxDkTVHk!KIP?^Sp#&53FiiCx(9%{~L|?o@{FKxXj*Y zGVT3ntKXw^AlT+|wbOJNBlHJ-EV> z$`-_YZ&liKd6qntYtE3yPSn+pNRahxq181AxwLbPK%_^pc+Uza^3%5{>!-FS9?DwZ zg|J_ULUkAYG5s&Iv^i z%fw7^4L+2?zcgCezxN6=xg}Q?UUzZ{>cr|;QP>(ZktUexlG7BTd_BO*zKD#d9|`<1 z?!N)*WHt4=i;2!zy@}YMM3sD1=<;M-U6WCbsXH;zdtV`Q9e?)1)ugqiDeR%wFlhh? zX0!RH5hjGdc`J+6YYJ|pk1EM#PByia=!>cGh6@s2?g1yQJ*)Hpx_Tm+n=b86cNyxf z_w~OE5wz9Pbl+4Di+~=Bk{ESa(jeaOV$*kZ-s^yYv21Qr&hOPtO%aobXmW1Ap;=1R z9O|wcgFUwFMYua}B0arTV||b=<*a{b z&q+V~y1M$-%Epz zAr0xK6LJGYu1S@VQAAz_%(&&d#9R9)F0{Pj(hfKyE$T1$u8T>0FajskHv_1+PZblB zrxX zKqspS%=I}lY2uQ*+MblVGk|Em-S1;O?aWW~=ohIS1-yyuyi*ESPBioLC}xI@C!3Kx zSV`{=Qrw*0OPE&mAeIVPQ%OzTclR#kM? z(4-KTzODk$U2daEwru|XWUN=M%Q+J$LOlAxhU>SZ2=R2P@^#zBY@oSpSM8mrvUOvo z6)sl1OKMLGWBMp$nl*fQ-45UQp}8a2__X_iXZTE{0v;%|?GTbnD=GZ#j1_P8H*$3? zJaTV4h(;nSj)EuvY1L^LaVrCh-+Rpr?NwcQxEMUNbj6yR$gw#7Ep2>n=HdqQ^eSuy zI}H~8jr*|;fY{?#@#to9OJ zr1f@oD49>(*vCV@F=A!&=7lA??I*gDtrI!HJlS^dVt`jT*692*9#Z5Z^B zeM?=C{I^CbsMa7N&PPu-xCbm3#K7fv2B2u%UQ@0MCG%seDj~%IB1Mc+kf06No2|1J zVR?XC>wpyXIPZwb=)AZ^v}em{Y;3u`w?cf+UW9v{S!j`Bs4D#l_Kvc$l+u=(m7$ zo~H{s`wU;9dOj1>a!x+IZIO`ZkWwe{22PSvxr>Mqt*GpGdqtx~fpNZFbktiQMRr&B zOCN8m;ZH@ghqD(#oeoN@GAyQ{8g$>PS4y%?^Iwm8V{Qxv?B}esJ-ZX1Qd6{AKkAed zqS3p%A^htoH|*~lnKFQ=?V~?MBR)U-GOFa>a!Nkqxg{SB^;IuM+-Pm7JVMXyH;wPB zG!^HYc(h#G%Is|KFt3HHqObTwtaU1*yEYkCSk07UzRzc0KT>IL;UeUyY`Dnrs8GT> znwmMs`V?*z%>S%z2)VC#EK;ADdI$8_omOW_RiSdSeLPd}Mf%RQ(yi>Sh?Q6Xmn@D_ zy1;qEhmmm2yru-7-xtn_g|<+ww|f$;zDv zXma=KXWT8PH?BVBg~@%YRfiY(;fagEMU;_5+x6ACT%|s- z5=q$%-^GVAaiiR(HnE2_>?NLQQ35gTZQ9HUhsf8$#bZ%#Jtp;$_HzCiE}5m)B*dg( z(NkwWwbr`iZ~1qarY#nJmWxF5!b!~^w}QYn)0*_5 zstP$XPu+`-3N}Qc=KDM}JG?||Wq=aYO#md>K5jV{j9KiC7BFuKd9x&mRE#I>=U|~g41j?7gfaDdrl@MS`1-B7 z)*Myr?OJ`?1%)fZLSI8_sdLu#e$7i++huBHxr=T*%)0q{;6Y?;)3*CltJ47hx^C!5 zc=L>#Dj%8e<3G1a1<;=flKEWb^n{k%{kk_h$KZ%4aPvnSaJT_0w zh3aU`92N9%*gG2d%-E7(QiB&_6Y*a~=g|s+{-e8g5pescX^w;Iz-P>pFN9aJ`eWJ@ z_S9)f9|EEk5fx~n5$4Qk}p zy-x68D#hk1*va6#mL~@-aWFaU;|nDKSP&Iwz>2>o8HZkJ=-}FWo;>5>c>B3?_bzL; zVc8CJnUnX4{inP9=QN=*$e&iI@+(chH2*K}o%39(_Gf-vM0@*TSK5o%^X5xm>fsG# zl1~so+bAYER>MiVXEB%KHNK%g(a2Tw>olkHRj!eJzV%p68d!|hfDv%FY-ZxG29xI{ z;kbE&J4e-%2B(jX;sg5EKzgV2T9qUFnF{TuU{ppGjj(mxBGc4*iU|9Zpnd$y#VpRD zCU%4$@?a1uT$oJZ9|*>nB?ClFOC3!LMojB{SM&1zTAtu*!s~+{nDz{2xhDC`CMzc{ zs=g4z@p+x}js^{zbUwAfosRPu>?Vx{D53m?V*s9_`zr2lkvuUCH&yF!UUkW7&=9lE z3hr)5zuvUx9!kYD4CpJA4g6h(mzg`za2c)uul?HBxa{a^DH2v@LA%c@=p!^Gk%sMu zaj7s&r-&u!0X|NJd4=|FP%v!E!|~}ZlhDba`vWbEZ{lq)Oe%mF9d8T z?*1C-sBfz{qZ==^JHd!JEOuOgywLBBdPjcfD;V!@zyb5V1m)}Bq$<%MW<}@qXnU$o zVQdS}Us6TzxOqc@;Zfl%;|sX;t>5?u1%FpL&%0w6CIW!Tt3$fG8_wJ)zlu=c%*E@bxu!DTO<|JSH;DRsgmj~*=8U|J2BrAcze?Ko-naOI zjN5JPwb_(3CDf(j*~9xl?z+;EPPvVs7Kixt1l+>J*4e=wKpoEic21AsMO%$H4>dCy z(-0M{Kj$KZ{q#turS1EKP;=9b!QA3wZzlC5^&ye%+d-GpOCg_v#9^^X5|ZEz<4~=v z=gt#NHcInJze(C^&HaGtV~Qd=l`^D2#MaCV++EL^Xy7HdP4(_bxoe54n*=5pjLg-?kl+VtQ*Gi;hIpkY zxX`{)2MEkIs`@F?C1-Lu{`qeCSBX*o7smweDCqs1*|L@qDIb7R*2cg}!z#sXLK(EP zE7m*k3RpW2-O8(l03dMFfLIDZQZ{~GFX?LOG-bXpFa&LmzrF;bPh zuP1bnB3nrs;*S}96Mvm|jx5UjtK-t^?DGc@osELJ2IxO?DF7K(FdJBK>>lHRf;&Xa zhp|lIu0)DB-1CaP#5`azzm_e2=wXlNKP(N=ybhig&rzUTqu@uMh%}a{V!qmg4C5s|O|MNj@*Qvgp>(MD4f9x5=Vp`|w!}0rs5F{Hd%g@7H&nwcmWg zgFY#$w3OCwO?j=j7H29Wv7~nX&~_kHOpe-2N^g?Y!MuSccBi~d|EKM8d|!!P*kXWo zj_iS7V)W9Bxar5((r0n_O`clZ3b%Bv^fBCd=zj=1&u})|`0wl8sw!%=_GrzjRU@=! zOU)FuN37NiBDFVNs9jM}yS0^=8MfL*tspAIh*cwqUF&{w|NqbP`pI$R$dPx+b!A-V z@BDl}-v&Ty5n{Dz|3k1)Wh;w{t%VVXwnOuAj(>~Y zR_;%)o2`wLQ`Rr;aP zJUo5}#MY}le7uq&61Cbd)cWI6-$n`VjlrisBn?0yU(3XiZ*Etp@nw89oHEw!|2Rl1 zJJ9jmgYnm#ec&52#V@)hj5Iz!PlN1lCE6CjGn!EF;ZxO?Gl!Dc-afiVuLSip4DH9P zJC(%|{Lhe+=4can$>A6YgIg-|hgg1vj*BA*^Vb)krA-0Qoy3Ri=iA7u>O zi+X)|b9PomN&Pn};X+BTGBJ?iTx0#|7=x$tbK_xlm?88bJldg+@sA8rwpl_bfEp#j zoU+v3v2&yU%k!}hfr-GYKT~I{E5DEG?hzb@D3!&zh~|MQmRZnWNE}S}`~dy=vf_jq zf!OjtgG6M}1w)X319S;2mm?;gAyPuQ2mm!6!F#^DW`r~bU$ud=3-sbfkx|j)mPHF> z>Gfha;Y%@VEnqr^&%9~Mf>KLL)4`N0A@p+K+aO27epsz9K@HI}hi~O0aGo-<$4LgP zf32G`=_N?t(~Is8yVmsHa1VY1;{T@z4hlKs)gu9TmDbL#n&pj=NK%xv7TE4?Q@jDd ze;mpXlkJ+SQ>UuN?M|%2Bm?4iti}ZyAg&{~KD(GTH%~fZP@hq`MXT6L;&N(_`|%tv z2ILnIP@?rRK+b{kM|ihU)Gq%S*#Gy?c_3wIT!*&-g%}SWi8uSlOR8&53BNPjJLQyb zSV;0Gam{GkflapY+#@v}T!A@k^H#|_=9FgZKijSo4AYZ0*YVGRw~xrSB^j?^J=Dds zrF*oE+J?7^h%2Jo!?MPo3t--|5TU9qbf9Gf^fXbTAUpnZmhZ82m=tK!wRO`yZQKCO zuaG3;9|r38CSt-OWW{HS-`oh`mQP(uF=;fjF0zZVneZpraNeD2M>$#ra3}n6I`hs# ztX$q3<=2GmynwUCV~0t_XTrI~gj0hf1J!NsfIFCXbXG_!m&v5=xG>+WYCPM#g^WFt zN{ z9>7V;C%wYaxnJw&GPrF#ZQGso{Rtk`43@J=I0MD`7v*ht_Fn2am`oa6#JOCbw%O%0 z=Xq8(5ns+d4vSCIJAV*9Y){09*QEtn+IZnDALtuTy2CuqkB{vLpF`b?4x2CrMqNfT z;)|(M{)!E(AVS-B(MdNDz>PLQT=kbpFT7T=KHZvYQM8`c%}<`>^>NOLgCb-@k{r7E zu1zhpjza+q{3c^nFrX(%DJ+}&x9Gd4!iWje6cJtTd&aAvAqoZhsVs20_OhZ)GF-TQ zLf%e$u6F=8@Gq4yBm>>#GJE=ADhM9Qhg|_at+WGac^&$zlW+3{a#n_i3KAxvnQ$MFYDTe^sKd3;9H%x<5Y+wdP8ZA?# zbEB||`5xyCC4shV;_7a4dnlY@$uq6aEI#R|+!1g&QwikCOI5AjQ!JkzDV*!~+Snj7 zmHx8jk-dJi$0|Ca*vbp?g9#{h?S|u|=!a!Ci)CnxcGAyB9HMI)*RSx48V_qKMA^eZ zT(zr(CZkyEM- zxBb8Xu@wbvDuQFeq~|S~CWzBuK#@X5DDOoH{8-`0qKTm+<2m+Rwd~J}jgM|)RW9T5 z(u{pB0@d8=?2IZp$g9TA zn>w5{b@9>ESegXPmvUTwuiGyN1tnnz$$?ggPLx2)^7 z0x+yJ(;F(p)zwjyt0B1XM{yXLMV zC==LX>eQgcCO^h`N;9u%+GE1MQy zud_Kk%QtJmvJfCIQIqPmJ1VMSw-DfRqw;w=?)!+Z4kD8ac|af#5x9r9)7~+f4A%^! zXONpgqS>0N(jd^TxxsIo06{llq$S?9x#SN%J{;;jOVM{nXGXQ24G{SYZQ26^4LtV@=gzm*)|lx7 zqgpNSOP<%yYCDkjgWNh^$4Q>om`hVk#eUtB0>3Q6ulONd1_uN(S9yCrMOS)(l}I1Nj(QXl~S(Yr{VQjbWJe9Nw|kizyE$J-+u`A< zJt2GrtH(f!=rmaV%rhYY{Rt2~*@8CllmiiF=!6nyt$qmOaI2f7JdK%)dy6Uj=M1gy zR-kIKe{RHbqv8BT zCt0WJG{SSOi{eAtor08h7DRID;<$@T3AZYLr(93?dHeeog9XzLa)8U} z=XbvZLp3HX?C?o3sT58BkI=QF%=o#-62z%OGQ9k|rdkrX5Inv<#V#^q6`?Y?m~?%w zlb?0ky1g98_~>ad8%bzqApaSDwcTI>1AI17%5Ds|VB)$(srql~L= zkYcJ86G#vhXoTY_Uj>m>N;`4> zxdJ#(&-SYudqyrkUpEv^2}f042gk6zZEkhVM%=lCe6GigHf~-sZ_wCz^3cGv+g=WL zkfdYsOks2;I7XeGFyH4UJZ`TUg0K(9bT?goBdW7(W>9!*k=1eCai>)j_nk>6#Vm!^ z0O1J>_CUOLz8m5McGd|G3{>~9nwa(|U*vUq+Ky%?l|Pe*C z2coo(%`(LG6gi3r3b5w7@i80scog78E96f@aGa2vN#VqJh@A*H^yd4ebP&xc@ zyg8K8lL?jYwvdZI|t;9!-MJHT0Em0T&9nM5d!a) z?TUMvK2`}@ocDS^>Q`B-iu`)^_HA$2zJozmdTX2UyR^syF(o-8i(-941!#*&d}ymg z9{!S+$VRte3(6LD1F~8?YLZPblr6P?U}-UC?-2wlZTos-yRpx(t@ZCZMebECPtV5V zvwpy@54pdP(sdqDK~TG&7f$A_qi)i%Kpp&#V{xEM&LgmSKs*l z$luNLKgCpe`9}MfVJVb?)&J3)QAj=G3AeA0%VU)J_fH}nqMz#DQi{sUjVPlMq~Q(b zAN>15$0%z5@PY>Iu9CmIMlrTMp}zm94@0R!Rn@`4;;BNsi}>wZ$fVStYujgTf3SL+ zCs9)B5|Ou;IY&yP>@Sy6>{}bQnPV9L9$Y(qwE2XA0)8P&F@IHQ*4Iz4(IXhl=4OuX z$B40S6ds&i4PGm_WOoByS`}Zh^6OypMTkOsaYL)J@WIFyMjDX$*S!aX2?kniiL0Kx7+@ZR7l@c^5dlg9_I1K z7f;yYHJ)rFUUU;{m(YR9{D3u`Q+W8T6*OrE{gwP{>oDXO+4HCMfM+(BG@%h)*LwgGiLHq zB-|JaS%J}-7c}jf7~OS2itw-5zSHgFNea_l8t9D8;$K-sU|fR8R`8K_xRGsPtb7dTt9ID^iUKCUff=_y0=uh_xs zkCrahzVrmKXD3*M#b`SoyR7K`ih0Qd3afa-Wfmi!qWtnBo2JmcLLuI7yqoWD`^`jS z+TIisCgKz>hL&krK#hV4!FsgjaeOaW7I|ChKC0Ln(1>i|akedEsH*fC@O*1})o`@^ zLril$uHSC`j{jj>lc@8NY8GJJ|3CpZ#Iivj$2&A(^BJa%-dPjg{`u1K9bW7nv)!QN z&_pud?smefipe-POuVeA_4pQkp7c;HxgwxkS)XqDi)7Xuc7xlZ0frBG)*s|0crltw zRxvzROU`)MZSTJ1FXkC2(kyc03#vAgM7asG7$ytN-qZGfd6ThTO3k{6%%ccB@*ENf z3-))B(+pzmxRbNbj$u0@8}1@qSGO%R+0LL!biV77t30)2wNew)z|Y@1SxhU0h{&ix zPLWxtD?BBv-YxN+9+0r=V*%RqtPV2Etvo!~2x?w|h56^KV;*(^P_yxHMNTyAo?EHb zjVzp%Hwo_w7R`YgE?Brm31XPta|O=qYQ$ z*d4RlQj&K+q`X&NrQrcTa{acv7xVruocVqvCX2S_`P1E-mBKDCXfJel?aFD3FtF8- zuX<&Z5I3M(tAnQz6^U-vA)yA&B7&w)U;9TmN`vlCU~4S3&?QD=ipi z4JT9{(R$e$u>{A{fjj%SkwIz2IS&VUo7L0qCTst*;I+=jI{fD`{m#_B=ujaC_iV55Wxob@+~v74Y8hq^|FeM%IaG=wN2qw zdkJ$m3!Id3YvtVD=c47UEF0@Tups!E5Mj%I)Q%S*4UiNGvqFI?5<;Bv4Uj2%XU}T~ zSwp&f=QLp8hx7dRpH%xemfve|-*&T*t|!a1!wHCz6hqx#Q@%X_yebOMDG3$bQ=f7=lfepKJ4Tnv-$!htPb%E
    imD{9!bM>DQ~ag>>&T9h@Vhd@n>iD<&xbj`rhBNz>tDC@148jhmW&@OF!FKjjR@E z@~F8APq&Q=;L;1>tGcUj0!gweK>YgnOVpRYTwe8a^HRCOh^qXRK_CB5U)`<)jWYtO_#vM7Km?9z91eE(IxiEfPb+z!e1v=E3lwz9QR{;1c&elN6R|7>g}Juih=r+++NQH-~!vmYzksW&!4wN7H>>Y(j9K`!*h z;2po~h2fYqf~~v(0B7)Pcf@1rmE6(PJFpWf9+d7=`m<_BC4=Qo4UD#OdnDCaK6?`) zZe06r-Rn?yVFIOkPatb;Ys^D#=Esy&hB_pfxM}n=*Q?kZwt>4LbvMsJIo~wj3^x6o zR!AxQ2qKIanp`eWo-PPePSQ9w!(9hc) z>u`ldd3o%FRD!tz3%}a}!9}fzwpajZxE1kZO4iokAI*@k@A95uA%SVXhe0xj=&a#O znlaM2P1fF&VXl`*1NP;FAS!QF@0+XEg9=?aW6ZU*3ah~-2PRLl>nlbsa#sF^a^`Pl4zA_cbsttPyto*uQ zZ6mx(J8xj1r#b-gpmWEolp1&^%jLw@UhL(=hD6AHqIjdW*`H3+lE(Fc@BR~Jji$cG zV05v6vcxgB19jS}RSO^grqwUC>s10tbkmkOf{cOL@xDllDw)aVX}iK>N}cBtW%oDl z#Am^XUT@c-*MUn#ad&Ca==}jdr-x?8X!v#9c>rVQM~E6X1F*|p=ERQtN;SxQ_pmQ^ zOYN?3`fAd*aEqG!UiLXfvfgg~k!x&;7Sv(Ljg)z2w&{T8C-Ik_NH2(fL@@|1u61P_ zG3V0-w-cwjp-di@-aLr^ohZDcuRikM3c}D4QQ6k}`Q}T|5jIDdnX$-8IcL-@ySKMT` zIo9RJ<2y5LH=8XEtN=ltvRM}}Rp*7@Ku-YplkHjAg5c=p!x9YPyF+W8fm@KLLb{JL ztPc{VnC}M;5U!K~*%$>5Uz$-3zXDvazxnC$a`(`uAqV1d^1S+Ld}+E#&&0QcZ;v|j zC2FPQc{fb++x4R#4;W@OH?PF2r^!hSN85T7M|bwd$niTc@^mZ~K9EiDHHUflFG+h8 zi(8fvz6({M)Lq&aa`9i65JbkpT9O!n>F0VZ{7+ewKUL#v#H@6iMPtw^CK|{?9#! z>6z?LY|1B+1)Brqqj?Y=Rt;wV4U^LmbZ|bz0)9PO$%EOeY-&<+&ry&K$nGm)u_ z-~ZvECqVa zSKxd4>RUEjQb9(^}?ZO2VEL2tOh;Y9ARido2GgA{8Sd zP=%!pD0Z&*tQ1=po7M1Qxm|2B&irz{?xXE|p}+MODLq-3YNhwa1NP+WqqlDK2ETf= z{)SOVny>@PKo9W*qBn|!j5B#ZKBzN#NFAS+JMgKvQY;nuS86Hl@h^8F`r7Y1A)Llf zll@b4ECZ!^QQ?>7@eo5Z(d!B>o}PDqbHle+t|;G9Wnb*;spdNuC*LWJ zZ@EfLa_izc%xCtn(JoY@v^VPh(~3;;ScF1EV*M?-BERvjL{E5;XKj8}nzu9^J#kIG zk?pVW8c`{Aoy`OxIBQrc#OxCwv6r~Kd5gMQNhO@%U5k1 za(LB5&r5#y1*t}4+)_oMs*M% zlSrc^hnoPg7N^~L<1CkbeCLjBT@8wlYl`HQdaH0T{|@Mnng}+xC7bX-j7xQ%Co@l; zTF>$mn}s%hkV}Rpz3;UD3e_i_p9{%a5xi$=ky8{twB41`IRHA*S!%wx#o$WtQZZhv zmX?(oK6O0RNj&F7bVV)Z-(IhTJy#n+fH9F)>3Fud;f=p;FxP2u^9DawLo{Dj zS_q$;MNv%vE3)xn@V5T%%Eo;Mm`X#Ago)WwZ0WUP{=ne#Qbm&(h_=;pv!d2Km-ofD z3ysUFybRgMr8Z)A`zFg3frOHSaK$d(Aam3d_H<+QbVPfMR5}^ZFX;xyX=5wnjZ}*i zbvFfU=NpncN3X|4_Z+wgIpkpe#BQxnep+}=(srkMj88t!+k$0nJhjgZv%4}Bxoopu zgVjdYT_LWTUZd>p66fVkd2Pb0rc z%m@M>o7?KKK5)o;4N@nzUb#lN)(;spRt znvs+~m+uQTY%KVN!)1CLH+1+jIwP^cTjHmaqJ}<+``OqlH?=0R*POUG%CR^-rXD3`tZ))CkH~aMu39rb-kh{K4`{DOAyO; zc$6{!O?CIE>A|Ct-DSVvtG$u8$%JT9rKOzv_!q;%n?IXVa*O5#X2m;!f>7jwPOkAn!UMOgd)*nef(?@cf z#!r^(=M?N9koA<#FX)WJ<&Cg2K;*c1WpLNxx!gJDNp)b|tR}IV`XXN+)J$wlhS(1% z2aTf^gyyhPjc!3<57P^gIHWJzs`|3xQ6&Y$bETL<>!v=Q8}oO!-F< z6b{fkY9T8M&Gu!UA@VWEUTcx}6@hD@cXr+*$ik*_Y!=kIc7%!bmI&|+`T8-X?jl~< z8XYJ6&x=<9C)*-FmV>jHdR#a>{!00Y4yv?O@fCKUmm3K-WW#h0Ep6XYlf-J{ezC6f ze(AbJFUnAL;6Wd45<=%ue|kQ$G%ou2^OpnV#TvOb$W6UIf?<-C7C2b1S@GPexC>p% z!AcOg0w6YRY{dwBI>%IvF`~IZ-}) zdeYqKaJ2=vv=hfq>wS2qE#)b>B!w@(dfj45M)P4BaH9`Rf~ViEc=P}6SrRv}wq(O;5J*}B}r1k2H)z31h8#ih1CG88^_c;nObgmXzl zlua$6)9067zF#6u?mQSP)Nb_vfQ`Qwv{o((8{tI?A(q?3zs?IggO;JlUPjA_? z54@stiJjbWJ>$vqpmRs)CIrz|{=rUP^~l(r<;3l+-|Ug6qps@|1|ek4WQ=@x_H;k~ zzKN+*Zc%{!#SKL4zZgBFV~{Wa)Ya)R41dL=(tq^}yyA`{iMG~f-634Kt}yE(zLG$yZRBcNwx_$)mdtLo5EK688_bt!+sY~EMP`=6n_2-|>*DJfIHEZNW$KZaQFlr-TU z?00I*`$Y$>3t@dOItg{2c-fpd_*$yas!;1p<>m&Oi2eGp!j5)1i!GqRPJ6?u3h5mMW5vMZ3?CaicG!+Z zHZVq=6jlL@5K&f@{e!m~l1!S(=2cZ2yRv`jzS|yy5K2W9*HTh0#v$8W^SW`8MKD$u zl~K@-=f-lF?25sogd}qTG+XjI3y4Votd_P*jo3NL=GfXn=~eYiXdLa$Z7cIWxPiS< z1#pdDxR&I9GGjDWSuN5sJ~I#m$Nd>(t%!8XCt8S@d=?@SXDf3HvOFYv`VTygJ>Ai1 z6BmL)ot3KhOVSJ^S?i8%O)XksddmJymTsl%mrUZ|&^+#!0=;S@KBY+-p33a)lUq)D z1&x#5cZ0D;Bu=PPfJfext3V>^jebMj$AALI8O$sN@xxe(xa@i^X(lux6m4tD7hG80!jTo$?zpF*- zgi7{i7!Ko-w+ggIR@mKo1(jOLyX3|+r#f&!AccB7mX@!1m966LrI^F|bQ@d8DdmOR zth)P7c^kc+jRzHCfP2A_eJ=7ilWB$gYf!VDzEdx9}X8KF{TP0#ZTP(!)HIcb0` zR*xj8XSGqK!MkEe$pj21Cg}#60ar@P&r~D{Zxt!|R8U|Z8y)J^q^iC<%Tr3bAy77o z^FaIEjwx7h;t(_>i*rX<%ni)-Mwo59<`vYap`@WeaT43`VNL)@JH;?7g4tz?GNS>8 zQMklX^xJJGu0UA$!#&OK(|ypACt1Q{WVTP(goG8KIH>%dHjE%EfAQ+r%(bQ=!DJ#) zkF!kyH&_bZ2Tz@@RA}8!bR1t%vc(0N;BDQ}-pL7thR0mRGx~x1Ri67M-g zfmzo|B)JKt{X*MB3~UtOPd&pPEx_$m-Rd3cjQ~lB-sU*G)*G?YD$gMq?`>~rcZNbx zpv{{}ZK?twx{o4at*mDW1n#p*EbjL+hSr>(aC6U+qA4zm@)uU8Rt$cDNLF3;d;h~hl9KWgWWDP2sc1&2|fyD`#S0NFc@n4|y^SnZsSZkVbTP2M;RP;gKfP!$};T1*N&kfJWM z?YY+tYELCNJ#QKdfEektMI(0nE6!S#_Gr#V3D&lH5Fb{?9UTep*jdZN{1{uKi&i-C z^`vcEea3LMPfl8XO;u^XfA)!+z7IqJWkKNYyOes}BFi&HoA8aA>+uJ1ZLshit^=Vo zta!SgX^wpodc5^m&b=W1LjF84DqF;_CGE%Z_5#n_;iwB+|8lL_rIY=B!3T}kk{Yj3 zJ?-N+RAS9KFsa*WTP(p1RcHD;%&x)dWofUy*3VNje%p7~C)ucc=!>_vFpoxMbFAw1 zC;c~#u8PuYB))EaC?3?=b_3U9Mmbg_*UJ&4e=>1rAhkfQVHRGtQN)>h#aHg*(%;!P zFVu}g79gI6!hAoYUku#2s#J1IBj)B)VMAZe-wW>>DxBim#2E}DhlcY}4lbwwbc%Tu zram-K)r-$A31Ku-W^N|@JwrT0wX!O$y{VZrZL_t%qp)bitb0RZ5Ouk(!ush^2mUFC zs-7gScFl^u|I^O%EX z1u2CjnbS*gdXMN{?R{bqc@@=^`1D6VJ-g5+ns6#3kF$g$iIZ2CLMPFDxe;E2)W_2h zmv~)kbECMW<`b~DVK|0v^&I$4oB1a%T+!kYC&Ilq+9tJR(ctmG+@1xbD1AFS2$h?D z(ALB`Q01g?t5Tf!*)i={+$;uBRJru1R~2MAQ?OotrcaTibe=?g4Sq0xRJY4k??lrx z&(KqGu1-FVBVxS|Awj_UasMb*8+=!FaM%mV;b0~KTIpU;OcNs&)1Z@h1vDJTUGZi0 z9G@Q8$Z^;CkSeJ6wNl_nd+6n)`a)G36Xv9v5+Dh zlD2qfv67F^dw*MArB8|3V8hRgL!P4d(Xij^M0Wck-_yxj zK&@dF%N;>Writ%;xoV*|fz}%7y8S(9LP^>mvyKDx%a(tsqOUm}EbX4=@2}?==lhXH z)=n2j4WmZ(h9a2vH78Q19`$h^QshfHKI0qF*=j#7`Px%^byOemnA{3pYd0!AT%T%R zUFo~ZL&<*bs>Sl^&^-Q1Bkr~l^)$I%b7vEmnxS%`ciw(FU#>Rs)&F=iIj=nf>N6$Z zNoaOFSSvf`YYhzz{7NMfdYV73cA@0fUZOOvdvM-#M6*Yc?Mw}+8qtX6sixGdzmYqk zKPsd25!$}E`gv(QPj1$~Z^GwNHN?W!?{8wHC|~F2Te%@uQzi~Cnft0mai44Y1P^!K zPH`+OU-+axVg9eJZb4RE?aKkj$XALxhYRvJH0AmJ=1ldOda`o92A_7sa7aI|s`9PA zdA{WlXL5Hu8wf5G+ee9-{)L9Kjb%x zawrWo-<;V$QvbGd5;}S<{-I2Y!=Nbt$jrL_6V<5U;NpTef*e;LpZaYg_kS!Uhx*_P zRiiGVrn3D0p*NlxeZW~jCTqhKKL`CX}dS38V z-iv>!=p%wlURsB}sgOVso3Q{_d`2ORN+1<+I*o{#%nMyc=0 zfBU$;`JerWul=%;N<5N3*6_*tJb!747?OYY(jn#V!TSHwH@ZA;QSeRpBcvl=tol6PwIiYXALt0e| z?m0e9y!T3bcItqUGDC7WNqR|{M3?|!@H@QU87?3P=DKz1L-QE<>Z%Ey6 zRLoU~`kP!q_hJh>S-?JXL6Yab(dCV^Z<7B~k#=^Yy7xQN@aJOKNbzvD{Gl7KlA)B~ z9jyvv$&PacY+R5S)u~tPE~6z_@zzJy#n&t)=;HffHUikI#QS-QWgv2rEDbV~ma7Bw z#UUA~Dtnfv`DU_HVzMgAUW^qPaP=C&6WbqW;?N=}o!!M6R%36x(H(QG3RSNqEeGH< z{-Uigwg!49all=fGOw05H?!D_xs~|cPfs}DjxhpMA86w~lImqo=OX(nW7|1Nql1H% z?n=L`(kttSHz-g@u(_dGqeM|a%?8}#tw4RFS1zm`$wvOmXKbzveEw^C;n(k1PagLx z`)(nLbes!u4`1zd*@o2iI>WSGVI1%1IdCfS^*lvIGAnS@68go>`VSf%wzN(dP0o3i zEA(+0E?3>V6ls*de9~Ea)bzPjq&RTA-orp)uEM+toe);)O2QnJ*l8m;v~63;rz?6& z2-}C=M+SJjvbZDzYgou@ge0O#%bP2rz%!{+t~+i z(q~~#v;KG8ODb3Vf*w{B*9HY^{6Mdyzi)Ya+20c4BjQVrH8KBSqC42A8H_TCKem+c z$Mrvk3=LKF2kf^_le8hzz$_!f=5ui~G-xIg{(HV&J22!G%xs1;ea%|Z?u~U}vN-2L zccdog@X5X0Zs}Iz_$r`(Rzys$*Dwd?bU z1m}nviJ)h+bHGd~fxu)wue2YIXcEG2h> z{ISqy`7QVR}u&N497>#m>>r3EuEYmhUlC;O4n8{OTCTOO2oIyp`OV> zz2Kvraw>}(=~7bEWAGy_cO?0!oYJCRRdQy9VNL*QPY8c1LX=%(8lZBKLCn2;&rnH) zeAZCDV!a9bVZPRHvLR%Akcv8Mb)oGt1zK6WsRIsjqi=H_ zdZ4MYJq!_Ov^x0v$}_I-REe(93H@P2xGa|xZ)3nx+^VYf=PATHfE~u5@--FX?Z^X2NkxChzbDjOHzHA<)^8X}R8t&AiSvz0xlAPuCs-p`H+W2I!q4 zrfnD90Q$1v@*$C;DTOBQVmiIx{h~m2F3Xd4~(;#6XN|tAnwgQZPtUCVS`r9Ge9Kt=6ALfA!6>uX2k$WyriHy zh|=!XG;dm4JC2-5(7oF*QMuzS820-vBTrL^+H(_|&KjU>m-~?F#1Z_c0iCN=sj+9? zN(=QRJgPM7x@qC~oT>V0?t~dJi9{O}bth{R zPDd+wWzvIR>pmMDTJe=5<#d}xV*x_(90V`qj>6u6@LM4`-F1qW<@Qe0{dmG?BT6T# z^FA!Wh}nuTRN6TuhiEy4blOjAz5diyw!v<^p4#i0?2CDbf1V1I$oI-coRglU_hnj? zwoO{=v-uqPEki9x&g;m+8{+%g*gB6>{M?7Tg?EIh#hN`(WwY>d;Zgw`Jw;E2>>wpQ z|3?t{-`idQZqJ6<-!nsQK@w*q!SN}RmM}5LoQpb;UpcD0HLHgts3)r1Q<*x%nwX+) zf6>LRaJZEAhUAIoaD{Lk9C+< z>}bETb!ew(LALvs>RiBA9QQ*|^_lJE5C%LQp#_a^-2 zDen}Ck!(UZ08E6dm#N3Jh?R4gNLJfGxx;XSI)Y&(ns zg$>|)ywlwOdW$WEXUDWgOPC-W?pOnVFYHcCRDkbm8BQ&K@ZQcT%75T%qvMcT*~S@e z3hw~$iZAM-dC_SF47w#fH#_sN9TTqw6R5?T z@bQt;tJ6XlW5c0efquNhNyRoN**|QmqfNqo3Szw=l?W6gGdRmTx7>bau%dp*rPS8Q z$BhwRWKs7_V!lCr*Mic2nSYdgk#)&TS>>yVl0$<%JLVo3@OK?!D9Brz#3p)tT`4ca z&qu;0C{E=mS&(=umRKFf^&!jftXWm3i|^{LeP;1cP?%Is8-JDo7jE#canngG`Fo#< zwAKJ?lZOiKgI(2D1g`xSX{Q)IYv|qbv|xGz z>ca};F`hPXDYvt+0Sy*wc|uDKr49gz3C2DW4`NAa4yaiRO9ji8mkZN?e7gQct3x{% z3AYapKzFE{Hk>&BykVRHSAH{7KD}l9AiE^RAWK(aJ#8o?031P^ES_ML6G?Z8uRAw9 zNfGVz9Erh4^tLZK+%YN+7VpWU&06aURX&Lv=~9wPfG+Aq@^55Nj6|a?6m>#vH6RYq zY{coXi7%-oDwAaHO*le?Dc%r=6Vc;y=6Sou*3n3%%gH?MW)PiuJ+4J^SEoDB?`io4 zzD|M_+;;aQt#~9Vw8{Iu(@ODBY!}^;QcS78Kz3g$IMkmt*l?dH+}UETquAxL-!+2Q zxJ~x=VYZ*4(@(@hSxGOsO^XeEULVONdW5CGr8DKWYE^Q2V5uvTPMPeODGf#X!C-mo1Km95bRS>Z=S881R3N<&)fDZehwG7$T^RQAhULz zDinURe;VXdFD*Zi!bE;3OALU%Ur))abZ5tS# zX@0Qto+|=rq_QQ;#tDse=h=R5_^89zn{F%G-t(3v2saTV6Zo!<$a zp`?-N7WRw$FmmTnpZTZ3@4U#xi;Y!-(1G4wlUnyU z4|OJ_azZWzaOjTW9r49_<})4Mh-Cd^Li>3ZP?S_kA*Ni5nH;@e;MX@79c~W%OyW7> zQ)vBw*4W-pxwDxOI!W5DFPpR7pfuhEgjH@#9b;JR?C0zVwu375_V&-|r-Cx%GNs&_ zvn=66V21COLq3!|m!yzd9W1_>$gHg1IZwBq71)0D8uX-*ParAWiOeG2@In?{u}FYg z*X}Zm&RUQEI2!1#yl*t^5)wckD^+TEzHhwNZRYVXKsEluihIdl$4w=(zuZyH87W72-YLCO{S)k zXn1)x%GnVk?BaN3F56DGcj;UCNrJ#9}0o54OcG5hA`+W*AT z05&7JuomM6pbAX#QFfDD=KW6O6y1Z~eG0?8;p{hpi7^8e;99s8C9JJYeEGrwGv#4pW8} zXVvNV{Q(NK-TYwwsDI#rOp7HFJ7zdwQ5Wxv8}#%DpA0CvZh%pk(~Xz$7X1sX0}1ps zrdz_ahp)@UbbOMzGdTMv1_0lfkS7ZJCvwcGrWqp8PxQ`qtByI;H=jMfZb`E~v%`qj z6dIkI$^4kKs0ep7_(xgSE_X2;{^Bdc*h4eXLB|`;JcoTB)*9*wx5aqBz}@0C1$s~) z+?^pG9(BUvYol)!(pzmgw*8k>FBIQ9h%XSn|BoLP0})ZWQMv{qC9RTU(vl-Ya*WZPiipxuLkA4Wfi!HR zLAnHFBV_a_iILLr`tJSt{sZ6d57$roW#^pRIoEYPulw`i!k1yVt zlzBc~^`c+O=FX5r$x;?+fFk}YgG++~I zbvmPIW{SYEdE^D)hBq#mLu?O}CX5?momVvOlm!x>+;HaG9kw`slX}wiD1|KQ;D0)# zRNYPPdXP>b$C54?JfQ~iQr@6UdCqxI=YvA4zh`y-dKzvz^2-}I{QQvvm$Jg$+T5-Q zxd6*S;TtciQVr_FZZVstFX8{0*n9|8$eyu`(*#T0%9ih8te(Fc3kK`Ofe(SFSe)6k zW{@{Z2q?&uK2Z`f_<9;bP~bn%+kvKT3^8Je7M4$CDiW@*`yV`t*Ye?SPEo$xbsAKd z->8|heu>+5aVtV&tV^JGC;zC{^d^Lh22zvd%1ygVM~I9?<(8qL;iTeF8I=cnIo-DR zPZIBJ!77#~!UaQ>Yj%@jE^d>jZ=$g`LC3W*F`bx0r(cRLv0Er@k&#h`zB+MxWgtY; zXXS8^bzM7j1w{X0gthN4Fkd6XD#xUz>h~%Vpl{NG#=}%bJSXx(;!fccEPUx~PmIjG z8VbD`m?5%1vi9vgxotYeJL@#}z0x-qcTW(o9$Z?X{zDxM-%9z~R@TyxxMsn2lcz-j z2bXyEt5=dTPjJS@(aaBxY0Z-HD+xbvSspAPxKW`nKVP{(`bc@J)Jf7$h02&idx_}g zhu<%>lDf~XGM3_0Ke62;PbT3sAk-hrb*5mak_GPj(BI}Kot@#2#xP$)$t{o-y zTplD+S5W_Vvv7f!nU~<_8JlkVpqtr+se{geB>+t4bpOhXCXOX(icOu?hfSXY+q38( zDTb}dZ!phMvW=A~*wZVCD4r_Y@wr#~f@U%33SR<|9btpi1xKY0Ofs|eW0NjL7HTew zR0U+B1*1Nda5aR(5lRncX806B2C3DQdWd&W%*NJ=mOtC!b5u*2p-0tuy-FPrM{!)T z9;@%VK|y9(QAxpi!{F3Qo8hO&9LBB;t66WdU{LYNgKG01GJ6C+xdUa1xO1h3A zBFfnWbnNQKlbRV9e%_XR>{NHI6l(du1iwpg4;R~nuP!~2JMuzmkGHe2U`3r7d4Erd z&U(EukKMwHPPx%WL;RSIpnomVHoY@vEN41(QGcs#clyZpGNakzTsrjau3SQ>vC$hS)i{^={eq?zJzgfW#>_0MaFkxT(P;Y_tvx=D!0X_P635Z!RPG#rsH3MK z4+dNibU!Jo*-<6GsLZmQFlXIWE!pH`nxdU8TlAd$)n4PN8{~3q8J*h|hffyETtUE2S>M`=<8||UfGX3MnQ(%}gO={r|yUm4lldO_X_Gnb>M(N0<73xk&|Pla{!9%#HWCyc)oMJ_Kbe0 z{@z|)d&xvqE4+Ww>}Z|=IgEqBkHc9ecPbZzSG6RLXquTP_E|W9v`EGkbgUX{rW`rj zZY5bj9|_m4cs~`{ok;PMWiv96t2yhCmsct5{W+UUkv?l6s%v*cmMNoA>*KaBjp(Zu z3%S5gMtdfQADbJk%aXgFc6%|U7P$tL^9qMJBnTupd=cSJ9jd0g8ty4M5EN7To;F=m zBGmhbaQn z`+=2(n=y;@dwBfl`u(U4T^ADg7%7d3Wd}k3IOuAE^Y(N+9tkTGxp>Yyj{{OP_{8eG zyZO$-vb?*mzh_*o>W~nuZ_r93t8J0$@MW2nfpzF*s^=bv(kG0ud@2b0i}WZR^SW^i zBM{gn8}M{SUkIJ33;>K*!lE>B6LRM=Sv1h2^KW(sBRdU2|D?ap40%Br(cv1A78{Zv ziUSnIra?2PZXj>2iGJF)z9aET?u43WyjBw^!$%5hXKO7%w za>)=!Y_)C_-2~2d&mQnQ@(ZNKy6+#qmal|0xh7pt>d5fcVyK#$vzq>+%`av9qmD3J zf#l@OOWa^UP)YaU6bsSSAUwnBn^rKz=qR3qn6;~!^qsc0khte>ieLW=-~TzpKXx2F zCp_f=^Kh?Rie|;|r;N=6$?i_;`T)ABCaX7s9aeX!{gev})X6csP zK%S!{^TR;gEPC0`f}y2ZKzmXojAz;aU8CTbmci7ciqS270lifk1W22h*kTI-tEXu_ zu4!p~XaPCqa$|lNWLZ|wOG&$d>m4wNE#6`EE*_HCKrz4(p>ld>iftMZvPIXkoW(Vq zFz))Z=b|=HNQ8Kcbjt`0()0Bz+FmB8J^k3k#tcKZjubg9S2!8|z{`+}tJp{WSxEH=9&PvYluYhD9T)die{p z9&F?hFK=S5s*f_GYpdiWt##NYgjB1_*Kq$bgSKURJa$rq%I}p!JkHn7Z*3?DevWu^ z3iBNeP~Q0*&KF4dkAg^3_vt#MF$;nEh#3Sc-C&BTlr3m zdKa|FiOKyzl&z22k__?9R7*R|o3?a*Id@bt@0S*<K(Vw_o0C&0Cn7eJG& znW}Uymhi&74YuJDSl*14%cNYemErkt{?h!Nb=%sVF8#afT#A?3&00Po3;L`lA71Z` z#Co75Vk6kwTq5Gaia5NC>(qQ5)7 zn_iV@nB^r|lzUfCMie+mqo^tK9dEYkyFx9{Ce*K_L9~*Eyu`TKh%&w)mZ&kSaSn>e zxafJBKu6<+jRPG@fFUxs2x-bEXtI|?P$n8lhCIqqwFq`)1$*W4nMo-N%Z=b4?RT@8 zU;;OUTH&IAm)pH208jJ1{e^n{-B8 zlQuo({yP!C_KFI^UtMl*!DdVIQz zo?xw#@uZ=?o~L7?=h=h|e6(5h-sCNbD)3xcsX_-`{Z zjN=TV+%pkIwU)MXs-=0SOKerHuU%j0Jw3_%IJqNVk~1 zbBt65>%k2x&Hp5bTn(I&>tG0-iAw&ivzX{noIJ6rIoT3S=H!;@8i^x>3zbl<;_1$t z$rIad<@w{Q^=_{Cii8SRdy}zL-E&xST!$=ZW$aIN9o<)4{4Q{*rw}{ zcnIN!!g~$yB)@VMpm+>k6H#P+cb)`K{W&S;IqL!st~`QTb>>=65592+{KD%}zKXMH z!k4jGvkj~n?Ow2j*Oov{H-n1BOA3Yw7Ab^V@m-c`CC%lW%cC0s{u8D{$}?UTU0b+= zGTFzky+Uge8nPS}3{gVo72+ml-7-RjYqd?LimxlFiyPD&@&Pt6`~qXfv924Yn8Mjq zxmcr~ZKg0TWy`BgSKG~m>yT=FrsR?t%k^~tGRJeG(d0va1j_aIbbDysQybe~;+V{@ z$tJ34Nrdocd6)UEiUqQJmg*|v7wV$WYqK|7|D#}X9sd0iB)OmGB>X^3`}y}2P3RfC zX&l`&3V@@WCJ^syOzW%}|JCQko*T8`3dY6VITuo2wbq)|wrSrm-^iekO2`*rCa+-A z^$E0wpG;5o_HvA|BU3w9B7s*M^IoPNJQ0i=HEQ+W$@?iPxso>nh6BQ~>;ocy^6qurXkdbX$0@~r{AI~>P55PCX=c!oII zgH^o61K6G))2S(KmD)Q-c)|KYg-*ar5(%mgnk9Azf3m$s^u~r-lxU&WCw}Ot-K7lL z@e@5ysK5rBrrOaAqkhcmD3t;faH|{oDFT)2y^A?Nb=enaJ5IwnLnW%MHPEMs2$sM| zT?2^aae_>_GP<}~!z-lF780C>2(?@`J%Dhr)}UK(OQWV>P*7#X@dl!Mr^Bm_b@7=k zjb45oXBtA9M#1glBH}%r>x3Va6#jLfv zug+j|EUw-lGtuz9p6v(g{z-A@`40%%C^U5#yB0qGst;WkOG9RyK`OA8GldrlG)7Ys z1RM-xpe_D*Oa|27-jb!yU**#M#YWKj#PR0#%dbu|9RZMXlf?uZ)*G64uD|`UakDs) zJ!}sq>gCO%95$kyP?%O_!>$X`Zb;mI$gwwwnzfvg>70?tIO>6KU0J2L%=zc=T_5O? z=f%faXV#@?G^~j$Nw>K+Mh^e(=fogR>n6;+TQj7;^c^v0e3{N@9Df{r6Wv(fMB`OF z-7aQ!6FK!qOOPmCk7C$VI4m93%THS|?AMXf?UsjxY)o6#_*-LDQ8{-On7Ez=2U>cf z?udB3UhffpsZ_mU1po06w~yJzRG(f3?P{_PPf4%bWpdU|@1p;Nt&atQ0KbMr9w+)~ zelzIgeel>0^V{oKm7?4|#RA~FoE=K6#F{#r#;nn@NcI@$^Cg!F4aYX+8~>y<`zu?r z@ReAbEGNc zX1r-CyGvI4L)b#rPm!!URMxU{isiC=fGx#C8 z8q-DPLTJo!dU_>3Wc|m!sHZp;8Wn9iX;F;cP6eu1n;@D_XJ=0CFD=MsI@1IF9Q`Q0 zYTufDoYFbf)Mo94=MSadpku*KJU1ta<(e(HXJt}DT&@pS|8j&sRZD8+eU(r5`g)U^ zB`AclfY677T=xZ~9TbS*JP*zzCL5c*XsY^nS(&?Pk&-o{~)SeEqp%XFj zN-FAJGoAPQ1;D0h!d*sjm=GMLBxqlcNkT5*YkYeTn@@L0eYilSp=f`Jvgsupaj2_k zp?s`Fn7RGF=yFC{d}4s6CDj@LOT}Y9^%HD6a_*^BO|K_$>|vcCeN44N)U4N8euJ1M zGX%psS}nIZh^^I^$P0;rlK|o?W_S?`3g0aH1Nw?i5bDspYxcRBera0vJ}R`;GSG58 zmN}KGUgsx;E9NL!6x@?zUmHRlM6!p2{hH`|SbwIw+tg)aF3dW%Ip3O%{8ys7AqP2(8$nnC5zr`nxU&XLZAe93CPo~=x z`iKFveA2W;T4{VXV@Qtdv!zjTi4q7`JF3}_zNY`x;w;s6ZDdbmTmXL|Se^%yV`5gY z?xU`gvKW?O58`_!9|Z9G808ql^D91uO6Al2v7?~Ypiepj<{POH%K;NcJZ84-6Mqw| z$px>JrS+b|0tB4 z&z#F2kwrGP9+t@?FD1u(kolY{SqJ#yO~c=mr<@IEKA@As;uoh8l|^@vic83>gOPHf z(0kqyBl;+PuMrG|a&&~m2JOG%frrDY*RFj2ZSKVSZ!Kl{^(~(r_v+o&$6t@Oi@e>o zmi6VuMM#LxFa_Dbr8;==f5suy&5>7E)+fj7NEAoNf%Xf|@SL@S@05i%RM++|14mqS z49CJEhQnH1t{Z%h$nkuBb}!tw{P*$2Rh#X>y0-bXP1522G(idKKvlg?+`D^w@!_hU z$!HMSMI?0HvFCRE-w4~zwk2J{(_n{#M1{k%rTF0eKu(=)!z6d*kgL|-3gxr!kFruP ze)cWxpMIKbRWP`rvxHh2skv03zmmSm7mi#Xh+4br@GdyiA=KZ@cI-?QI(sw1jv zl{P1qa)`8UXN7_C!37cP7TRF{eK^{ z23ktt;q^D#l-3dzf)|W|^2^At>wl6~c233yf3jY>3Y_;|kRPn7UfQ*D_Wx0bIFyRi zWu=mxyJWy(&Y$xhf}2bW$sF~fp^PQ%-S>>s{o1RA&F%cYwN6>1v8OdCmO zsyFa!!}|_IME<*9l1%vE^cIA-hf|tKIZV1`+iS=Vdz}}~!Xv>AzjtkW7XF$h8I#WN zv`Nre8CEpa-)@=4%M#Q2e3{RR5inKD&N<9S7c_55h>VPgSn-wuZ;KsimcV=D6 znVW(Y*P#~k0kgh4&cOf`9OJ_w>C{1ny}4iFj_NhYn?}b>OML>Gjgr*Rk5hc9R^6*V z2idU#8`9^j;^mJ5V+nr-y5T^rDQVIuNX)SP27mVt_G=9F0g1fKh!m=E!qZWrMZbr0 zTsNk+4oTou87ze(=2i+4HL}GSJEh?xJQ{w>)9RsPw|#0-(*4=Ha{3Y1&QHEPCnVsa z@UVR5r$w zyv+CjS0j)7=2Q$R#8MK2fmU4VwGw>MDFgBXlIGnWG*e{p!-MBci;up@X3}-v{Ds;o zQgldJ=)Bog{JYDdApYCcppU0JZw~Mv*Trh8*Dn~bYMvkRtsHs8nr`@O#FxLh5y{@g z^g#Dviv4x#-UJ{2<685+o{$Ly(ZU1}^#uHRTWW>fkkUv7?N#2WMT4gH@PN@2dvVZ; zrRti_nQyxr&Ai&DebPhn0IW1LLGr%L@6_MyY=^CAr|8)w+b3GAJlqnljcv(Z8 z@G{H@!iw5|Jnm2%xV2bg?7*rs#5ejGAdbUC~&yC57}(6l_R2G%bD4!}pLCMoQSpc+`b z8BUxFRFYf!wLYPvSK!ZL0$;Yn{+dp0X5@!5%t~Bbjlb1CX3>$8gWLo7%%gZXh9gP@=9SFS3&DAna)!tvM4NFRH3GzNcr4Bk-) z;t52~;dl}S#GX;h;U~@w$7IMgtWvFzV*TP5H0O}jK1;Ft*rSJAbt%4*v($p-M={n@ zi;`WLc9V(EN2@SRi32#tX0W#Vbt@}d4PnFtK;(~lGGUMbC#5&ZEW7*7a-u(By0c+E z(btN@Zio+FiR9V{wtjIw5fu>P)|CBvB@YHdiJqHc%ax6EOrg3a!>IEJQ$vSd_1bYF zo>T~RQ6kp^c3>44M#NM_hH)b{J>#jB^=x+$HIIaN;pOr!xUltv=Ey4A%H|%^rzE9nqXQ|Yzbnp z90Z9Bv_TVrYCj5F(4(C<%W$IDFR`oq$;;+E=8Mn>)ss@oA!($5|qTbumWWTY2}*ff~I<=t`{>U8Wyhq zbf>sD&tHU(aq;2~OWP<t-Kx$-<7s zf93W-wxdjR%XK$-o6o`$V;1YO<7U)~H>$~Ev^_O35`QyR!Jx6JmX4>Nqp>2hgil-WV`;ZXL8NXZ zzvt`Fc%0;^cYsiwY7=`qpNF8BS&oFnrG2`?GqFnX&Xs!Y5H@K$ou_HM_k+v|`{l?1^h6-TSBoi7CN_tC(};KycSXV1ZTOjx}DI`*R!G>~q-;oua9(glQw* zy_t14Z^Qt|tAexVGLsiLm$X=j>@(%Hck#JU5*ORaaSrP7!PAU5~wm@xC7etS2<*@+UVIP(Q)5QXRp!Vv44%T{D6|OktarxEXB0nuPhd z3*%zTW^%h_m%{8=1f=2SN@ULrSx96T_o}8gQUcNA^vsPZfP?du6ZZ`rUsOzwy(IA5 z3SdS4rTcSzY3r#>9^Wu5^J;)5q!MkM2sciBl$GA{T*$$l4gMPGw(;~I^xy+ha zx$`vpEN@Hc=+Hx{!o z%d|)Otf59J!$jHI$OoG~d4bB}FiacWlO)wC1n*F3@0FD*+L?5FPxL6}Bz;LWHiGfO zxjgWI$lPW7U?wo9S4C`6{N6F42<18b_Wf%&EFMjg9eq@T^G#3?4HMMBm7^~ObX+w)ZLa!jYH|(HlGxBl8~xE7bC;u=u12yyrKEiXh8Qx{PN=1j@sRisjZh z#`P1<^$^|DRv&M^nG{mEXpf`!Q2iI+VAh*=+VWh@AKq_Ku>8Gu>-y8Oy>SLd%Sy47 z$dy9Ml$s(8I=DeFXaE<&7t9hn+JQ5FrI4Po4Ce_j`B5+_<&|)m1-ANu?6=m@dv(km zsi2wjzN1C)!VQ=<#co@+EDFeG8Z`Y*P z+{z_}yzW&x8|l1MHJ!kSj&KI%ZRo1m?g>;DpL{THX-wd2XdK6Yrw*<4t`^)LeDm-F zm1G6Id0I{A>l4k{)you&4!`Eg91@xxvNWF{b|LC4+M)EfmH9%j33s7Oe95OcRim=kkjPDOSJpx#uiUe!=_M!i7!w&bdc3j45Gn%c>83btI3> zYDeqkWK)~s^i&m0+5EqxOg*7uNcmME7FEfdsZtn(#p~B)4#F88OP~@hc)uZU zVlfDy<)f(2{G$=I+vOxc5xDf5AGG|-OmnSOzk9OI{%rY1ErFo*C|>CfYY{X@fieZ? zf9vqh8+2WpS*kvC(>yOxvHp9MH9PoxP+NjQ7slTG5T*)5cAIWc@$b7IhSckSW*+Gyu7@)Y5R(%Q`wtSymI)P5xAw_6aPR?_c|LKGI)IsSI&~YMN zwmjb&s|+=;`x!wN)?_g~3v(ysp1<-gZqxyirJwwM+XZO|D=a3R6vBtW7N0g*Ry`@J znw!$~2xExe(6ANJj*r%iCGZEnk9KN+2f==m64ls$?K22b4Yx)Q$fYCy@DF~T(6FEo z_IuhKRbJ-uI{A*|H(vN3DYTmV5v;Y8$jQ_$2$FVa#00_?F`%Hf-*o$g7mTyBWh76M zg3RFsybAQobSu}O_2}sy^BG{qhejE&R9~GgUS96d)L_kZG)QkKyq(v$;yv0TRvz+~fLCkpev`#-WHSUpSk*;PuhcYQ z{-xu+^@a}Rsb_BuYv05A;}!bsYmt+VUAKf+KU+x+-t6*Fx-LZV=3XWnByURi&p_6# z$~<;PWMFwg;;r=`J?~RStoHnpDZArV?v}9Z zKMZq5;{4ScW%HoLT^i$Q(>iz%pW-Z^+)Z_d7N3AGLt^K1a`7+cc^bbNF2l!BAvtI( zkvtZ_Hs{+Q9utHaY!6N-CE0nEd$&3Zq30?_@<6&wSfDM~Ep*i`L(|JEL58Yj1^SXy z`nNIh^!1+Mo@A)^7R#{<$gI zv)^+QE#%w=)o5^hA8_ieu9qCV zCyRU~auUn0e(iyOG2O$g}+35X8AraG`tK!FZ%Foo0 z0<0@=%Ye>}I8Ed0`T`n5UVNE;&q8`XdHel`_lY|2pX>(%sid~MzKS&Ti}O8gacuF1 zgM!gY^r%qP-ITs<^@s;oQX6b_(QlH=qnRMmWE@F>wmZzbYiX!@B5%}B2;1+$5c9WD zt36w_+fp?SqgctHRcLjhGp|n0v&u|hHfY=Z^ywcBxVx2Y7rJpJu_q3n%pmamalI13 z{V!*=S-Et^^=@tVn^bE)|CIeX$y9PVElTS73DttN4{)z#%$7mPW675DB(9@sLw_-I zGn+%OGvZpsw_;m!bI^~!3i{E$v=0NXI&DIzwIga<1>(T<(ufOgIaRrKtliYJC?>JP7|LxPUh9#l4%PZQRaZrlt{(fL{D}1TfA$j zm=jNhLv|`O_jAw7p1%bV&(Cn4o7g@tUIxlCCNvFuZTB5l+Z=2gD0U0Q#=%H3$= z$y~;cuX9WkUpUPI+X?f+H=nP0%2O=yu85!>P5$_S@8TEI1%h7Vb)~mR&=$9?u`-O= z@7-Aiv@;7(`jm)poi!;-t+907srWP>tl9+w6H!~UAt>l%(Xqv@b7G~mVrgW>uQTq% zX2qkg0x3YyjJ_Co0*}5|(Ovg#+eYirvyn9{3b2~(=Y>M2Xz-_xRbyG-(`oLo%idV_ z{_b^*Ev3^G-PoDZ(>@$>CQ5XQW(00s*exWO+0=ZIj)xtRE&me%Dnd0`y)2H&PF0wR z@>yU)*1%W4o~47eE^3(gW;Y@pq1;QbM}UGr0zJ_{0dyp|BpuIU?8Pe-lh(+X8p0v0 z3P@R8cbuB@dY`~}PsY~%D^7=Ys@nv0XS3NZIJwIhr0E5o3V}_cLE2yRJg|$n$Zo&vqwMmi)Qu3uytOMa$?mV8fBKl zk7N@~C`ey?EAcyjdWrYq#LEje*4_D<$4Qv!^Pj2g(`I!CbgEU-fT+X?DbGhSH4YHC zKsG(%q605|Lh|(ANlz8qnwoDPIH&E*y0_PNE_Y;y2$5j5uO-%T7$H^sJ_vwO>M-e%J*fEo&M*qyWJ_wy>=;Bo0PHMFr3W=jRh%zq@- zw|piL2(3sba1d`*rW_Lz7~lwWCp-h#Bi1YI#$Zu3o%e((UuDj*`lWW7GSzvy*NG&D zp>xy9idIb3;i7%N;HCtJU~))?S-`zyS2<%{B_?kjZ2MVA#O)c2*}|3ho~6&cRPre> z9jJ>PoTi2_SPaO*s=D(I*0*Q_D$vvHfeRMAQDPCl{K#i?1D^f~VDxrYu8oLQzw($^ zMOj%zj+xI{Y&xs{T%66h?ndE2zUZ9Zj%FsfRPn4*+R)kI$V`r|8?c;`33F!F9I)n@ z+X#tqlkTKJZEuTZ?JJpoQ1anQ^A7jgCIO+P%ruQ|uWB1+O_Qc}YW zn>-+WvYnqzT8ix;JwgB}lVpFxi>Oof&x$aM)=DmubS|SBGUHv|`p!4UyugfO9%9ZZ zF!%il;`ppx)eH~1!6{h)YA;h#8_k$p573)5*zImwPd2CSUv8>xn?PslJE1(TPk-~n z;-nLv=?1}I0el-BkhR7}?CbibY!7j{=D)iq<7OFCdgJn`N5&@((@7#a>)yS7KVVaG zrJPm@iF-!w9Q~TZ+b|m=*nY+93SxR?O+$x3MoE!4N>f*MQnHtl%M+tw@=voz$eq$Z zIJ-JWziA8=qK-w(lS0bZgi^#Nt~6lhzMVv;~BlaPM{dR?5HQ2xA z#+j#oN-{3lpyaD#XBczRXpY2dgM!NQLK^shTfA|k-#Qbf)%y0*$4KyS?wBf3pX9uE zqxZ?l`4a6r@+X5~on}Eh)Shha<6h^Y2G_&a4EH#9BH!+|ek3aMgeVJauO6HK4iyaW zf>gAZZ6N#+kC71yqlcNL0-p|(XsW7*q+VHzsXtoRx+wv9fuVKDHaFIz5^jTN%o&n* z;atswl}jpOZ|7`N?AGpkK+K-xv-zcXABmGO`%O#Pj27-^|J*08-lLOFo-Hj_Bp39B zbB1>)h-VT{Q^*EjVr86EM29?T&blp!cX}Nm@nK8wXS%JM+$Gd19XL!~%6%6MmCd0gQ)B>TCBW|a;&|b|yfq`+dx1^_NMG|9 z7c~%*!~iu5Zi|(vc6Rpo0S%Cy@TY>Dwxeu#UKI(aJq6l5g}FVb{jLQY6nNRGvd;I@ zpw)%)c35XYW*4Mr>eX)V+Wh*NUlHn_4-W|SDxB@68SNpq87p+ z>xZ6B=CP4+TDD5i`8WfeKIkv{vf~7JZg;{JK{pkuyxU#aO!%0Fr9veaFf%OR2^%uc?yJ-DFZj>Q0O1NW>;_Glw3i^vf7;-!uURUmZ7 z+8W>vKmu;RjvX1Su07Xn8Nz(bAGx_jh&tnM3j1Nc4ft*?zPyp4$6}@C3(q4y_TZ7c zvQ}bVXgbfi3n4qlNK&*9$nX|u*FQS|Qn_x-PRnGeQDnPeX&W0V$s>Rrtbm*)UGQBo zPyW%$&uqKDVaXRU-8fXye8qB=ej!KPtbA~CyE8bMyrT@!9=qVata^mc2g>y4w$_EI zu-_r&*CT~m|F{G4k^9j4qPoP@Gj<^9ZPmlsD^+5T+K0hCc^e68U6HS!$2*BAmv*A) z?<0|HNQKF5Bg3Ou?=%l1gSGVO)rgi8$u5?y!5f)x_R{%Hk!*z=n)ex9b-X`{>>|>I zbli>8_@8Npmeiw!`7sHVEY_|`9s<<`abf;PgZfPw#*r-lHo+knu&$yW&Lh9I#jI}p zeWqRmlAKd30-c^!@$vE~*6{qCp~Qdu8B_Z8O+B-hOXJ6`2jJ-qQz@0|!gaWh%Osm@ zu5wYliF6zYB=j#mLvLK73@5b;=*cTuAxsFk!jG6T{Oe>LeM{M&5w18NQ`RX&XZjR$ zW`-zceqM{Et}UEZD|VIaIx8EY*&&FDRTN;qV%kKN)9Ol}fvJ}5mnp|2#2;tdVaFxh zNMaIY7%9fq91k&1Srk|KJt`mf16Hm%+^|!!?S7+gu4A}P;;~V>P~(^5^z|Xd&Z!=t zVxd36OBL$J9}u$1kY;4nFaG-21CD4M)iP-s8?T>4XWs^S&;=r7m>a3B0#mz!vm)0k zq)!2p2CW}C9`eVp`=O?0C8Gf^e`O$rsb{pL-$aOMJoNcRe!%r;de`m8R=V4Q}b(HvXB{T6CGD za+eV5c7o4?AbE_rJLhkcUoxuRuFM(}gFrKl=GxCL13St!#j3h)#*8_b?mZYQiR;_}{o`E7`N?`OHOrvU?Ks zGRvr~#Yjgk+^|g=*)K5nY0LS7-ge<8s(n8C1~I%6P~O%(9~bPHeOO+wJ4h~}M1?b1 zTNA7T{byytPr>si!{!l-Qe%AJAuK{XXQ6(_bVBjchDzmZ%&~UNv1N3n*^c>lB;{mGv=`tc1d85Gi*J+NH z&E-3K2Q6j)Vhw}&dQUPsJlBu8UFE7ajGh<$0hM(#eIR;WpPTxQ5OT{ftgX2nV<#z~GVZH}*JkqB3lgfYDYFE8a({kz$^A^V& zN+}FGq5~KXIknWsEmS7+TF|MdeYJ5yOGxu=(sE5S&>i617<)ucQ;KnSNPH+AfYl)d z+Io2~C5kfY7-_5qCn2=rDmM*;MikxJBVO{ z9%FYlrlq+~6y~|F1y!(iHI!+_GSzDNu-|dNuE984svF_ykC{y$W2GyL4~TKtkO7IB z!>0a)G=yc>HvnqI`;PRpQXH`75s% z92tnP!qz^s}RKP zXkh{5Gg$1?e%7yLv2QaB@NT3p)`Vz`Ma5!$og5BuK@!{7#J0UncTY-RVbz)| zX;NC4?#Q^$%H!q6V_n@Ze1{@=Urtv#`Uz$((9B5Jj3^hqwbBZX>)Ji;ejoaG)%>^C zE{JH1cG=E*{W0>X_Hti}&+0>T?D@UaO@krt?m>R$n9h;8SR?<8=6O+=78HyBXR7tn zOZ4Y>-+}rHtFGO&p{}Uqrr8ge@@tcSx+tHsCnvXE2svBE=XUFfxs#Uq%(hx^mif}~ z!JPX6x!fWtQ>H&1-}HJe+^}8SBqqr0TybqwYyQChHRIx(^kxMz8L7#}M7;Y>p@J`k z(8E*utCq2Yk#nzc$bZ)v=x9pNOwwN4dpA#(l z&-ftEk>XmfYWX7rS~q)@s~ju8;lSm$XdBMMl?}%(ZTl?3$(pz^}XrLIp z_K$auBa7qS`R^NlfBrkVP$tJ{(cd5wL=q^B0L2;}iKoWh2;|QQ9i9JyJ^vfRp5*xeIZqV2CX|=v$8AG)AWcua6XZ^psg6(1 z+3O8Q<_r?jILNoUO@gh@Odh?%7d#N-i^dzr>eMdN@ zHcxR+*V@Qed>E1Arja_Gbbw#~N#5rqh?@tW9UrgFaIBH}q~aS@TAL@HVS9D*n~|#Y zuQtyPPD1W~;8cEgjB=>rz487s;tTh?pGQTujPTWmf7dgLl}}V{O1FVGu;DEbG{yhSTmL`CwYPcUZ5gLW z99Mpid0=HR(h%^#fA?oG<8Dx+YqSe40PZNPEK%TM5DV2K zoNkU?D!yCcCjH`Ym0{#SqQo$bYZW;muH((fLGafHJymM#P2Klb?iq=TlZh(zlqY%4 zey?ByPvW=#T$dQo9^YnDyVt=$*Lpf-1LQPh@PO<7D4dGkt?EH3zIR$iP(A%+q*dlGt@ZIQDQRVochF{8|WGBGgi+`MljKk+P~nIxcdi}EWmfzB+M z<&k5G?4#6X#=)xy)B8^YTK)y|=lPFXSPoWH98c$7(rXqt1BC`S;5PeS3F+xu*nm0! z<`B?P!WtLk!^4=ohOoQeF5H;}xb?SuJXX7hM~dupP%{>_)XwJE@t1y96&_wa%t zi&4@|I(>YK!CxzxdZfI>zNj((+2fz7(+}{h#dPL_)o#{;8Ih(wcY~gQf9CzMx~!3x zyS?1|hYWD?Z3V3XwL$hwvnn_X0}m|1#qmoF&LA50#j?uhq1eh-EObNEn-RVU$h~%# z<)Yoq%put-3j4k<_StLzFFKYFp*1(1mb+N;V#0Of-*`F>=xYk{gC3GD$K9MiA9=OO zEdOi5pe-!`?qld#@yq*pJBFY?+jK)*19OJdddEI|X3P)Nsr&8u2HwW9Kk?TEprL+> zEQ=5sDnmnKp^a3u|GGO)n`OME}_L9pxFMM$;=C{DklGDhV3IA#j zEV^2tmZOdq$_oAZy;k;UVM?*KC+2=3pWd-S@e@EQx9r>8G+_61VQZ2*E=jnu!#z>R z&O}yDQf-xLrzpFiE-17p#f2p0J*sCg5aUS+8iOeK9oA^6e9yqeOc4F+XLq#&N>RbQw{Xt{MuMw>x%`mY!gC0cawTD`8=mz zP)enx8|jNBt_>zi2&}hGQ|9JPYdd#{>*}B#c-0?xI4dl5Bxl5%Ih(A zrUv1g-wFpI8o;UELPV247 z%6t`RzBb;5{tgb2cW%L++s{6U1ukG7S@Qoo0CH#&KoN7#+vu+d3dp7(CmxHb8*tC5 z|0wKSuLSS~+V&33IahSLQhKq9n<+*t{K!BwI7vJt#JqEm9-Z=JKeR0%5^}Bw=wA~R z@$4Q;8#{G4U0)Op5h_Nxw7GuIka!wjhg};y`Cw$YuthS~N1B@p>#$j-?MeSXgq`<4 zo9+Am^=?%aRcg=H-deMEwN}KQl^C}z2(>q@z17xOHDZ)dGq&1AQ8Sg8v1){%NUi&u z_vat@{*Yg<>v3H<&+Bm>$Ln=GU-niuejEVrwu6n3!_ebnyO~qf7W{Ssf|q!F_eaZ= zh{j}!T!xkHuiU|#!Qr*~9?;6HB#WV;QHfFZ?hUIqbSclCS7w1hyW>3a%`kz6q&EQm zY`$gYxt5T2%3!6+bj2UT4^~#78VGFB?)l5kFUARHBM9=%>zVvdS^yWa-}s7tF>K~uTdgAXlpFgCi@VRJ7IaN z+GSV$+AM2#8cw(LFPxvLQp^P7`sna{dACvLl45-)wGtm~=a(LHGl4?a9X`@I1bV9R ziI>Pnnh!HFq;s_U5`$zBBQZt|9&8kB2) zccf-B{=lWdYs(uhqaJAfUh5_E=+)pRN3`>YWWVpDJc;L1QL;T8&Bu<#387xLH!W+P zqzA_;35v>2IrolV@6HUPWuu(i(x^S5SlqkaONKHNiW2rNkphg1eBoEuHRYq*q0&rm)^>_DB!JD9s zH#M&4?%Uqli94y2!Z_o%J-J466<{|igsP4&&4~B7|##NKn?Xe+&GH6IJqU!c_p&p)at)VR|z_3y1kXx+Q zD0={lFl#?^Hk%X2L*tr(U+7d=VrI&EOtq0%56w(K3-hpvO@F(QZlIsnBWdm!EG6B# zdEu%=3FqouG@KbQAt>}Rdj3C>Acjf=COhr88FkHD>1r(&Hy|$(d)lvZKU8V`DEgMQ zceW(&*Q#vHrmV8Uv2K+r_Y_%*GVgwo;xP}a75VHL*yxB0JVICenh>FmjDcd?V&A$y zYmD&-9S>ZW^?r36+t|cwy44lLBCH^#PatHNK$tbQBlZW*iNx0^f3Z+;zYUcH&PH{j z;7-~r8{C45u7|f5_Zv+KEsG#3HK7n6M4(|;0uaCy1)eF*(f! zCxRwcN%&hYT@U-j+Jya^ZpMG0X6jJR!Qg19B$ycM-Vob3|7`Xe(~3kg_JrEG9~i@);-8kZjfxsp zG4Ncw-wQRQ9KjGYe9LfB3Qo7>Ooz?)?-jB{D+Ec`$C|Ofu$#lx;>r_Q;|~vPVQvdx zoEgO9urB(YR{FP`dZqCC)6Vw&xomd5M4x;8Q#Xq%F+d<=tk8g^W195 zVl*J+9MjU_mX$F>205f``kH0&pta_~g1#nHVn-7hz3<<8j+Q>%+ppeZ9EJRAOH4(e zDoCpOwv7_@sIeOkxKjVog!xgS@bMWvUrR^g3HuwphUTtl%!G2zLU6F&GyKh;g$wz* zUV4l!Wq>Tp)M716X=XsQ;2%%kO4jr1FiMkx8#n;TtZkIqHJz2VVjVT$L?v!YF(MWEd);pX0&T3V(r;zfzM;9>{yF&CpOq3@Hxj!3h z=yP%Y@sXUq&PS?2@yGg;B`EZMMGa520>n&&yEz>J{Zw+#%9X+k>YYqe(%u^HDJot} z|HFT}-^g4dl@8%4blwlY};W045I8&Zyr3Hp|BN!?ld(U=8bD+%c5su%zU&anX!`ls_qD^!Pq_aGB>y~`Fj5-INNl@zs^T?Ds=&+p0UgVK?BC9L{z+jGChPsF%t$bv zYHB=Q9a3`EEy5F2zM(o$F$eWxzL=}dn-HC*=B|!GoA+f_@87GmPh z1>;@aATEvPR)1+M$9(sp%1qGY1;cUaes!K4vr|RMsEat<$khwrmGUhye(erX^YC0m zp0^R*yK2{DgoHXmgzhn2?<48FE=lZB+-nce;<02SpvpK!apZ5+y{edBzvtRdK!%?qA_N zHa{3{4W=~frSavwA1HCr2h!r;%-789`-;9+nckTt_M+lcsJCWu;q0LO;CuJ`iCpVd z>%HLm&V2I;{7WXoal2fpEk!e#Qm-;(wcZm1zEj2li zHQueog;%f$z&Fr(p-fy=b$ zYr}Fr_}S3DQe$BFz}vYsgTY-?a5PfcDqrK>_Z1!9A4asVvSdz}X(B4pIB(}UALb6M zJRw}+N7g?Qd7dm3)M+d^4S3JNOLn5T-KDt^5qHZrd&`Cne1gr54`+oe1grGxGFo&I z5-P7XdS}k2Vp$x_%#B<@sHmas`r4Ji$e`Zbr2HeA+t~=#Yr~CtwmsvwZxB;;fu|$E z>&ZaINM&|{|B|cx(Bj9NTD7K%U`Vy41-&(VvI7N&C7OJfDw(wxLK~C8 zuJoXJ>s^boY<$;+3Yj81S!$VQQ{V+w<`ZJq`o6)&#I)iQ(b)F2Bf7vt^_7gKeIzKS zeqEnj{i)21)$bLa1xFfS+3$*@K`8XGT#ovS56v48v3ApkQ9Kz9kK1^@PI`?+SxpUc zGV2~c8D^s7M{CUQ{xd`hmV)lKNG_H`zJ$?2~KmK z*v`2l=EEcBbi7?kVd@|UXif0ZUAgZfzxGEJ-tUn1RP>BpC;IW^BI`26exS7^TP_z}k(N#X ztp)@1Hy*vD)TyENCD!2Qf#d4&l4*SMb9%Fk?W8VNf7glfLXmGAM?; zrjnT-zEBNm9aUoOh^XJ|?Yk!+!W#rIid$S940ZE%fM5Z>hj zqya_)ah{j_1O)M#l5c@osbMFxzYr?*fuh6|PGjT()E%DeawNinX!|O;_-mi#WW-al zr?_I#dI(ze7V^`2an&lO(0v|G899ow?aEl#yQRP|m(EF38SPzC2)l)ZY22Ip#A(nw z!=y2@C(d4Y(-H&ULQFOyq-$lp#%&dt19ycQkc#$3f}?`NfR_r@kO$>UCZ_qi%Pk(m zvn}e54C_A%+RGQF4r=(J(kLtO?%YJzTMi%vMh+f1d7+=Np!DW@Dt6(|+mWsD>OHXS zr`kG6O1yo*Sp7V=x_a%9RYByTRsr-qCplG1UqELaXj{t^GE*b)URX$=KC!6Bgy) z88YgTySc*Ws6yOG2_+OlSzn9?jUX$t@R}rjtEa2o7>#Md0$gPKYgan6CCUsflTf#~OYW?) zsAvs4uPKq9j42U$VKEK~sO0-1UbHapUZly0#@&V=8+Pb>Jg_H;ZqwyM{f=rJ+ZJDI`RSld& zJ`j!~YRTOUR2rx^EEjRtO71yk9DJxQ6|AmAKY(`os-K4MLp^xa#oIMQ!*i#7Hg^cs zK?x0=p5TIHy2%DB#Wn?0>f2x8t^_Psz}F1;iulOweFNB~^H1Do28ISeP?amqk}mzt z%`mN!gm8jrDJFE64dQF{aMU9~{FK-|2>VCZ+_b3)`Kob35y0B|^T{LgXZa6f7^zaZ z#Ulsrz;1pLY#h+$u_97e4fjSXc8R&fW|amR+ec<7Zs!I+3x~8fiB^(&k;Hr}RX=Ya zrUtBpZ+5r_4n6!iG(GSWs`}-yCPP;r_QEh}$757#CLnY+!{ee;r9_dhe~O$U z*4M7csVn9>nsZg}BHeKyCt7(zN|@p6Ji`n{lG_Nn!D~S#_4kHp#YuY5Sex#(xNoykO-EQ zTAA}GnHgmn zmi(Ri*<414H6eA?eTI)O6}>!PhWUCcg4#X0ru&b?Bvm|ql`53oO{uvxnEyjv%Xe%O zaTFZT1;C2xE#sn}t9yESium_%Hqfd=A&~pitm>XD&*}fh*r2Rg{#|$y)!3S0G;|f} zaFC&oStxGW!&nbX9bh^@E*YA~nu&x(`r-SqoRj=0v_vZb&iI>JZ}EYNd)C9>xr_EN2HnRmiHE+6 zcY&3_#KZYjy~JLo@cW_CZG_Ha=Wj$ZL@C6s6?N8jzbWW3>7Ug{Z-w`)dFNj#avn_F zpEBqnU(onqXW3b$GBdFnzk|>3gS)=aFVpmLgfPUz)Gqyo3(J3-H3pfX-Cv)~AJm@N zJld5Hk1NAig0yp~9esTHSl5yK+o9meoj0V>-`_QbuRf2k7}B6#y+kk%KaXjiL4c7* z>TvD73+3^?M=Y_D>}gmX6LC$^&Azqrd2B-qN?JPyYBfE8khiWwxVWk#x;Ia>rYM6C zVd*ZH$&FK=EnQEC;JX=%D|!(jp7%@W6EV8yfl~YC9Sxl=LdS<4`35>+t`u46Er^HM zL-1U7MC-prdz&lPrJ8)1_himn7f`RE0!ym4ex4Mnz7<$tx4Jn0>7iN}f21O_>~I>J z3z0@=yB4Nzgd)zwEfPHYtSNue_sv%|$?g^;oF;z_v>Bkl`hRRU@M9e^w`B$&50rS#K zVwI+4Pz4GnuJo;rLV)h6qm;0xuupN-B^TAF#psErNZS zXxe-H2DEpH=Du4QIu3CONCd<(X{&4K1^8V(YwrG{GOa_S1&Y!p_ z=9XNUyHJuezK6bnAE9tT{_R8^1{=7ZQiq% ztFfU2eU4@AM)-z&%$#li0% zj0T&Zi$5WIXlJpG674rD@BS;Oz*7PL0S^m8kP=ZG4*9OSEz=d@QRXyyUo7jqlV?F_ zpkFHsaQJt_X)u3o;mN-1l6XwAvnHgW=7qwk}j2zk6(gk zx}zw-AYaSw*z(Izkehc^>+uV4$Z#T#TVjF|;KPbs)F3QwO7tGRr=Wq{&zp<(KN%7R zjXAexgF^PN^+jHQvLYc1&ubX-_A)!lzkqhFN(-0aw0&P{FJ5G^SQpYw-+WyJ*oXNz zlq{OEF9;asktRq8f4@Qolu896J+dw$~3f0j#>sHwP%bLjlTh zsCq2hH?Y@`Du{Mhw zIke669sOHG&}27Hj?ZEqU-ZZ6pcE+gP{3(vwTpdnOb!$J8J$FB(aeieEd_EV{r=9g zj$`w9H3~1D)(FxFNXQ~r@efGhL4-4B;*&RGYubmM?L|x<^XA%f1oDDXqi^Fr8s!h$ z3d>c`CSx(lP~m}3o#VQ--KJ*^gdHaA@1J8$5A?(&Q>1wn1V%mq;Nz@TydnPK9h`G2 z2XiMD;UhN9D-|P7H=2V61CwOe+P%(cG4de-?%rzgYZu%ry)pH%vcO8h&ieB5nxUuX z#uUj-!`qTK&Oul!v9VjZ7X>^y$WtQfUi06F}at#49i7XF%xS5B?p037h8?XN{IySpmq?y#Jb%f- zZBuGc++3pJ88lNVe*KXAwsPCle%!1!BBy-g0#N@mrRl>*l3i3$+$>Skhd=i_BKS|; z#ZQ6K8;)uTp+hO2DANW9oJl)Nt4oY^Id0x!7vU(6N!>n(48YU!^e(Gypc%}#PRGtF9X zD2yzW(}V0c(Kt2n^ySTiYk_;`*MZmi>q8{GbXdusUL!U}lDkJAE{oJ<-t!n~wvF!M zRtrLVZoBoR`Fsqc+U%eDDd*jW{+s>>*C+KO9f!K~nha!O3#YrIq_KIv8&y1ex+foU zHFLx?6~5+weH9+|MFQ|2iSpn7-GCUtH}x0yid2B}#)D}0Le@n*!X~phUte;5CpyHM z?Kx+!FCz>SNvtZFiFUA}m9kb%6r7Lx@8ySrKO;&$Mq)3f_E8yRYmy_q)#r4Q#N(T++RLDh3C2WKcX96-(C#?7 zFC_R*!R$XfX?4%3xAo*5yv|g#4a(0hc9V~9$XY}EhZF@kEzj<7KkesVkFSWir^n-@R9Hh*r#*HQ-_t6j(Luf(UGu3iZ#wT3 zr{G(9Q~t!ys8fmer^WbB{`-;E(|1|eggA!bkV2C*DeqaQ3^OLcOk@5>O_ycKbVSHjl17*Tk6@%ORr>^^{Zu*GFX&05$W3>J?CvA%8^G>n-p^;likF%4OV0G$z$@e9ilSe%OB!%R*<;~>ecHSYR<37;J!bVEe{l1QY(G+5 zYU|?F;>n(u|HUFW)!mJFm9rnLncuFDQL_+H?`PeI8`ubsK@`ut?mz?K= z9$8w8V~WYZ14n}&oN2EpOcnAw_Y>?fFIwWGKP+Hn+s!RK%&qc4FW%2^JCKmvNto~o z5$yDVh>8o!jypR2ncsKZ!!=;6YefTj9kOT4XGT}X-8vyl(;08G+6&Z0PH_g;>GOkGwfE1QUNKXAzrQVA-k`Mfj6(#nFRaz@3aCM{$SQUC zR#=B8`wfG=J3QWigqhXA6$D-N%?JS2A*X*&aec|!iU{H>w(@JekqVn{mCWXUz|JqY z{n)YHQ`|S)>|{m9-DJ4VnqGs{%8=&0ISB`BlDzcFaePp08E5YpV`iSi*KtR2zd0_1 z47v0pL1y^oK!FLmBsd7QHAzMD!fd%MFy%XsrJ|35JT`68%hW0R=ogcimV)Ac*El*A zKd+_mO;bz~#SMCL0VM}h8Xfp);9ag6xjCkeDHetga~`&#sy3U=K%VehhFf}J2ulCE zVEPysJZ=3LRu^a+;+L!)tu8Sk z(lE^P5chr25)6TbH7Qc{8ZeCd2_(|+7%#T`7#^N?x)(228lo!tqtrr7COPkk9YbH3 zSM@S~w#&Zr_JEfnj=wMn%3gd#R0iWI{IvKSQZ`y?F~bQtFKRRC@ioSNP8fi3lv|O< z1Ux`Aph?%e0yeEgbOmVFK6CVdbV}uWI)?!2Qe?8{uMqCR&$?nZy(p?^5-dFLvQl)b zT*+_qW$bNZ!Rmn65}x$Wsf&mie|>oXS)Q40bfNE++dx34X$uLxj{NTQbFT9(PP=-v zVolxwVy89EAw!KPp?>qb;D<_e`aJzlMG7T8qUTq?0&-j0Q@4ekzGlThcxB+kZutAx zqcl&el{}Iha+%vQaUJmH{4CT;_{>T>3q<^eSf?`x2&QHCV&Z_xNAaYaL*; zeWhf~ECk`$nhRXA8O!X+)gD2{89_i3txLB4u$&aWgLeBFA%*6ZvWS-27Oqk{hTKy< zzVt}lAkUrQ6U$OiO-|~3&KqL502}QqJX)+cztaa})CA&+0 zD&~yb&o&?oTD$8ctt)moV^4RYS=~K9|DjD{i7)3OP4V}~YS9@>mxc4lZ6G*l|Aa3? zy!HF}5Mm7?T5ELv;G00kihKGeY+Fa}4}}77R_Zf1ojD`Mme~0tu0%mQ7?#dAsLrVs z_UvB93Rgc>Th1ilTg(qHwZ{5vAF@K`aSH1SGMYE+xuaj&TpJJ?dPg}3IgNnqvn_wG zT#4pVw5L%+AV`iF=Mp)r3Zzb~l$W**e`^w*VOhO$v2DKXW>!|F!gE&taFy7UU!gdT z$+~4m`F^%fwX&XcahN@FFmG#{X<>>4KAQ!tjS~&j=(6sD8B1on&RIX^l-@$s(iO}y zD>(j#VUyOer6YgSGpMImLEna97n`GUO!;BM9USDuWcw> zN(;U=7&6TU7#n=f^3?NA^oCZ_Wr5vFjyHw}w!e|RwEe|KHTdZ2U6#Lb&P1Rm6}uOh%?v}T)8RR0&Y99vjAUe*WoQW(4p%bp|x*(E5* zqwc!Nuet^VaC_%1!l7I5hr;Ukj9bVxB&s${O{yO($}$;d0HAIr@2Y(d|GFQxUQb5b zZCS_-Kk_Z0%eVZRRY~!OP{6e@3y|F(Ty$f6{QTi2iTA5-JTgG)a}D`quhi%I%AIRR z39!1T0Lt^+rdNF%cV?WEV=Uj37$Z~V@fu`bcg{Rxk6jriY62gfUO5pBZ#&ccf{!{K z3f_IKnD0(7f0=_3|CvSFU~SnrWG+hnmteP@>>+FRu_ zlahH3=jOGpjsx_T8vV^YCdx0`=8j(q4#9cdK;>Xp5MM@cc?RTnbI-`3_(9)Q__Z2A z_sd(Gz>p#Nl$bfLdwGT0`b|r!Pcm#_5`8+3@5x?%ds^pj*IRG%i}jXbo&6x#Jo;7) z$Wi8*5B6`%*k#$1&Z3rZ115W9{o@~RRsNLp+ur;w6y((HW?@!qr zynXiM1M16(V03R{v_g>U^vWoUx`<9(_^QZAf1|uaBXap^RLTI)6B`QHyCSY^8^jj< zPSmg_$h4}3`4B!XJuaY4jZBX`9eNc1F?%6ItmDCGej}?pF!aCeWa;;~BNx43ShgkK~(>pJd*D@lSIe%&1 zQs}O!q(0tNW;&jjhz`yKt4-BVU_wIDS;gj056Xux3?zmemIB^ujz(?SNhT{xWO;`x zjqREmw#Wx%vzYR;xWNQXjpL5q`N`GZz-33_Xu#r`rpVwLUz0NZ4`HJMyDf9dy{frr zd*?CqR*Xxh!fWka_f4E)m*)NSi%J&#S{@u_#vHwV##LC{2UW4-cFLR^MY6`gxXU}Y?-8w{n zFvx~;&V}B{8qc^Nc+R+maqa7MHv=338k%BBJFjS$MVkXiX>z?H&dibBc;~@hs=_pQ zVD13AyYVRHhq?dkV4s84Z=idI%)`A^kp`_VzsI>ERYW4(Z3sLgMED%HZpU22I#uEh zk*Cyl`(xf0vr$giS1M3cAjHi8+j+GNbl)qZcf#|p>+biSuSz`yrSqJj+ zoc`KJAs$-(yqvQgD;6@)dzrTwGMgBq>sNv9yt-vPc70c`PdaF#T+cJd!S&Dp#M6Cd zq+8SDJkB@kJp-`d+!>Ky)~Q(78(k}ea=S(U{oK*M&^3x!P;g_7kkn7-Y3q1PS@&#? zCrS6j!OOKozu47azr$)^ctJ+?XP3NFF6HBw4ZVrWw%zjCOK5lRut+SqcwG*&JMK`_ zlY#HU-L6pz^L-l}l-QqKCR|)8t+=^dax@)3S>H}N?;N*sR-368RrG|fpcQjv(y+ac z-f*HfbG{=6i_yU#OSBHJ1&sB9InAw=+Ic#9v5-TdbNmxu#)6bqz&JyVQu8)A1?2P$ zMDgsQrA?D2m!`xrR3^38nX|ywwMwr4MRWn*x>@oDFN;shOxDi0kWXr=K{ZEfQ!rvL#YNPMP2zn&h$oN^xT5VZc0Ye@Ck=QETXfu$g_G9iD2t+%DU{L(MIc-`wNF~ zl-LJ7&Kcfb=1NdZ`@Ja$ZCAtw961?iB@e!cf%uepRuK-SPO!36Fv;mGvVCYR% zVisv%rKXopes*)wc7&LlUt^Knomu=A5p1b%eD$cZN|o`~PS;GW^K$^3SY zO?;P$efAI$06Xpg<+b9`lCd3PKns}>G*mH)SSwt`13VLnd_O~RmI-eWab=doTW!eZRc76Yn_yWR6>GA-2%0iP76s3uS(!BQaf^Y_V5^4Cb>blKr5m zna$%tr?(x<{`a%?77)Cn8pTotwi7JgH5QdjuM6c`|OsasMsW-;~*tmYrB-vF`WvOd>JaV9(nQ-*YhN%7tQV&i& zu?Te90O8{X1Qi47si+46E)Q!xl=~{tE7}na2N&a_o8mrnQ}ji7^~AH&Dp{!MI>K|E zaj19kbdW>RhB{RKIAsVqw5zCyMkYa9B4|S`2qEj@Om71j^^ssO)f>S4ktlWYnUWAY zzhN|p7z1+Iw0B~q8g*O0+DzJez)xI%HN^h7U#P)ss3v}@4;^qYzh3;${t72bnZZ@w zFD>39T*1xy#q@t9>ueqP+=LR;!g)meiXfqcDNX&D6cyjw;@C42eN;_-AS$>{e5YdK zzx2O_Q{L36td*^jgtC@|%Fl$7uR$ZQX&<;2y4cs-JR-h!DXl3{54L6m_Q-7oNh{fy zH{e(M3;7M@QHf{ySM@Z3MH^~!#G&$(*B91vEuGcGA%q;$N1S6qKZ}G~bgVhDeAui) zC8N3D&}bMIaZtd_4E?y~MDpEWQ1zFm5sFwz)ZnMAr3@eba=M+8q+gJR2Gh1sW0p5 zwnpPg15!$@8riFUywbcA6-V(6`b*4hrp!9kS)+)y_KWRKLM5(xEE?4uRl@|BF|4Z8 z@TCizXPzxEx=7y~E8-_LGTj~0oxNGgw)SJ~6Ie03*qssY#2kG!z%ZSo24E{B9%#7rw?Z?`ik#} zmzz6And1*XtE@{A8sKY)G-77c`eVFDHECLcGUMJcFk#(>8QJFo4OOSKb{?*>Pqc}1 zA&}!sgJxv)<8%9v_m3xPomlJR7ASiHVx=|WM$BU;FSPM3u_fz!jp2XGVQw`wi<@no z9WYH8_7Lj~;VlZ9clmCK>Cj+tV3=7Uo# zLLPd&sHPAPFBfbRFoKgQ2WNlTaBZKT9uvyXvfDT)ZMUoL$2Frn3TiWqGXt{nK@4Vx z=Jv^tzgNBwyqio@P{rN;jkjm_yOL;X-bpt4i+`Eiqj8$dd*a^#tnvKR1@B4Z*6f{M z;eWR$a@CcQ(|%X;7-V!rKbq&&`kT+6OdAnRj21hh{_By-{jUy!jdqy9)I3&eL5?Bd zRf1rVx?lWJhT5BWjWyv+#At>Bt`BeFvC0tHFLh} zP}o~4%HMT+Vjm}HPAWy7ARTbO7{`+p<}q4EVC-d6eM3>_`~8W&HN z%hdgz{P@o6N27JyT}G%m0O`p4w#JzNYpS_tJx6W+EHQi9Nl2yFnj?SOw41d96%;T@ zR$?<)ERete!Sr2AhdF!lJa=Q5a$mK*QXlqkYPy|2!FF_pp`J+jC$Ol+{{`pE?L6tr zNekS1!=$_!v92ioFHA1Z#>PFxarzx0SH7QbAo%)0voM|0_Zo1y_5M(Bq{(6&F%z< zS*=uw+s;Z;aT>u^!R;Sk(Js99y^-Gz>0FFCJNy1|%+KW@XYrsOv7)5Be2B1b>CtRU z7akDpGJlz?)0F`Xdwpfp*4xVmYu! zi}d;vI0CPIhZMy(EwX9oHDfpq_Bs!|f zJdFPR!-W~FY{)1AfvCMD3YA})QzZ4D74490nuVKR}{>XC} zqRSwr8);#N!_A;afJozQOr9?|`U7{H7HJbmy-JrB^nrz#44w^zC@iUZ@eVc05*Lup zD%vaQlc#ujLbJoe*puBlkwY}&Y55FJjGazr+oe3>%Xhk}4MDxqtt_y%7lGfA8~|si zA8UrztZIJI`s;rAqB^RE3Y^7Gv=cF_Ymcgz&wyL&!>>3$_Q>IvCv&To{(f!NbNU2N z)%jbs;`HF-$I2ikpEmIygE6KgC<@X}#&s<@CRR=S&ffi(O61?4WmI3eUH7BwK1x)s3zp8I#yhqKvtWSu57tCjL$-l_>!NBHt6wu4wQWvnWmc zc?vu!L`%9GV%s^rt!0B-$Q7>Y(D!4KkSKo#dQe;IAv3h2ZFK8alSJVDT0gNG-Qn$$ z4ql0lGzZ3Sf{7rD4De8fnv2ko7&nbS9rFBl1ny2OsJaYnG8V6d=$ zsXBxMe(q%9h;$Bec11VHGA2MHsz)n-FPt0pVnlHVP{gW1=bY2*8~9|CpSK7HMh}VN zcKIP6Epxg!PM#Wa*_s)MdRS8_1Bc88|;hnS*c2Lba=o+h%oDOjBPx$KS-3_$JXd#rs>?{HS<( z)bN2cZxb~<|7R7K=}Xl9AZbZP?4QyGAA>TPOf_Uc8ih`8xti`R{VQTGVnHtO%kgRG zs10W6g@)8iA1*k(BU>d2ZgGlA&(l**l0cT^HvVMr?-@j)-KlLpe6KKQHfg`>-%ppe z|0~q+ipUi{Lgw*faLbQNvbfq%&d(Uxd|J!BTd|Iu!&@z9AWm5}V|L({V-Dwx%&;&Y zTcFkWkoTr|zW1@)bBu1CHE&F7b&zev>ZoV6Yv(<3y4K_TPdG$vX#2N@wk{}urLJy?^4omF7+AxekKCkH?dF>8 z+dETLv;>8GQJ1g+zme>0L=T&GBe62wjFF+78=lPQn{-q^`Vj&FX${UE{0a$363bPN zS}&i4H^Yb`*PiU9(pJW9D_Rfty6+jVZ87IW|6AaU@nqX9y(TtB{*T0%kYNUryHXDT zBnl>To;4nTmP7cB{yI+Hf;uh_FhKVxks#rTm4Ih@B@V~4KU$U9<0Nt<71Bx{Y|Gc!5c zdz3iG^BPB$U%wV@d0!h1XuNx8WK{X^9cvfumV-FnPnLnSrN{I1aG>@5KH0^EyVVj zi}Fi?|6!1b&ZU1-*}i|{@5_qfh^-X}XgIC*+kz~}>e>}WV*^1CC7&$XU|u|5+Px5K z0yi6LWnZHRD9c&TV(nu63@T3Trdg~BGGlw%KAQ^{K_VbJlU;5SOcC$}7}js;IOfC@83^ zY*tzlq-`oTXJTJl@E0zyJjC|gE1B1*?A%qtJab2P%s4Topz;SSGYO!8JaRb%0f= z0&&SF`A$*(a$Di_6T& zYPCqnX(_W#%-XZvL)K>Ps%jTYT(OKEhTvA?LerG-Lt>v}<#^j8Y17=q^A$&*8H*p% zl$aI5Og>fxZu+SxjF=uuwSPeR_Wp6T^C)Eki>~~q#W8KN z?{ug)JRmnN3(J*d9PEi~0kTPW$+Afa*46rFcu9Rz&X}2GzSB5AkyYVzP>K$H6{aIuys_-Q|Yf20OY%q$=if#r3 zhqh*XY}7mQqRv3dSnIq7hrFAS(lj+Qn7xK_xl+(ZE&xLsl@r zdQB+Q;CN>sEq1nlLN?DCyevEjtJ2Yk8c+Y`DDd}0$p!?KQ*Q!;C!dkKZ(>#vogzt! zR0=dcbh=#J@ZNl`2TLX9HezaqN1RQTaazQ|r2j}plE|;b zaycC-qC|9?g{#(N&@b9Bv1d)`IMrD9>cZo<01O$~DA(CT^?o>(| zsUh7U!pM!$NRE!t-5^~uKwv)mJ-`2-=a2pSxz2UYwR7F)zF+t2ohoz+Sgg!!`A}@r zT7S25)m5JGAh_eHBA-w0=wq$*s;^3j;JBwLNij;d0(i|VHBx~Z`g7#5(;o|JA3vjS zvOk?8Ur4_Sj*x4}P!KW*qiigB^HcWo^Lo$!syKKba?5Z$`znK*QCcm3f{zZlrLNPt zdIv~W4J7W&okOoddPMZZ_Gr3Jc0I@C!F5lV9gjIvQ^?PJdwxOtl%faE3bm$f%|h=U z-4N%^3lxpeT7TRWW>g><@nvb`1b=c(KawbQxL$syjPh7}IH6~vn6(1HsrOmB97Sj+ zt=T{(I#ow?EY^Pv*H?LZOf~Iae!|V3rredZiHPV5RJMS)@&>bKWpmO?93Iq79!qha zuXqN`%Tk`>=q{cd*5(I;SE9AD68+a&Z#ScKL*#{R2(vtr{r<3oTJRJ78a2JxX#-WQ zJ_t$=HR!Z7bd;cL#gA@-{~y8M)|-u!1HUYa#Ye;?O8K{U4>+aCKH`C<&pYw1qvk8-FYa}S%Er5o z`6o=o3oEA6W>T{6umt*1I|x$ol?@QU1ovh8nWt3fP*PyY1b5cgPV*NcLD@EWc=g%QP+?|8;1P4T-7 z9v^y1@;}#xWq)_4G-@%B>iP|cR&3viNAGJFeCD!D{MAPgOZnqYx&y74Voes0mze6B zy7r+R-%;h7i|r|paF@7Vli|dvNt6=wEf4kjuK3MA+% z3k#=}$ld?pv-*Pa*!O|TSS-#Ihj@E0N95wp6-TS5O7Nxue}eQ*-u|y&w{?1S994L| z5Ig)05y9c%ZjP%m!T-p^X7aIl4|zJ=XA=Gq7#;48ULUQ8ep5&|-%tz<@yDfn{4xRX zWZ3W9-4m9{Bf<;2oPPP|p8qAV`*UZHKW+bS?m13dL0t!LNhru21pEyuqIy93P5Lh` z=T1~CUTl($=xqpz^oG2P+z$KKr!?riUHx~AUv*l8|LeP8PvD3qP&`ra`?JwNXg6y& zqx3FXN6l}Q1|8tFpPTlG*l8ofg>O&c9|22n6Vk zeSC=C{d*cspoyouo)9O=2Ir#N_kp^2wf#g15ZfyrT+-3W`qhpE2%22rmzWycDAFGI_?zzZb1>bkz-dAYm${i zF1053Ubb#zfEeWQ!Q8ZvI7)A6+(qSM0=|t54JKc*7s_w$;BBoeE6gn1inIdFAy{vrLk_ z>$((IAzj7^H~^P?w{!Pm!MsStBLC9EFB!f+n;&l^*rW`n-|;a z?5i}8nI&I~jcXKE=CI%YEM?<6m%RnV@Q}AZ42LGBIr{wfG4TT-bX(}T#Jz;!q(|i+ znKYrE4 z0yz3KkeR;lnL-Zs-+ALzQ9?Qp?z4)F1R7QL7smaG_wM zo52IIv-2#hPtbuwOYMpgtfjNmOzUf_4b351-mcG02bolD--}x`_q}>OR4ev^2%u=% z2L1(8S542DUzXwcE;00KE#QZD4@ZkGt*hi4x1gi9m}XGhv~*|UYyI9`ckzz6whM&6 z&C=FGjA+7+X2TQxzQHpdp2tZ9t7RV?sxyl;Dg~YitM#n=f?^ywoHXE*zOmECOp)m0 zkY++9&$BF=WE~y9E*p5EKR2|w>Z@uivPObOJ@EzHar&}3jc@tJ4BqU?!~e-x&!!O! zwYIMWhJT_aimP6JZJ9*s%cWp#z}b25BA);*oiV@E=llLal>YK8iIbJ9T>7gOT2B=w z5!;WnWiCaPA4FKr)t?+;7y>Y&Ae~Fyyy2Z6aj?6Y!lP(>9Ik&Bo?En zUPl}mKVDmq{mOgR*I*N+e)NH^$cyt8`A-cBmJuX$*ppeQt$(g~{}k%9kd+)==<}ly zI9H#Fs+&M1Ye6e4;(aHz1iFRfA)ZbX7X0ol9j}A!qQWw597VH0*IXQq>I1`+eYniE z1^a*!di^(8sc)}`EyZiJU7Q4}m>~TjyZcUY*5zQ){+$8B1UIr8>JDO3CS6Z=$J*}m zUUF0#3(f137?8#=yts*9_08v8so_Ry030wf)V1yK+omaFNq-r?FJ`|M&y!!Dq%hXw zO4AQ;1-)dn9;%|u-InI9?_3*&(dEX_wpP67X;zTWyU+tJ$+e+OR@|#de3mQfwIzlF zJ@DmcdEFlDa>Bi7f}U}wJz5GBC#nj8>w}CBH)^?VMx>q{nu-f-s&1i~x&YQKIp!Sk zV*EL=Ow8Z2@hE~5NV68kXwxKGAirWG2`Bn)PHJoIBP6H^0-;$-@18B$X{;md&gDp6 z8@Q~XH_g@g`PgTn1uvn`sCqby3=-@KTD@4=s^zydOoQx4cqNBkM18DrPvqYI-_g?qj}E zPXXWT8NO)EJ9b@XN^|iHedIQ(^=@|Q$H4w;l+K{P!$>FitOCcB!wiAY#ftD&TP%;t z=h|p&)B^=)jhTySKnt&S`4joXWB6b97)vn~xBLwS?K7E;T9L%~mtxczMfSiik{1{CBlwoVk|@HLaX*0K^zxBcO4NnSeo)2w(B>jg7tx1ouM zvq|Y89B*2FQ!CN4@ZgmLY1~U$=O)Z%#I_t5j;9sHO>DwuNI6j{COsT5<~jWA{b+mR z?H2>x8eU#$?ty_Ec7s$!Ux$>G4W>OEOlVuQo=GDz*h?Ff3Ej~j|3FvKx;cM<(YY;$ zl*w6Wc}y-$dRknm9y&t}aLjNb8czjmIqfmi!aVpfVu+N()YvQ&q<;w!wOB@zGKBGm z)lv>nGF*im_u#l^& zo(uR`)N{-4sOf_&_N>^JY;^9=Wt%6b%)O2I333{2sGGy%@} zo%73RnS+{!11?=nw^SBFR+GeSj8DemPo6)mvaU@AH%>=;qxmOKLgdv?pY)nDok)cp zP!zB0(m7x=6qD_ZpT!*=6>US(H?5_LlA5m)kt5c4qWPalxk=||Y>=C8lL2~;?alW)f+pe{)n}gsD7_e9a<=_Ls51&UHOOAqRx^myO7m z^O*Bcib%s4pGfjl;cNfxURpc7FNJxB6{0=>u<6aA$^L4Wit-LX{W!A8S-C7=76HI)X;>5o$)c-^zut+G6O zmH&&Ez3(DZS^DZUsI2g)5z+pR_Lr)_kOSMmo)m$&No9`8Ly~?rs~)WPvrNZ;j6K^4 zypQXIY02`Ww^@njxiqe`-Hk?%5}rPDIaN@iW4kZz}OvS3n#XMo4QA+jVH*(M8F z^FsdhguE-(Fa6-YR$7_cn5hYtvq)S4$pNa$a`Uc6{t>*f=HsI(A|SO3M-zmm_5n7% z(SCpNgJSMOzV#|%2YSEw82HlejMs>DyvEk!+8U9j%9HVG{dY-j_W)GCvTpg{KEcK( z!vhO@u(*dG<;%X+Ei4jH07BO8#jAGo-wUM(e}Dc#0LdL0Qu!-1IW$N4qVGtF!0*o} zk!6ad*uyqIm!BoA`<$ErOp}AQv17)>;9w!?_fOTSGPGN|Y3tf&{fCA1aN|HUw&#W< zxWg64b<2~fJ<+1RE_3|nDvZw+8Ynw#bp@c@=*$W_YFGnq;!>i)Yj_#@*E|nPvl{OwaEZ4u5jB*yvgdj-2`X z`WwSeIv^^g=nHN?#AQXq(M6L@*zLav(&#&yE7BV)pSoX$O@Y&?>yQOv6pZT|d``5W z@aX~z2iRvxIWdt*xY@UlFd-Z-@jjWdi|X6g%%*Vi`_5GB=~8E+_~8MYgHVBst6#(1 z#a|(~O?r<6S!d{nMi~R%q|Gw=gMx)^yu9gK3QO=~JlKJKR3dOf$>U>)8mq8sRlh1n#O}_!C|4XY=YlX3!LG%#16a z?pDhzl$UkgNkbrYjDEO7ycbdxIo1aDjMW6J&gQ?BNf1t{rAjgP()v#B&a@;ItuFBZ z%On8B&V%f;G&u5q1g%&3>q{!@U(xM&D&iz1XavPnAyjA|bpLBF8~YSa)W}G<0isoY zOgjr&zEbaaY>`y6pF=WvK_U-wx>R{N>EUk=_Z+M`Q2J$l|HPuR>cN%!+GW=$*>4=h ziEfy9rZ!Di5YrgHwh$Fh?IhnL@KFv;xlLxzkH&!BWlx-Oh zC9?e-VGKf!dCA%QRI0o2ogOBDb1i|GQM^^kuufY^f6}SyS>UIcKRRp!Zf`>5gXEvrXYD$-net4?oVTB4L^0{Bh_)j)wS7A-&~Bf)EIr-4h| zG>$pz;1bmPWU_t!?rj+ZyYNzZB~;J5vi^7Tir~qt)ipIw(=-J3?RGKI z*OKtj@1(3t#U=TcOSmQWdgpG7`Gs{^2vc#vmDn$nd#$Jw%FiCx>%zair0Rfx`N~Fo z4>=qE;XkZNqy_cwt}z1lO^SOTwu?OlARKp@BB9EYGJHQyoOFD zBl^x))6lbeSoAUM$budNT4){=7@j=z4s_>Fdm{A?k*qC#hQFxVVLmbWDn9WfjUlrw z!J(cWkH3Q71uI+7ul5@VM_hW^3_3<1051q&+=Lm!wJ6`6*RP*i^RfA#XnrewL~!`o zO5$s)h&PJYpQO{z89Zc|2|l_;U%K<-OBtR4AgZ_tkmOa{ znp6wqv#&7!kQVsqXY9wU=a^<-qZBl7#dj|=&@Ve741tJvDBm!^Xepz@64&MxVLug+ zm(P%LF6Er6`I!DPmI^d!GWU*>wOJ{V2DBva@aq-pYp>JqDnKV}{edlPjV>?AXf;|U zZ6K?#r%2t#o*v>s;#IxQ9iAUO@S<&~oCEFk<~#uNx^ns-0iSq?r^rE!K+UIb3%<{l z`SsBN5?2QSY%lCI3VvJY6;pRmi&thIY>YH0HQ9yZ1#Q>$LX5IV8@^^9sVXz%%9`OG z_K%X$uhnOo;V(Fu%Z1L73oRcm+cU)fG<(&9ES>EH##QbzhM~0HGs1Tn^UUQ~1RrZp z8T~6rdTGeRtr~E!FUy%ajU%>-!d`RJ!GP1rRwHGx4f!suekOytxlw|d(AMLbS&v32 z=M7uh&n|!PU0$`r;{`Li?1E6;X8K>s;$){LPn%F7BgZD6()odP9FK$G^N$dpgyA{MxU} zw{FE4l>&{}>gm?qERCBIChH^&qH1i7 zG@M%962h`K7Rp#GX1}Z;-};uC=v}x_RA;fEt}pyR!j3^qur%Arn3Ivd1g^Y?)ql{SVr5e}Lq6FX4`tVh+Lfu-Brb(itO0f((UHIiJW6 zGUC$%38jR)6O~Kr=2Ya%$$TcNI{U@zsrqVPADlQ4QKA-?Oj}ESA3hlUPREfj;HlN+ z&Qp_Nm)tdPdb)hi*WU(OHWYbDg1z(G(=*=F=pnWjNVgfH zq2XH7esUx}p&ODkvh+p|ZI60V-}UTygjU0Ph`VnoJ$>Dx_Rf8225|^og9?*x49CHZ zlt`2_N4B}qRxBD2#miU2Wnc?a5*epfs94@9H{!f#EvN%6%4ejAs6R>LXN)@7NQe2m zGL7Vdo6`=U{_f%jCc`Giboc2t4?TX<-+dDqKk^za6Du=LnjZP@SwrKzzGu$fycNIX zx9X;I!K{e-D2`~aI~vM3htMrI14C5jpZeOfXz#g0Btl8LJWb6ga<~WRzKh)A2233+ zM>%aCmt+=Bw6WD^64Ale{C~s$5v*%YA7OwBleW`+d64Nd{*hdnj9vQWl>uL-$J@n2 z*bc?ku}Wx8CrB=)PauD+5)fk+v5duTXiXx&3s^{@&Modj7&j2vN0P>%7LLh#CVW7M9Pi&o1^3gLn@Gkfv85jt?PG zYmeYnpvMPiO7Kzg#L0fUiUhOcSphtLQPcUOGI3 z{*r$T#xAv~A6CK{25CyfxCiUVDwmbpP;ZK(!6b7CKYM;#D$-hy}G871gddt&K zQ@<2+N%(n6zMbh^zU$TWNdbP*vyU!kwT{!&Qc#0vTj_@xJIwcN>P$;|`$getEm8@e zB!7Qcpr-w1RN?5PQ$(`3%hhLxcfb9z#+JEeC{U_QLS{#3aHd{(<);uHWir+`|e8dJYV$yjbyM0W}^e9j}w zG8|65I6hn|R4>3y=F(8p{0G`gSPKjyMtdCuT5{yP&DTK|lK6oBTUnQwDt89M7u5` zJ%nBdHJlwyFrbb&j_=BLr(2QmG$LKLL$TR+t^AOFJ8N`J$swk<~vs&=%S!xs_% zml-TbKgAKj!>NLFGSyJZa+SE29)SDRhwl%Emlx_3Po`Dc_oHCVNDS#$}H9No$h|QFgJJLpdRRp-58As6u_wxOz2Rsv~Tv zPvrY{+yF8l6r2xcDh+ATTi2z%sy|vVIN5Bni?|h9YgN*&ovh-Tw6XLMyw&#h{kcoM zyUc_es-J>Fh5meR(JO1Kd(ax!n_RlvPk6}|OpZ||nJ2hxB8yHiHGRJ zKWf$(@De!x9#S(5?R}R5d568dZ98vHa)z0Xm7g{@TP%Z1y;dwXWu==Mzzt>6{?Zqy zR!;Fn2Z7WkDX_6GB3L`PR_K;~rZc$qwh0v{FL9%EOM5C6FEP70AwGV}{wqlIDlT~S z&ftX&6Yczi<Ls7T-b<4Y zYZz#NmQ}IlygyD(xnfSm*^8r5&z-9f>`wTtLs~Slux*eBqF*Ks6=;V&`uRlg#>dKx zbEF*(dFvn>9FDm8-dn(NYBMz%L*BYod!?)0&@kyFJ_yT@q{kkhyv16q7h7OuthL0( z&lOn(8M^c;cXYDBYTEPC8SM?F9(jARIwBu9b?5;3{{26sm$>Ht#(t=p+pU~fM&_+a47$qx3*NkXqhl;3~$K?JB1 zgJ!$c$QI5GBZL;^{ol)!Ej1VkB{F+Oa>U70`PV>N zrk%#zmnud#Oy2n9M)QOs^soo$zdBv;89!YWUY6?$oX$Z5rFTxR3HS znc9l(g^igQ0i8L1!(Kf+dWec$Dc?(QI3J=JoUj%()hHKm&eqSD&!o|mpZau?3hs1R ztSo+LuA{Z=>g4K{Vpf!Ch=Aqf5`8GA;OiH8oW@_6Zpo^)CB>;$v__)5)T8RAsRuR} z9O<6}UAUW$FWVmjCJwQ>)F%0Lb>XG=^&X9kiB(=fhihBjHAQ~EPIitq)Q)KRN1&IW zhd3*ahD34zqY;MGroM68u(-#Zb;g5vMjW28@Rk}j(!vPUKhpAAt~L;qay+4yYm-)> z=JJCK!w6z)qp;7fseMY4ltct6Iuo<6-c-qyp=~OE2`)4LUJDeVpN2#UP!oyJJ*nw~ zn*8QBs2#$YCW}U#PlfkhlLU94{Y`xVGkqxeFj9ie)oZl^gfGJ581phj(VG`qBXCBU`@5vTVhH^9ZFVy&C! zX@WcBBneen)k4)3*FS=;GJLZvG{dyo0;GJSconR6IvVL+o%G^XYgOrsU#t}NvR2v* zg>Th835FyP#xQ(CxM!|JYPrO1&k2<7`zn}9Qt}Pe$w^!|65gd$VEzu3xvTMN_wylI zuldwgY;uQifPrGoS+c67xHoD_^OXjNydDnv1zAamqGFk5V~6PkWqhB@rK)@OsEzSf z_QaGXEDhiJqStAGe&HQ0yt2S=#4a)yeDbPz;#VI|veW`NjqGP{;=WdG))iB4drQF? zvZs_HNMgS%@vEcbm;4{ciydxkIgT{(R3_lV4bVsZSAE)jE$6Rn|HT{Uzo83#e_B~N z9~=1+P!W}P<*(xCNC+5T{k&6W-tAK{;0xSdTsx$v84Zr~@ zE>8Wk>-3f9#<_(XTXnTh$lEDL$?m{p;uN?^{v3nW>`*vyj3;JRCS9OAtNrXoxjS=< zz3khV_?<9+b}b<^Uy4m=ibM6Tu(a`Xk$RFp$c^*NeDP35hKSFaFEp;m3e)CUHRUoe z>ql~Y0JfN!Lmw$o^vJEdk~{8CIV?c*RnlK>vMJqJIkuQM~GXjMja# zN+lK_TpB<{JPFd#bt<}dwZS&`Uykf#`hIBg%pX>T*6SS!#@@givJ1dJg5UBtb_#(6 zOlp+ZcM7da#hkQn@2LtZjc(x-8jJon)iA{lHL;(&`_~VncV+vT4Y)zPvK!9&Re5Hi zN;xA)=9WT^o=J%l$FzrSfF3d2XDb$jpS&+LeDi&x`x6V_vKJla{{-+;?$-?IXM| z-G}iZe|UiD&c5LDQ%XD5zw(Hk z02?!>d&D!bXX-n{9F$HwrQ?B3?wWZn!IS|xV!b3Rcm5u z{ozzbUvKOlE@u%bbxq8=NEfLj{@J+Y0seP;M|?p`fIb|p`oo^~kHBKOuvkVRxDR{r zAN$Z>4E~kba(_Mp32&NN&f$FP5oaNRk3+tJ3g5P&p=(oanj!V6s^j@ zFydRBM{Jk)`_T^f#BNS@Jf-sD`JL>pB1g>n*Mqv72LWcy8FD`^vV}U@@5#G+^K1D& zox(Ai-GZ*newr+OX3|Bj1PD&?dm6sQw=g?*9XH~^o^n1mxKETSe?!)3{vU;j1mgd0Fb73;>9Hh4QE~Nk-1Zt&0m8MlWvzU_)Ou)Z- z3jgH`v?ALu5lK@k)sf)%>4&tzv#RpQC8A(5$luHGn3ci1&m7L`W1Ir14S}4k7$PK(Q_Nd8nq$*eo^sr4^rVv{%CSq+$&PoeA^d z8)bYeR6Rysu4;~`5hGznjC(AD`~fwXCO5|q?=}{EoL`<2rySQ<^eB8qGl(7Wn=Cq5wf2)hVjCNgI#YL%uw*>#ted;3o4qUVyNQ* z7{$%?5@D^c)hAI&tS_5!#B1Y|$fCG6BU^0Z6cM|z$$0>c*#B(kP{*FLLqTSRGF+Q8 zAGw~;Cw?UnfyDMdb&*p0(cbp#!>glTpTZ=6`6@j#5cQ6I*F282g_YS?d1UV8G-I{? z_=(2mWv0A`2HFH390sxrX8dU^=7$v(m!oo_l*vl71#a~xN+Slwb9ylh+hCUvAPqs~ z)`OJkv(Cu*%gbHf5dnDDK*)i2Nw<6Db>Sfd&gl+AoH6#bdt{e0d`~GXL zW+3M4*QX8vqXM1bjcv4uy1L&LRW^{LaIPIbRl(g-`#F<-c+z>(^_~e;FVr>~fNZ+X zf1SfAVg#ajzS(Q@=)9r%{p zVSK*Ao_2rmzBR)2^Q9C`LohGUM$Jogg%AP&a8Q%FY8L9(I%nJo`5;n{mZSI_D_0C{ zBU7b>_~wAUe;3l$p`cVgIR61^vU>Uu;wWHc=#Ngs*srUfWvMdG(bS0KeQQDt{aoOP z8RP&DL7p$@x}Pl|5=Z&V0L!4Tc{=%qr;pXfTXJogsll%!dsPJ*|NHdQM1@(K1g6a7 zl=Z6?(K8ga&8{ds^n)yh_b1m%cFB9nv!t{PsjNZE2hE_l7|8dzIXaS%hf{!*lbU{4 zcmCq>@ip#8W%mPat{XF8QQV%~r2ra;r6B0i@qM-^Fp4jEAB-} zs|&xN=()owrl}(V{;qVgDk$gA4)Nb_Ts5jCxuVFdhO*M?@4wXceUqq8_bq;QXsjf! zPK&jcR1I18WnLy{gTEG*JDdUWe_Lr2!5L8gb4N`dql*Aw=8N>JA7OfEORQsS-&jSl zz0dH^t&@hhZr40l60Wf18DDDI=PaGiM@AcUj&P6+QyP8y`9q z=|AGvyInjYmn$E3ch}Tay8$Q9mH6(%jEOqa@4(ycC z*#PkH=d%V*qXxf)2O)n)o~JT_H9xRedb1hVFP}DhnPRrn1TwW+G226RFIG=dYd+W} z73vgCG;M9gews9K+B@Qrb67AOJ7JG8Ion_6Yl6fg3^$vefnP_51Uf9TliG zdVfhbB&$Dhb3tz3d+lKJa5OHTLv^sP`%q(pfclv4TVla#o#YgAB%R-CORcm(yI>dK zXoSKz`@3}-$M(}2dEwseQA7YueccJJyyDgxAJsh>Aa=s>25}WGnCle+A@}axF9Yr3 zX;@Zo#s^M$Gq?V(B@VK~1yz~cp|=X_&3X9(tmwllhqoQ8KP-29+HG{Qr8%*CD2AfS zC42yuv3b7?*W7JuLiZ$kqlRJruxuJGuWAgKPY~15;XRzEoz65?_k_G?<7a5$SpP>r z79i04Slps+Cmhgl+QgyE|HOi!1t?J!6~tjY{M<>cZCnB@o)BIfFkHg^bu2~BTkO^@ z*xU8TirI>3BYutF_lP?&$_h|7fB|v=<;9w<0AJ8LxX^W|4o-`wbgHV-lbyz=ORweB zBKktBk#yO7#bOcY#d3j0EYjOd2lKd(V{}?9Ij4v$bka>!SoUK78-?yu zH^r}ld1dbm14ekouam&qx1K*aD^npO`gPOOQ%AU9X0yqk$w0})O~mCV%=@VcudR|i zIPwU=molOtOiXZJcmMbpO~VG6r?Z>Q)T2o(!EE}Z#z1O zs?=b8lo73gwHD@`eagqD_AB0->K}om3?2t!c#M`lZe7vIkaMhWTWX1y1A7*D?Jkrq z9^CLzDSIlE6Nh70laY-o-;}SFI{@Ac02g2{U%>=&D)N9F%gC~=yj3(G*wH6vgRrb2 zb-(FrLFv11-*=Pgjs224v_U|iAS2DNdcl$9XW;pCl>&&aYS#ze`dM9MAguHxUM%Yx z9OPtxJfYGP(=WMiFrHdb1}is`#u8NUlnI;f zUF9ZCLd%#7+77Q@{Pnfl>dIk2%B3^j)t_T-IjlY0-Y*oMW80<9npdho^?n|w9{Z~3 z$E1jgpIl2C#dbrRGc9T6KbP&~gT}#p%ATZMylZA=#tbaql*#T9vdLNR5Y_Wv7#{)* z@t^0#8ocQL7<<)TuG;;~$@=)kECD;6u&xmh_s-*zN{s`&Oj)-#J<32@fAs8&a121a z=GeSMpM{R4Eq^UD)AuQaWMh*5h&%q_k>xM@9K*LEK9kjNNy#w@-vU-VLiji(^rWX^ z%O>k*0tCu|ifOG_ljp^Z%Kn;o6@|xTv-$M4Hp<`gAHnB9@73Vwv=wq3Lr+EP zWX)A6dIsgCNUtk={g?d<0!&`nzAi2KhK)3VW?wNlTs%GX6HkeKn;4i%0h{fTQ+#ra z&1%C`K7}lqTs?297BO@5!M$anPaGh)ei7?lEy7n#1-QLERcrEunggGLpXf{+I(nF~ z5!wDDP{)Wvd=B`Z17H@SM(Z~=gJoirR+ z)USh_8w+2FIUvI5s+j1t3VIRXK!!e?Qx2`opUxNzJUosAu67U>KL@97=r}=94wBS;+b=)JH&nSddb{{kyMC;?+rFqFt=c#3X zSb?y(Z#3)k9HYPux+?ymSaa2USNH>hdo~fEP^@u)9VSY(!$+ zzWp5DF*nzEoutJlh45)NYM+rrA6P0uKKO45mvaJevDGwY?46W)45rCg>n*^%l==B`rcaY#L-ees?B_H)iSoSf30m z72=1Fnv~-g(GjK@CS1Hm2L_hWRna{kc2W%)w1Lh#`rBbLcJ!&z$`X2=^MFj`NW#WH z0{pfkGj7a+R$k>)Yu!28Gxv!Ps{5<95w|A_^?!3zW(8sUGwgw~5x3=#+ zmUq&dymk{O)`er5z-;KECXkFP5R==8UKA#=8c~ zJQfdjF%EvY5r2fJjCR|2rv;IJTIw)jEyk-5N}>SC6XJN!gvZ80k!@TK8QJKFHa1l- zAY-Ytt5uT3vwIrVq!iX7;AzErR93uek`}$$6r+`^9=%!0s6$dZ zJW$26B>4U(Cj*N4T+`5mn;X!^$5pt*IQD+Mkg$qJO~f_35PXn)$r3ojDd&*XTCeCl z*=zDvjnIyTk7|-11}%dg;|ttg|xa-#MfS68ks)s{-7=Cs9+bw)`

    Z#T}v7J(+ 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

    b}e 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 z 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

    M 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 z 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

    #)O} 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

    *o9`wJE>2+TYz0q| z*j+lbr3H`sQClmoyY50x!9e_w(hG!2uqx1p1K@- z^=+Z%k-#lq%`R@e-!zxx4%B24c_0GSU5(s}!6W)-ZH2uw#d@Cy@Ho=a=?yUrXSR&H z%!X2euF$wrnr#H$%ms(mSU@fuOvx~M02!;N=AiI+2F6WY>(K@Fw^fG3J>M0Ts_{u4 z!>-HQcS$2%#nF4E#^oBsF}t!>LHJZTGaaB@Ts%|&D3xBTJxBJOn7@aOy}(h*7P(2qbC5~5gC*GC~6`WWfpq~T(!AX&mt%% z)KC*GYxrv|58j;7OHRt235tE&d6l~vy6-dr3Ij(ycmqdWXM4f8hw7LTN;MP^vhH?0 z$l```dSNNFUp?Ef35jCMaGEvEP}(XzT()7n+C=UIm3G(ti2%>X&V<9(6QR^Y{2MFi@c<{<=$O4^7epkiu|_D}<9DLPy9VxWKJ^h=AX&3vw`Ry^AM*Kib`5N?e>a0T)vkahgN{ z8o|eYqG1xI`S~aiOPbh9{~_d((6J}{;2wMlHD~$q{pxvM!yB0UPqIbZ2WsJxez)QZ zTFmaEMnQE{NscUuP$!-xrEU--n?NDJNQ{*J1?>FK;*s4Kl;sbk019ihFGcj^GsOQj zXpq_7(U&P%9{i>c_HIc#3LaeP;?rRjtZ6=e2T#mZIfN>I?C)}W(Kt3HkbDO zy(=tUVOrA!B!A$15fobz?)etokoHo=WzNxF?D<{$=i*nwsdH|BhI;=3zIq#*0YtrE zH)L%j$jnR$47PJw%)#D;nfn|iY)P&RZ

    WWp?iZWJF{h)T+Oz<`T|YVo5E+%ZNQi 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ÏuB8m#sGZ^tj88TPrG}Wu3nV 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 XAYV literal 0 HcmV?d00001 diff --git a/packages/court-booking/public/example-guitar-traveling.jpg b/packages/court-booking/public/example-guitar-traveling.jpg new file mode 100644 index 0000000000000000000000000000000000000000..285647be5543c98b3f852021e7c99dfab6a4a864 GIT binary patch literal 457520 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

    rYAVsQS)N*uVd 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

    4qrn=*)ivoW=d!+OhUsww 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

    b0)1j&|I8Cf(!YiC^CSv*=)AJ}|Y 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

    @XbQJ?nSX!XYk50ykbHh zPj62e5?mz42Qf0K#G3^&2sh^+K5*iG5p(37K~|;~0^(+1X)hPT$*`?|8*Q&9KfrtP z@=}_y?Y+T)M4N*prm+f-aUMgAO*|aHY^vtSkIDCV25H9Iq3o|?mU;ee1UTmr((`>W zDs|wjhpKXjt5hj?b~PFcGUk}5N&MXUc>ocv+tZF$iiC3=yUP7II7r(HbUehi(drnP z%w5$4T48>=aF{IfrBG%B0)xy2+H8{-$zPv%G1R0yD0P#hzp{}#9Y7b4c$sJ!1usiu zvjXEDK(!X1-Wz=^HIlNL>ejdz_#Lp!o!r5&^ExoGmN(iOH%1$lz{QoxE4lM%V*g_~nUE>7(0G^^shHz=)lHn2xY zpB$LKzkkEL?ZI70*b=iYy*c3aR66i`2PQxFyJ6@_{0(apA?X*sQCSvA<(8k{?w6_N z$It68kCFl2!^QybMtltnpPM`TKlP`2lGrdPj$m!N1Z}gZjk*6CE|RjYB1J@m@d`=s zzPp(8t2Nj;7_0q*En)CuJjIpH7U$JX+3*d))2k2NJFXM&o_zhSw(gF5C2^pX&tc(N zhnvm?o(gIyHAGlV$*OQf-s^jjs3HK(|GXXA8^Cr$N7CyF>c1myxpv+AUZa|#K$qRs zxe4u2oSU!mIXh=(wS+9_{1Scx#Hz3$Y1 z)ai`4LOW0?u|U4pY%NPch*!mn`Kkk_q@6%)`^7$X@J8dd4g!R*^-DE3U?GQ`*cywP zMtlB=IcGKsq>6mj_0Qx`TMU8lTY`IE9tAG)Dw4;&Aq5*lo_zM0FbtISbBONcZdVC8{WSw42kEYp59M7^sz_VHUp^)qR+iV4s6TzwUx6A1uR!nh z?_b5~hT8nT1>mKEXTN#b*;ycC&aU?%{(7w%1Y5bDqd{!jlatu~-wNL%2z>hsbr;VG z?%e_cN!YAK;@0EN&+&A!GlHD2t6vXyR}wNk``Z=N{nS?zLK6tt6E-qz7GpkJ2az@I zkIG5OW`~>||2*%Lk5m{dl8;;wB^wKgMV#+RQYC6ho!_XgvwpePZn)iDQE`&f_?!P@ZaYoi(UR_4dZPV}m zO^}9U1X=%<1I%P?*9Woz_V>?jd4D`OyanDuI*7xKj#zI(Sn<`3EcrTKm!OONNjZ@n z>C>BQ#a5N6Pe2xAbMVm7%$?Gg{B4$Ye3olX6|{%fB;N84&W*L7<=a33r&s>Je-_MY zI9~0Sv}N~2dH9B?Or)_|Bcn)lE^(z1Xt$&_WrQ3m zU|5fg(_h%A%Jbk%l)Y5m=BRPk^ZmQNBZj-V;1|-6I33lzJN3f2uBMGcbBhzt+6{`{ zzIR<`EN^0P$UA{8`gtXJyRODR=8kC~lq*6U5qx$&buchxNsXD6&9FWNi!!ysvRfTW z_A1&3x3_HjhnxReB|S|qq>_HLD)EcC+QXl+Y(n)X{pZ&rNh!h5OHb7kRr=sx8%EP+ zZ~SA>x-G*7t1<+}9-a-%$v@qGJ)eG=^>(5kSf~afu41A%QY_+dWo9oT$a*4W)k*6L zRZ3WGCVwdm%BL`Kg1%>tpMWPOcfS3R~Sm5{A z1foBq?Xcfp*@gKAPd;!tepO^}IYjonqgVEe&t!iT%fmSp!9n3O6m`)9ui(s#>!|Px zs5bBU$-hY;^Y?^^?D6B*d~CYjoHyg|TjM0C-dK0Lcn!#g3FB*7!&>b49t3rm411M*|zcXZO44B-jC9#lWF zkC^-J&y&o@`5(d3Q$6~Bxy(t>!lsTb{*{5h)=4oUW{YNvO+J7Wh5ENg&oJ;g)%#Cb z2Gy&NDq@aA9z(18XnAt0e$~7X>{6;~6sd+9@@+@l^KW_HwL#H%;;l;8?U&R?{>G@} zH@;#Cvi(3M67gxU_ctN23Q16T8LnP-o!zQKuhK{WhGLx1sI6Ei(M6Zf=`T~Sxm1D4ge)Xp0t@x`McsPt}|k$7xi_`$cQn` z+LwScCg4JoTgC5&Z;#USXePB}=SoI+B`0ziy*9K4HMQ~=v|BbmEgcrb{OR+xQQ-?$ zhlVlrXw@#F;&=Q0#+bA;DfqoHsV{eR@k;p{p>Mugy)qb9#@6!G?U!tI3v93wBdKx^B&ZGr0Qr`nK<``8SriB!H;XC6)PZMmK zXAp<{>7HC$qK_i?5ntLr1LpfXJ`I(E&9Q(4S)~#ugNxJU?qFcijVy*gwZIV#T{$e~ z%sd?Su-wBJLTHcI9j(%w&@pHfjT73^@jrs_HB4luu+r*SSQef1*Y>3HGkj0sMq$F` z?3S46+CIs)2Ik`WqIvq5tN!tx@eK#qPOd|ZE5$6ox-+ei{{yPK%Qqw0;snN{BxHY^ zH=(JblDFBSU0owD-~Oz`Yyz&OK4Mbv;#yiKA^Rya;#j;Xpvetgt9r?_=6*w!jwUPR z%>37rO^fsH{9NWG5eb%7SbL3i>C>e_)+hSATx79MBJLT}aMw&B^;uW%HFyylu4FOb zNUz23Mu9-I004m5Y^$-Vzv##JVV)hApJ&sOL{WGB%VPe!9dWU(Ic45=)`}_ob|{pS zWGug^9-pC=>WK|SM`W_A_yX6K1dnEz0{DG`#+YRv_nm4?-jx122g&NLT{nrbuWFY1<-$PSm5*Kpir}#S_li? zJ8AUp=bcbu%Q`DPFX>RLW) zjP&ZS$_k|u)mg_;6x+~EWZ^I(Sf?8MhFLehS6$SBo5*WurCeJ%IZl5A#$!CNBviv! zP&c)^us(~&@Gjs*Rmz#}z`|wGs?K!*fO^(8ARSOwpY_6@tO|{z-8%``e5UD23tN>_ z9dQ0?)BI@-eL%IUdDlXTH|Z4NE*~{SGP!&Q;b*@VkO)> zjpFCY|DyP)m8fJ@uzWpj+%=GU18bJ|aW;yXN9X0v7c!)7 zD}8=#FWUYptWixPY2>5re1GqW2U;W+0i}`i$jL*4VBYcy#Pg}OUkV&|LXHr!x-lG& zWfYR-+7)bqL$^P=amU!`;qtC!=XXOyutb;@e5{GSuUs_A1OyqJeHqNA){NoqXgz!I~Dt14l#0w(@Fy1mwUp_)@!jA72|Z=CasPlnRsvYXRV`|VS9L&9%9-_|ME zD$K|Bdx7O9+9+|!{U;z+b6WT4HeO6cGCRbVfxr{H;BvViDi}IN>fUQ{0D4?Z$6B zSn0+UR^cmk*#`p%QNm8Py7q$yt1Ho2gf*kjXTk26^iLDEX$xAhE|g3g<35S;heIrr3n& z5VJw-9LgEEE)ZbP>hpa}=!;L(I@uK{1yDFxjeKOL%%Y}VRz=TTr&k=4T9?Qb@SaKw z=Ioqr$1GYI5Kgb19G3sPkZ4|AO##-sWdwgubD+mF)os`>Ihm)G?>w-1&a0L7IoG9G-s8;a`AoC|?OuE341OE+=;LiDSoimy$-e_UGZU6u!yl9X$$;zXa|%f)y1Ob!yvl9mEf2Xcr^|Nt|dk&uqb>Mio3fvbttB( z+s9UkFaCs|$Fit16$_jPv#;Xg^97B-RAl6EgvvBOSfCi^1=?inSYQeq04#C3qKgV)!Cevk#zn3z3|&idw@=9umN?0CUONlkn=q z!6~8g&3|viFwh^btbsvCwT|{waEO&o0iRIe*J2Aj(`}!;m^?ZY9nBM!UvM|WjWv(+ z7wTG~)Hy?1aH1tCJs+%AtrZ7)(LpQTxQ}_pe|(_aaI~F9{tcw74@ZSjSvP30qRqjI z+&%esZQ;~j(;t1lFk~vHB&&@PUpGX`Q);^LZKd_=X(W>2q#-2Et9^5Yxy+fF-}(pk07|A#*9RK1-i3dP^a^{u{U~4Hc6y(^?l}<3C$y(4#~lv*sy_#QesKAkW8*in9|q)@!yg)CLuqq z6LT{RuK90N>)z0A&tv9vUuv6)#9f+ zv5EL?gPGZ%3)Z?^6R{cix|-tf-*;=b#9a8w;7pLr?6mJBX^v?pML2X~sYmC1-A9+V zs^9w!@O5UP_$>bEL!sKBOvoL@HO_9zL`LDEV3BR}Ngj0YTr8XVOIjPk=3c|MEuShR zW+oDg@p6I7{DT*Fts(X0CB)Be{*0s_vJYlI#^raSuH_L8C zpHCM3$ilW(cV9uhowdUj5^F!H1*JOcI4w2Fr4;r;C~BL2ZGV0O5R!@!VXSde9Nmk} zPUnD)dX9Q|$g5*3VlYn9<&)3f^llRBaCOnO)$4s$ry=xq`|JhkA0*;FbMKXBh8`Iw zS&?;v9l-XQ-Cjvhb1!OwrfmW@1(4xaur)5o-wspLA6QlOT`)WUUC3#!LMmf#+0K^Y zpNfrF9Ahaj{Jsb;=sBD}%>{wwh_zl({0Q&?xAYeJq_;HB4guXDqT9MXdc6aaahvp` zv`$hAc4Kq`g1sIh&YHq0?aChA#f-stz?WBw z_E{TB%?1=XuZC%8qHkGo+86+S9+-}(4KA+`JQg~;Zn>35AC1%%`HU!PsMOcBRJYW( z)?oB>=SR5Wf9GR{5dE&?F<>h^&>|-v2kgAVUlSf)VB!mV$QS-yyvDHX|11LouXXX8 z!@7lNhbSeos&yGAz-u+vmt)Ksk@r!m4vQ@x!p+~_@|z3P7JTc{P<34%v9EHZq`Qv- zl3ZUq=(O*X$a)Ch9QD%F-!ygnqmf$QA5Dfdh0_?knV9@h!a1>gpwrs^>%i{k*6RVU z63GH|VO;NMazurqjWUH}$ls z_YCx`s}KV|lgjZae5Z_8?A>jTC(ka~=L;RNWdWV4(=AyB zObOLj&*Ie@yG+F4e9Nc?UqSoyNrU9wJn5mON1b%q%gei7BfI?p7t!~pj6!|o`roXueNsU&>!?@2g5B75yGIVQ8v~_%VP{FYttxWOK!G8`Ik8T$G_nGaiuJmW=|v@D(QpN*#jOp z4u6op!}uE7~#`Ga0|i7_}F*lnWyePmo#vqu#}D zh99yxp-VOo|M-E`+vvnoAJ7hqH-ksv1J75%+x)Er^!>!4RsFNs#I~*y1J+4pxkh#i z)WmC*iYx~mB`JRt*}Nj6q|AGgFUM#=!Kr%X=dtTl-J`;V^w##ff`&{yec%~G)0LpT z3kA>BV@6OYc|>6t%&ZOR`RoU`^qeaHhvb;pmN;lzy_UL(|J02zmMh6_4Z(sN>z;Y) z=CefDd-wY9f$`vR+K|djoq&ArP){_~h!{MBvVMxVch-uSIB^aUDNmUhLIdfPu9b|_ z#j9M0$P@Bwzl&;QvxH1u#mv=IKVf|F$}uH}%U&;q=N(f_d5A2i?PiZv8k>+q4J}#1 zvlt|*q&(~rc+ao*HtntXqL6KTq5Vp#nBAHjPzGM}gd+{iV>jeHW@AV#4RF?X%@ zrVA~3w@|d>r$8mfF2b87`7yAdb$g8V4_5R<w$-~DE{4SU?#aFJaW!pKSRn=<4pSrS)%JO0|#S|__;=ac2FH?qQu8W7HrGC$>@ zqP2-(&9(pmMUo_Z%d<1s{?rgd7Vcl{OqZ5bFjo8y;_vT3mMzs1tCMn%TD<T(B!R28f^zrm!uahd(0>o`1i`_U8FX&NtYl){&>F!w02dl;57 z{Dd+I6w&K`csMe4A(;KrS^5T>ue{37_<>Sva6r^HN)xr9#H(Xq_c5t}jntwxkN8uj zn$}{%8!xRxj?9XbR#WxsmMn0g7V%-9xJi?Y0ByyXCT;oE(P;T}H-U#2(L>&DRxLV5 z>oP*~UlitzPJm!aw(h5L+hEeAov^vj8=N8CUe0Qh>dqg?u|{ z360ej4?H@CJVm8JQAu=js~V~|{f!Q{54czP?Zpcy&}a;{M;}f!uKDUvtxsS;>`3|O z--L;H+WyI9D%F~YkEckU7|&n0RC9^8=XMM*Ic53OTU(7gXxBcZ^lr>TVjM3DFJP-C z?*l}!JrgbV6_Du7u9fJ?rnnKn6hs%9JKhQ4yfG`Cn4PwJIQ=4!N{{%!MTL%_*#p*Fwa^!H z=4xwf;a6F8!FD;g2E{6T-l^w~8*3RYdk?-ZaY6g3Ah|3yta1830 zUSeOQNE!{Jl%vVug1;QRc6>>lUAaG2$CdT2-{xXgZm6}6@1C4qe*~-GB+4A6S9%rZ z5j`{VgxK=JZ=x+NntXk1_v&1M%8{zAscS=fP{GWy1yJm}@!EJuPaDasyN|$2JTivv zld}m|)#~*^BE=G}a0Oyz8LLpO(6bWpZ>If$tVjunb+Vh$Kk8h8dWTiI4fANMN5dE_ z^f)^Rf`(A^uZ~dxXZ_mPWS)deyhyrD z0heUo5Nn4HQXpP&O4@tVT2TzlQ(3*eKQS)o`mwr}N=4LP9nFg@S_o29EVjRJczsk;nQ4Zkjuqxe@{5eErf^>dWyBPe# zX(BXkcaZe}PP?)0q;x$KoPM{9Pa{B3ldBSk{{8b4Z3QK)X6op-}4ldJ=Lf;IFjvq<(6zm`E9gy?TLamGbAyt7B= z45IF2Hy^PQy?CK?YKNgb7p8Z+JD43^*ds)JcTIsl?J2)7Gut+J$g|EVhC& zY4JbUfi+GS^;dV9?)m$q1b6Sw0JK2X`>okMcPy>bKG~FxMS^FC{&@Z@O0dR(wDH;u zI`7QrgMW23Q>iy{Ef@-mJ-j#T&9*nOzvh1^=Z(QL_c7bO3MiTW$crM#13Z_kcm0?U zbhogkRa|a%V=-|i6qUx-(avIlE7VW^fP+hPrW-W;Rf#!}WeF}8tn*$MB3szm5#1Hr zU->c$QU)tXE9ee8-2xb*3)Yp}ScQ9aeDV|=%=Il#$(2PirR$`cn(Xs;Mbj;vpq?MS ze;W8!4;kdV>+^Loh?krW_dVEDld9uU_fprh0eW{W?uw87k_}kpyEe6qN#pvprtqbW z7ng%=@A8K{t+k9@zK8Q>i)ef0B+e=_UABs>!pb&_uB*2s_tJVT8#%M`Vp{9J`?9<{ z`rKMuMeCju_3c@+HZ;2rf zpY+|z7A!E}6xue6`f(%!*vRe^`qD;w`$N>79BhvJb!~bB!8Kf~;zEpFk#F!bp2xea zMA((EvKwtQ;Hh(c9#*72$u3W!Ot=lKnQj56voO4cRN_VbVv?syK9Nb zI}mmVSg>q1|54C(ypDls@#D8qCOax2>GYU_OU&YDx^JC(15t znxU@e^(q@(Ty{s(yRG3$-Q>hDC(R+U5@omww`P7JuexxuQ-l3N5KC&uN*rA_E&nn1 z)Y;gM)U;RD(j`I{KSkl6SYBBe5?aWM0No8tv+k8_}Wtp(5EUVAYRa)Nsf=c6^HX>cRg*sl{IvzQUdWD=?N6(xD9k@%) z1&>?&_GV|bT z{v>!yzrlQZd3g<79wPX8nNIHxI#2jB9T(TJG@2~5W(mk4t`J9D`0)%bV>*- z+qvUvz@SxRIe#6kzo{84D*h*4989&u+2}{9MMsvTUPZwd)urOe?DdX6_T|r{4-1)j zNq*n&A^wmrAo>mJ@dPN>fWqb0-kCa#bVq9(bb&umzpVvrNx5hEFZ|%h?)9SOj&xtL z1M{R961rl{Z}+6q4#CDVWcLgE*f=td#sJ$G)T@G0#=@i%v}Uzq;@lQIo1Nsw5IH|} z2Tzbg6jIk>D*XLgy0JAdHLDWEIHqgE67&y)^7(mVw%8TM8FL$hX)%(fqdFFKpy$JA zpKK@EA$-Cm?`QU~(Yg_ZYz?&|rFazV?Sx4C;O<(oz|s_6K9bCF)WH(9{E5u`r3z0G zJ1;Sh4=4U0_y=>NcebX4+>ai*#TPAFXg-AI76owGYg4JO*|Mj8XBRvt5E>lfGkilH zX}Zr;70!TG z@4oSog}+k9lNSjSMp<*EF0lANDRydf{FDs((JzGaJ-vK?aPoC$rv{sjUo8}*0Y9gh zYf1WZWKIkEjyH*BWmy;)?Ar|0#xfZxr7d>y(4jP2&ylG_`|kV_ehptaKJqtE7Bzo; zs@qT1$uX0=>^QKpd0UDR(!&hyH|Jz&!~!Vyt^~7d^ru|ov-0HfKsKuNP2U(yR3`K5 z>YJes8au1e@E8;dm_r18Cp2Oq_}3lZlOn&7oazlPa zjGktdXtd99nfIAQst!n{kM6>P9n)6GncN-lxS?<-$$YuCL1AalT+nr07y#rDuYB)G zDOZ*8&fS(B7-ZzWNoRnKf%7Xd3}_acsCf;}IxX??xlGLL&9X*( z|3%$IEp3D5dq9euwq51480>pg`MFviB;#&2=jJ`;B6-zZT;qxRf$X)p9)2L{?4QLy zm8y%~f}@iPe{oG5mA`13?2qI>OV1P^GmcfSb3C+5Lpi;Lx|f1AY`oVK@0&ZGm^;(@ zGmfS^R5;B_f1`J;&3t>Ph+Pr0*`8*2{8f!K{1uhHt{R zo!-pM43yse?~V#<|22Qvxu)B*XsDsbaNo7i6!c0v&(btg+ozp;!3dY+bLnpPYs0@G zSlr3yWY_=XdynLJ@mPSgSU}D({NSSYWxAGj>#?10Me5&cV=ERHrAL~|3dV)>YCQFY zwps1=fI4`Nh(VL`uG6I$pqDyh7N`d73XDgrZ6zp=+~rkeg*lLE6olEn zo>WBEYG}e$avYCgT(%Bwi7u2Dt@az^7rM4y_STKFIbPP;XT($oOVT%~`MM!x!jfvy z*!-RArfFL#%VAIDfLHJA`TNyyybi8?Ef%vW+=xq`P({bEA?e9_d+aME17 zt^#6!Q-i@{;W0n>D~%YnBw{`F`A`&FNd1D}`7;Us{B}Is1e;DoyXi@{R=O^VBc5<) z2UhjK33QkbnzKBUQb5^kyfn9JkWTtL>h^E4A`($zL{qn+-AT)fMLHIw0Lv7O%CD6< znWA&O)vr+$M~vK0E8gB&o(0Q-^7@w_Vdj@tT(D%no~}I`fF%4XuT3Yx%33rJNdi8(q-H@!1mk8owa?l};&I}~*`xeBM0<`3;<+(JAo5Mlj5R3_W&02u_Pe|chtjibuSmUwOx=d&(J_}r&g zV;vDCjp#+hv{T9R1FHwbtFYw#tXx>wshN!0^F}OLO+cxr(tKuA)Dk~2Nj-bC-kT1w zaE{I~aL{QS6p*tAaK4RwlF}{IVHe;P6ElRNcc#*CcPZ}EPcsp49@JSVKMy*`WICt_ zmPg?n;(Mk`3$ixXiCX_7NRhFe&g~u!49xf@xqn1nAIRGN!}LUr9U(bNum@4tK8&fD zuxZ@z98-9AL`Z-BGOe2O?Vo|e*>n1_?PK#2sD`URNLD-iu=IM&&1h=RG~KW5pSz6t z<(*27BjqJ6rTFU;DcR(2P17<<&5 z5&G9qz+EWWjxsdkg`3ECqXzm_R?we~&^YL0L5robK-)K2)sOuMR!_gb_haLw=QtZx z>mckXRzVr0wm_ULSdmpuw*#gS&icZoHLPdOx43{NyU5Pb+!i&d>2HZWum;zi74yU$ zi96DchI-7(;e%@vaL^PwzVcGWBNhWyauG?J(@3CXQQ;tD_){=HtC_Y zg3k#ZH?iTR$BdXvIS~K19y_xVP_jqY3|rX9{AV~zX|^bClp+I%jSZ`9Ljhv9`12wD zlI>ypYMcT_4}em(*AOs7vnHd3LQyo6$Z<7M|7EILj9kt)Gopap@%gP zrX<||5eU(8Q`EJhU>iC13(e|+3w&a32e~nPXWbi$F+9KT|9_v1@`UdFl~WG9&^XYQ z`bqwo?dn#_&q8+AFOaOP?6qU{ewL1_?a76Dh+tqE(WcYR?C6~ZepmHHHSEC{WC(u? zWi%ib8I%9{AHhAm=I~HEH2ZWm4y$qgJAEe?yUwJJS^|C4XD-{b7l#-Kb4FNiTb*JIC+XR~9L~;WPfes~ zAD?Y~(KZpEZYQkIln<^weay}27RaOdvYi1$f9!p!qFxY#MqvttiJ8C(??(jI;c{-;P!Eh(Q~Z#6f8m)gRTSbU@y4Y07DD|yLW+l4>z{HO;k77>?F>U zT?t5Bl-;I@JxQ{S_@7m>vt?fUZoS_LOV^!B$sWj;?@|`f!GUgvv*GyQrJdKBVB?mb z!oh{;>_ny^|I_G#=yIg;>D-opKJkN`lWWLMTVv~?OOCYqaV-B z>@9zEm_jB(MUoP}ST~J`BFj!T6@ts0idK*>Y$IkKym|OyAzSK)S{zT;_j?4hhR!Ab zp3xdWR-~+BREFH$xH#gwIZc-IYIv8D6Pgg4H|{M`eY2ZDjU_=7kCsW~4}6)U@Jc9! zS1(U_NDauEF;K^Gm0xb#a4yg@Y~R2XnhU7YqZ$1pVAG_d{VCSXtp_vowF{odLRNS5~L5=0LP9sNc&>X0u}%>9|;Ddc|oCse4h zLYh@s`TK*Vm&HACo~(MGMdLZ>U3(6>H$4BoiL+sN?x~Z=|4Oeu23CPUv@NZ`pz1>v zg~f);KE*2mORc^!8!H9za?tujo7|~Qid{nzq*S){7ZVSD^F5u>BE zVpJ@%gOA5(@eW*ab3-J8pY)k4SJZEOO1RpaF1y+}x(--kVpP1%ew(H8xoYtpzrE6v zriZEDO^fUpT-R)!9u(`gJRo#3Sr?G!2gRF&tL{UR*SD zWp$EKFKw!G5qQhm6y&-Edu zC-e)`!rFm8Kbd`%*lLLmDCWn$lJllwZE(CRYwCqAxVXN40Ws{UMOFk-?JQ z&W4I1Xq|@&jLeOlLnJWMKUPQ%ZZsejJJRCm{uS`8oVDwna|z6kRD8VS6u2xc@y|pa z=8txNx@+S9YjfrH2U1a9@~%^X+^wPx7&}JoxI!*w86KEf)ckmlX@&UmKLXP8fOER~ z7^dQLHBra2*lUv5fx@&!XK}jMKcZhOMPgHRlF{y6_*7WZ!mdd~>#7_XTU3acssB@- za!aL{>n`cOqyYGw**mtdbF~|lBG6K8yp4If?le-RV24prh3vOm{OS2;-Xd$euW6wX zY{Hq$A9ObA8UBy2^9*ZZ?Y=%9D z2>~e~bfgPN3lJpKgeE;fN~q^Q&-eFwKg`F>b!FzBnS1ZO)^GJIDovUvgHl&mg(}d3 z{xW}6UEUX?>Ss5J1>B7T^Z3k9x#E%qcQCGc3TZPgNV^Xh)NXVzQ_GD7X7vXySTLOn zp7%i@FK1rO*uE4U|0W;#^Lgg8h!?z^qxq-mpT8RwtOwC$9PbC;HYn944x;ptuJ)%6 zhvk&`I6$J=eiIItgH~0PP!_@i^bth2OHdQ!Cp*q{TSlM*&!D9cQIs=ppwJ0+imMBb z;Ht5;bIIYxwb*%llS~B2Y4Lew#kmR}1Ekx@l2HM!ZG61~VClS291Y+mb&z=U zd(>}F02p;K;&xTs1+VQNziS`eNQL+VKEIX%6P6poCUhZr>?TPryu*6TDFVv{LxSuh zJBH&aZd~b~a+N7%ns=c61`ly%Y*`MR`jASi&i5W3J~hc8W8)gXx{(qMM@G)|HX$-j zD*T|GZzG76e3*$SA}Dm*D0K4PrLa{<2;sbDhRp3QBOO3(_%jV=TgwgklW+`$M}QI$ zdG;Iu*9T8v#2N*gGgpGCqQz0fs#|Apz~_w!aL1$TG9z0QPBjxE<^{gv(Pu+aCggfd zATgJ9y&om^1zqVCC=9}>f?QLxi*nS0PT#nKK|#^y2|*mxX8mT|nN69C?bT6L3E~8` zb`h;WlnUK`cLpVC&~Br2^`2VBnR9ISwR@N@@D1v1ig~G!#Sr1xsk`PJ9*y+Zs}mWoGHiV)F$}1~ zx=g!HxyIdN)hgzm>lN)@72av)A4Oe_?-%VDPQ5woRSrTFr;3_(;lm7(dre8PF4_{3 z<=evOspO!A_FF+>?a{$+a|xS^jG-7C|E0byEXjXc*aWbTdwszeJndefKQjV}`ppMEjO|pD={e@~>I=Ern;rj$Bq#Jt(JoYvUMg~GQx(p$uwi`{3 z=+wFR;HQPu7_{u?_1coSWaETWY5Y%T0x7>K#CEtu7O^{s^OJwR}%53KB zAbJ@#70@Chp>J2uQ(H$u&y1^(6jf4{N!l3mX57-FLW6;g-D2d!Eqh*1Kw>uRU3b7+==9Ycg04o(*r0YFIG3jd5^G~R%9tJVy8b4##=S{6d$`5mv z?4gCH_QOp)?EY;qQmd`Hu4$64Iw{s;W`WV^7wzfjZ=KCdSMk=B>CfwKeBe<83|+M) zAEz22_OR?6O1-&l`8e~H_-g2Y#O!(Llx!TkCN{P1R3FHi5;@!CvE9^frnp6OL993{ z-lRh)x)jw!eb)q-OI+dl_YwYQ3Cmx>R8y*hduTi3v}o~k4grI zSM>5jg#eH3Mrsxiif-yy4l-92Cb1S_(&7Sd$q(ZKbB$B_J>Df*+ug58)3<-0wl_EE z(KNTTAXF3_T;mP6?PBcm)s@Hh#dfbbpB#SlFPZ%_FIWS&(AU>Ymw>JPM9?*hmE7dw zJ{246-#w7Wi5B0cC5Of~Y7^u&^r7ngXz9jrn{Vr@?Wc;mVUNAEaIJL6nq?06-PgZ)$pub<~u2>BudbD%F|HhPcWmN}J4A($H(^LyvFWViV`MJbKRKcK|h_ z|@cF@`G;=N4P%!Q#LOjH)z*;EfsAGRgmWz zO8&CzRWdG@Nvp#xC0oFNf{FYw?La_Xf6(acOgIU9{70kx9}VHA1UE^zhmk$t#rXU* z&=il#a0*iwvmE47%|S#Y1aJ~_Iez~t44BcvMsCez-1{})V3P2q9Z#xtX@tATLHoWA z(wR%gc*n#k5odFnfS7A7o04)2Mpbp{enIYvXNM_@OT(-WgyxEWXx&DLE!`{JYLsFX zv)Lr9k<9u!#WG>Kj!BQdUpK>MfGVbLF6Ii{I4aY<+U$sY^VT|%JG?jIM{Sn?j$>8q z0UgTQ>#H@Vtwx%zK>C%huYFlWOa#9-zBXEa+q#&oZXm5BaC?Twa8qww;?48^Jvn-p ziy2)Ef4_z2-E{WOCvAvChmT)Pr2g)K+dDJq#*}LI&Zvv(FW$v3YtO&?+{0hM8urZs z#QeP9fgt_ula_LvLRn7!vg1b}A7gLmzKvgQmO2mVE{aveG%wQ7>wLe;0;&;DmwU}@<*xtgS6NP3o*JANCFc+o z7>2(3zWsaoXLsP_%a8J+1PgCs9ZPa-(1#7)D-F>&UBM`cCEu(*fp8w8J>uh$w$s3? zYaqS6_j!|kABjK@qPy8ixOAb*<0_EoQ2E9n+w|Ck|+v_$Qw`2{DP5+YNy}F#{at_tl!S+ zET6>xaNC{JW>h-$cb|%`lE!>*(c(EkxwzEs)EYFo!mchxZKSaGfa{C_jbDZx>;&6= z`R2?{^!>M+#WP?Ur-p{qmdWIsHIf>i1K@p=1^Qy0plFwJv~IuQFaxTvNT_0`ux!Q) z=VLRnpZ>#-sVM%}W0P8h^HX|`qCnsC!VIV|Yd-#{HEAcvHwdS}l-`-ki3ogZGUnwU zr)hVCDlGs*KUA5C$re&-(YZU%1w~i#PlV^Xr_Ts}nSPP(Q}!CGaC^`_cJ}B4kRSwf z+LC8B!Pnz4YW(_-q2?BTwgm;qOf&Kx#JMSOK*!$an_VSFFtz9WU;@iTpn4jUcWQ+S zv5)8LM(;-f+cX!A2m&^`P38wdGKw^0PFm}<<*fIYVC+1>M#9;kd|(}R=JmsVS#YMV z_`~`!TN(Sx8+G&&6#dk_GG#DcWbgOjZr2WUiU%S&|an$590(W6{rY7 z1toD{(T?h#^ms%PpMRN>!XKL%5}o7`+zed03eyabZX1>`xUbTsftegi2zNV!_&kIW z!cxF-`}7DRXC0@wiGK8j${-Y&U)V*$1t6$aKG697=BIkBz!O)e@x1JLs5%?PqKEH0 z)n~~&PY6}Uqdl{<76+G-yi$LXdNf^m_Lzw3&yPZIl#ELo2kB;Th29|E=9+Xv+=2cIcEU~ev{ifIWpiuz2EF;A zir6273ccUztiVZe-uok#E`>Fzt|~5D$@YjlU5)C&qvw=%;Y z^HtGUlmPf;Jm**BrxV}XMmbhNBf>x3Es-SQh)$CNuGH_8GQ}bg3#dHHOw!_K0sF7z z-;56)usT&~2dd z<3eh*#hxUgIr7Ag#w7!YZ4JB(c(CeTzB4L;GRv3Xc% z&UH6`O}F;+9c95q`kcFHol6fk&qWaskvbTJ1S)qKq)}X7W5?sGzd!TFkPR7RS^&dvLaz-_z^dC&Xo-)REP84WAE^jSJS>n{vdlaT?8eQ0! zsv?k?n!I`}vnqzmwr2GKRg}>67?&v7^t!so&FIcymB7RO0+U}4M$TA04~+qNyHVuA zKk5Q!_ozN3de{?k@YVs5k@mc{%lmQd!qV*qQV50n|FNWM0k1WcqpGePG`syS2epgA@vj3yS)ZBMjykGc>U|6(d zz=+I^ZlO^mIa_1#C|oi~7Ma|K1^W$EWD9H6)U?T`ebQHS6~LPx$PP|oeIi}#2#GVZ zW%PII>&JAIUlhf*3#NIrzEG#Ne`p-q8vF2+Yb;gAgy3&ws1B4=CMn?68OstMgd0p| zu|i#poojz{GNImU&QbtKy$NGgk=;r%ZgKN2+^KpKtdYY46of`+PE-#f^~^m;2;#iJ za%(*g@UeYLw!*~k@w~_J@R^OtRo!+0{Q(cP)*UJr7r;rGin6fZRr@nm+ba!|i%A^$ z)QH0js*?kGX-T_^$iqyLC?N+&oZZiV>YWTJ!jQ@MlmMC1*?x)6qR#*@>lt=<$ME>p zYfvYD`^n*?Lp`>6Y^&(1Jtl|8967t|T+-Oq7-m(;eP6FL9h4Q2xSMcuhK8>{V*4YB z72gicetmK84SU)lIAz{Mo07Y&W??r`{F%0;d+!&xb2i=K!zcNB@W=fd?yHE{VVRq_ z?uI?%5@7?8(q_{X@gxgFTCjwYCluwBowH0;MM>rV(Q3q3ZEb_#4V|JYy;88cWT=<_ zdhnIn8VdTCyYprdchz>>s6g5YPl`hO8%T(gYLjb0A$UZbp5-UG8&A(OQ8N!Q6pmWU zFh4(|>H-ePXXL8THipfUsx1l`OH7M7b<|nJr;{vtM+lj{ektnml&hWeTr=Hi!F0yr z@9NM}&)`q3Pb6Zp9%AK%7Fh0-a2y~$aWjka8z^rYFYAyJa8Uvr8BleqP zT@FxRdxt=wT#e~2U2$=T6m+3mack;!9C}Q@e@B9OYAqpFU8H&{NQxSdzd^#(jjOU$ zLRn&b9PV&s`NbEJzPy48=IBaFiRZP}j%N^;A%80E+v0r%QwCT4zigGq`+(ATD}2>b zl}uv`2Fe=h3lxX5=Id6siYwF7ZE_Po4!OKRy8QlPU_@xT;{wV|kRu)EJp|z&r7G$6 z+sFk@j!e2SP>+CB@waRPFok5F`XQfouzBi~*XI!zu5RMn*z22r@9Dxz`meF3^eOjU}CnfhX%?=vl04M$aUOXorrb z_$*Zwr*E5d#6UY!Wxm6h8EOtuK=<{;e#4e*psv?{G|~XyfIEZyyFk+@Qt*SBa0?nOmKDK$=jd_+S)j!)yfhI2isYn$)vi1}S^%LB(P|jXD z53Afpdrhm#_}>EM-`KAFc2gC<&}Vy(+@h?GBF@n3fX2sG$md)2e#k~Fg{P;!y^89J z>v)$xA%(b-BS29Ny4R9mLXk};^D(&Op9a*7tOoD^;F6E6)G;E2y``ZMsNIu`~2M zC1Z&7Wnc8!WA?~hM_eAHRVbL2=i$yZNVbFClu#>$H{FwoGIW^h4!*$QPgLkoxwX^Q zYsTq+tzGq1<-iTr=A5P;Wgu2jZG&EThvInbx7NGdEoL*+ilCT~VG)P*v0fs|^CenW z5;`=#lEu0t3Dw1vsGkU8PELUcQKP^rB+9yWT-D9DQYW}*<0J+7 z#FNNvz}Wl9g}>`06vzu-t(8nDM%J25u8?sA7d)BjH^13^0-GIj&5;`aahv;}4*NG% zF=rM_CPV`}6RHPA1z_)X1#{|uLxNVSR_pMRXQILRP&PJmymEz3SB71D#hbb|2$1MC zn)9GWev0jg?IhnC(g#CQ$vKR)>8tycc+8FR6ll5E#&8-Bt}cILfWZ@RbS6lsBYTQC z#n4{+f1{PsGz7ctAN>w6zi(zesb0nByxeGAz_z|H=duU3-L*g`B+1d=Hkjx%{VZdB zHMR0lQoqJ-%LF^){cutAbkSo~A+1;1%c7sEusHsl&ZnpSvA^s?{FW7xxwT1}M6+&f zTILN)t4opnyubVZ!Wyk)1L19x#38$<6u)By39kT+a%jd^tcNdsg@wX*pfH+rt!Oz& zqt~29z$E1DSxR;aUgg!|31Y|7Z2#`waa)y91@$I(iCDxlz4`ZJt$-(+lY6ZpmPuRs z`fha(&NwEv0D+az0!cyEMWAg7His|H7_8ua2uH&rrCx9mt!8=lPJt7rPFwuB$&@#u z-kiB7AJX~blQ@A^VwOLD3wbYUIxAoP!IPCj(3h5ys26S_{J?Om$KWx#j$_fL#_m6w zqRaKu#$R{ZM&2&}7wmqp%ha9Z$p`C0y~ zehVkpVj$p=M)P#9m`%DQiHiF6B6oTVZnnMiJa(prts$jL=$pPy?SSa*&piFD0&&sT z#2@L%-2&wZlg6{v#3x)Qv$FTw1~!iL1BW-hSn1q4F2f)NE8eA*3Cwu6W)mP1uERPc zp={QvkLrB3ko+E1b#9EV0^{TRFiTl4D}m3IzkkolCUcTrzuEijFof;Sm}jF}`BzcR zV``*K=(-AB;%L3@VPgM{q_AAg3k*P`fce%}w+dV0bfQg7FcY!NP4 z4;5^#9^XIZMky7UKPOo^H4Q=@gBx-zI;+#$ z9sZfcYg$gqZ@iOIrkzpqeo`Q*3Ev;wp|{48_lJN&z8=?{EMPGp>i--LD+kYXxToQ7 zYrS=o?VsyuG1db@w}5$`efaYa(JPhrq2A|D$;rSh4S!(6Z`K|?YdaVi?4*jXe+*e) z(F!l!bG#CncDv6r*rk#Fj@TV{!Mc0-x>8lsXO~(o#$cHok~giv#}5WhR6ZhWjl635 z{7OIOAq|>kO=i;nI>4S6nmo8_vS0Nvh-0ITGrnVcF$wZD)9e#+i>SaPW36>)pl<29 z{PBwSI@gTL6-cIhw3vItdm)wpLs;(15>1RA19SHCfk7uwMO$hXPM)>(y`%n zs4*!x6!?OSDWP*KH+}F`aJl^_qaE*ytFiK?Og)r zeH%xs_d3ta@4xp6iUEpX!xmrufPbkTf#|LlpZQVzn zd3MO@ygDB#riF85yO?LCb6TSNV(-D)(~K2~1$5pa-qX-S?s9XXQ_2i|F7Ewu`F+a!!=P_BSX;NBX|Vmi14I zUqGT>J-1BU-7p-IEUK%$Z-fJ)yC^dk46^4%BRvU(g)WV&vN6kz|4UV3K;uj9N?(sU zvmiy{w$r?BnOa*y>E2nam}^ZeKb>;97>^t*d+oV%lV~X@E^qa*=<8drZL;_+(aG3{ zvK4ve%_VH9nFzU>*7hjprFoxh5A{H?i8N@2X5YZsnoAvY%f6^?&=>>2;H&-y_9D=X*c zweLHg2b(kN7up&oDb^c$?@vLlM?3gTlyg$MK3|@3*>4I9H{D)i=)i_V@Kvop*mjay>Sb6M|%{o*WM>EnL5syAI(p=d$^wXp-dr zD(KZK`CvxB=tMnf7z}=L(R#93J^rZz^%~kU{a06E?QKrnzW2EbkJK01Xx5ERxwVG5 zpZD(ae(hznL(AB=FoFF6m2|C338ox7gQ7}bW|Ve(NM!in(E_62bL z6~TR~EHW-KOjW|8g#9%|MfD73wt6KnRSOP(YGcRj-?x|^CuPlwf@}zJ`7PP=t>PG; zi3@;6;UcQDHS$06%SAts6Gtb3jn;q}#Trl;EiuRf-C{Bty@Orq&iq`n9Xfrc9v07$ z(sc9Jz*y>q4eSJHv4_O8KuVC1-rQ=Pt*E>quJwgljjh3gzEZ21?`-5v^+$m!29dhV z3TcwpLKXvg*DW6=)1NdP3!3o_4S7&)B2ti$QxN*1y8COJN4H#7ddq(_bsm#JRX&bh z-@U#MNLVROPg|b}N1`5nO)1k^>@+S2i!Uo&?@*dXPt~O~ZwA8OM2qCNYpLGLj~1c% z{~jr1qY2#0O8|)Q|8>w9`d``yet+o+|8Wp+O3J~@CnLw3C&2(}km&>CQlF;(T?eHD z9yMu$f0|mGgYBlyE)}TNQcZew=J|8Y)h@nroQxxRWU_K}cpG}JJ<>V8jB@5_ui6}A zxyGZobxmd}N7-wASn5m6&GlpKg^kXo_-u{yrzbu`60+YfPaIz4 zhH2mZn>;gfrt}ThKiztX_@ z5Uj3_{6GgAlP}VeYI0L&o{wgmE6nXZy!x;~>v(qlwpF-^`FlN2#80%iS`-$cXjoca$iT|9T>ku z8VYgHk1(kvY+W)>Fg}&Fx}nJXQXs73k0~X3HdH)%wCqLSyThV^wAYf7{Emr+Th*3$ z?d$crKb9@_=HYs#kAFAGN$tFTSbS7xx&o`5ZK>9kMA-o94=t(#>n&UTR8rYoQ-g~% zw)yRvHnVlT9>sOHS0Z^Ds@Ct#|bOhZRFlRotUf{|L=bJ7T^HmscNjVX!*w-u#G26-oSS zn}Nhcvwd%Z@y)U{-O#}lMG?V4ICpiLGh>>MJ0E>kmhbi+aYG~G4JmcsBX*_9&sXh2 z2Xk%yK};GdBT!uoQZVg&0V^IJ{$9bSU-zC?;o%7Ow#e=9#ze3*-P#;T<2H50yjzRjB%U2i`aEulVw};oAup0v7hrU*E*$I!=e8qW)JhsIKTdPjb_)} zzLIOS=o-$|deUaDv9ZK!_fNV`elPVk92$fbh?(;tAU zA?w9UeNE56zhMfgxs;JZC2As!>~vT}m0F7Vjs1ho;pby$(M+-q%;E4#h)!c%jNIK3 zbedjNME|!?nP8D$~+FIkx zgbmqiS}>t^va6b>?0Ck5q+NV`$VkkY9SIJ$iy+u$Rw7}&_?T+W#3A>?+AP@iKsTQt5AkQOA15LL)|B2i81Wz$5PIC6>fD~BNy z=wxvQSQY$fa*7VRkHkKoD5){J>FdtT=#Z2lE!V=0;AVgj2-L7cHy54 z?ON6yRBcbt-O;u?&>*^mUS27@tP#`tR1;ef%92{88Pa3RHW?sRzQI))LR6Edvpfx+ z-X$$`vQg*A2^}X@AM4_zw1HS5J6$X#B2IShpHtiF1l!sspihMo0ElEOl7nbdhY_=J0B$eCsO4!G zCpt8qvIcT-F?_l9XRA(~0TZCg3>KQmj4duuRntZFW!(0RBYF|HR-9z#GCg$ggo=xs z)cdE81Nf=V*h}v&?m=yD;1F|Q&I7>Y3mCVHigUl&A!oW}s3?O>qlq(>^OD7EsjmNM z7y!Kh^AMug#m@i;qRaG$7UYP%_}g9!1g8iWY!DbSYcH7iSOcu^0Xn1wsTZF*<`|YP;xDk+J6eb6QU1`G3A%sKg zvP}%bPgKNE;1d>NM3^kF@Ua#X@O_m;l31${T@@cS-Lky_uWAn%PB+16B>_?`W+b!@ z*J`cPyZckSb?3Z9v@E^Ql64YXSnoTNRg7C^557cCG1{U>uU>7kN>pgQHy?2ih;=gP zefe!dw7+5Ax}~hBYzI_G$OH3^q=gi(mnZ6Zy;|>4>;>`+%0z|bM8yPQsKfv}3N~EB zX(W_z6w?w2m;hL_)p5_cj(~jct{hfMeKnHQd%Fl}Xmk^*Y=+MaB#Fg6mUKNp@n{c1 z#_@+IlrxLsX~^sxbRjqA@_Ch4do-akncUTvLyH-2VOj*3U5u*z8^2T%=tvcAP`zQXZvK!j{I^V96S{-9{hIU zj-}O~wtHl3M34;CqU%D292_MH;OH)Qd$%c1?hmndjxNNhRl4aK-EMZa0Ay9(MrFW# zSx-DpfI4{I$>9K$$90)*Gwh2wQN+w^z}k(dkn(EPv!iz=Fl5CPAeTCG=`I9D3SsHv z(E2p4;tEx%QmZaFfO-_4d6v+1GL%zB%;c<+le%r~V&iMhcU6^#^R*iY1GfC7mvXn@ zuGGYMi-RtB+;vDk3!(cC-SNc&5Ji|4mf?!F?9~x>D7*xZ!-Uj!Vvjsp0F#o@co5%C zUg*kEqDH|M*Dr24XE=4uz*)=!B@Y?HZD}UX6eLSkH46Svkf{egx!p}dxrfe$4Wlg* zi+oH0s$*MRJ2TyFfUQ5-qJ{hib7pZ4EPh9BDVj}hWdK+QSllF9?t4l_$r({~WMgg| z01QgMK@(~fn(DezG?_N88@>CKJd}OZB{CMET9Q=f;s;)qzl_Ao-dzw_0YdTZtLh|XiELl|W zQPoZrVC@`j^2m|rO~94v>I~wb?1l&M6>gsFM#%BlSyC9%3tiNi$!v{5atSw(t|XjT z=1ggTKWdhmVDr5u8WKaVKBe7M(=h3J)b99%ti0Kw92_lI#rWGMz7Jv{^z#oU|4VdC?^dJU35rV}wG zKdQo-G`eG0aq299>w#HSCXn>CMW5K1+iAhZEyJ5W%KJs4? zPD?N;7G&@XibY6^oLf1}mVHt?xoUQP<0aSztXpUVhZd|ymCnr)tg(49J+D!(9wVyt zSeGnUcl-G~1sXI@NZZf1C`mFpwF^i|88fwJ$SCy?VnW)=?W>q+DBe z5evAB6x{s?-=4xbPyqtTO_h%m7Rdh5?`6aT! zFvCo2*d*oEq~3|4>5`MPZnN&3TU9qT!OC9x?5UYRxkap~VZdQ%k&$_xA@iZTzxIZL zhdxA%kGbnD93!M-P$Q7J_oMpQjz70KT(HeLAp65VZ6{QAUdjDp^=B{DhT>Y645ba? zCI;a?d!-`%a+slRgGOmqL&&wZ2Mt(ZW5t!67uh4R<)0WeX&FLjcHVt|4Uo&X89(8! zU5q>q^|4;LwC3RqgzXQ=FuO@s)(4fV<@M zPZ;O?=B6Bhq-SkpmAYLK_ZXORZx4x(+s(M`mf!y^2(M9BnNXe2rctNR^M_5C&s&DV z-i>_}yKL`mUEq5B1ayh`Q3F4tdiVu%h1Im~2I2@rIIfYbw}u zdH$r1`0HRya}{^e?T}Cqp-U20)u@fLdf%fbmuXnoG=He;R&LRxI^Gjp-@dg*5nICk zu=@w;)ME~ECJ4t%9jGKk1_|NLtcXU}Hvd{Xa}|FrK>BnZ5elFL!GmE`x!rnN^(NnK z**F&c`ixGT+f`(EAOwWlG1 zdr(CxP9{qcHM&P)FErZP$qLaDszL#9ax#%8Jd9}LvZ-A=?v=ph%(e45_qJh}eenjI zh>Fu7$;SwQog%gnABpXZ-8uKi&y0i;)bO=(eVYkg;gfJxL1GNtdzL^AIlcZg__lQn zM8#(k(NLGIjQ?xalx(!OCFv$-8cw&__-=_U(OM5KA(VqBh^|m)m!t+Mrhk^CHC)y~ z)~WYF`DKPd)2DCN8`{0Ww)**5Uid!q>#}9(r1DpPwN3}VucazidriDcvENz}6+Rsa zd@?O6Vh7orHz=I3e(u=#d^ypspJ6PDzJZyI&ei(S^Fwln=__WYPqe&HQq`3ggZwiP zQS9g8y;>diWF`^!MH z1(R|pb7i3RyDZ-|kaG9+2G}B@HyfvCI8@|QIgg%S;Bz_j3pHo=PVOD=PNeft?o&!E zbd38zBdyIW51L8TtoMxj^#m9Jb{b|Ep)wW<~V(K4Zn7aIpTJidW_Hpic>UKJB4a zx1xn&#y-0CRHCcdw>kQDwat|`k3I)Z(FApM1{g)WT#k;Toy>S|K#(-Y?Ck69Y!2#+ z!KhAL?r=v1rOC9194@NgjU(DQbW7eIG}(9=tdE`zQ1DUA5f5HETAAJQ)rME6n>x?E z=6w57`hAf5@>QY^An+0>0lq)~v^_Lh3uV9H#^CJ3rkG^_w_Vt)m+F(;g^ji-x&0S{oIAPP^10h8lCt^TF1tB1#uUf+XYTWe+ zHfa2UU?=AbHh5@}azL`>mTYSNE{CQ|;Y?G_N~jxbH~8t2#_wFi2=IB8`eiFwF~wTS zPBw|N!26yw)o}QzM~jk_$Mgp!D(<~1J$pOxd|-hvt3~Epw9WSS!**=#Z-ZphbkU?( zmo~$vb=A$OW5df1-Ht+1%xtRRcMXq|$JXyId zv4cQio5B++pqoX>ry!6GAoQfBy8xam$~s zQo``Oh}YS3LbpCUGoaF9{7pu{U8C443)LYO({+#~VWBOhI4i?+du!|1G+y>cMh^Fam zOE@o8HOl`@)#)PSM(k8tn2t+fP?~$s#vjP_j2uRnRXbxJSvGq>OG8Xy=f&vBAunBfZV1d%tWSB0MVuIaNd^+!I=bif$&RW+tzCCrA5% zr>5Q{;Bv2bIiZjtKe$wD1&dm4Z*YBtIyh<7jL-8Zi+yE%V09_J?>ST&r<(MYGvj&Q zjhIzswV#xQ?P+oxda`)DjnB$Op~>1Lf5#uKqJwRG$jpwsB7b`pEHWqZIVSjVj#3fQ z;Q(dM=J7}2@Vx;XQ32FColPpo#SUDXTpuPd+Sr@4Q8Nbk{1|u6Yr3p4$r;C}Lx-uw zmh-lE`!QQ>*?E@K86BAO;cmK#^0jh=LhQ54>f5$Bk~I3kstU&wK_3fNF4v0cR9Cdl zB|AtRX+zsMrJ&r;Q_gu#1=EHa?HkhM5SNA>{U+Q5tq){bOCi{BP&)(op4}t@kGcbv z%V~!-d3d@N-R5|!4WVl!MK7nDcZMddze#?$6{eT-l&fP>)v*XE)uS9-*4Bmlt|S2#WGz+gss8j&qjEZpxFYh8 zrZ>@t1KQ-%fw3O7Uii1P8@!y^AN(z7Z{OHl)xR@r`ZwP0hx)@YRSy!~pcLmid4t^? zt8AOOW-Xi~@fM4nID1Mgv-1zkP%zN2cy8-umZ*Vy6>rMS$xS&yT4^IHiUzOEXo{oIn4rr`dB zwczU=1D>MP?_8d$3HLhBVILnk_kQh?JzWxqkCcfgG(^8lYSoA-d5n1l*jwc)Xc=TU9+s3YkoD zSvS|XwS|aL0XmSjNDHfRRV@^_6n9_Q2!N{r(b3(*bIjdZAkZLd&`ILAJ@``9T%a9OSBrfT(23iDA;4o4-TM8)IB{ zqli>?bEX-{h{C;4KdaYEXt5*{$@pi+0 z9f-gvMDs#rchF*D(DA=pGc1M-In1&JW+vaV%Jq&8Crv>a(RzFF!$YWz6T3}~-y?^` zz^+jVIb~Wyj)=$PUUAN4Mgw02Mu2uW4woI$lAUp0$q=KrI90I0w2nOk2ey@z6XvW( zpaS)N)_*tTab1DMP#+I3JH7xnO8!zWA+4H%wWU}@$!{vB#W+8 za1Z)BleE!$|`5iO$<$=B$rg;I1K2`xBlb%g$h{u{*)RwXV52Nu(kM^fHr-KR zr~QxS#(su&k?ZFTd9c|~SoXx{w=n$%H{tqZzb`lRxvC$THkS8@KXqR%6KZ^2#EEqt znbw(Z_OFi~t9N?(xST9St7PiRlKMh6RaZ;VRyvilXZ@k8o{6!K#k&KI>j6%1S>#%u zGEaSJQ#{tb?2q|Sc}@Fac)MJ9LD{;o6;#?<_4bVO6cAGh#@7t;E6>d>*hs{_-nd$O z5%M36(?ayZ^>(P;m7ygy!``V5JEjWRIU_A#7w062uB56wow(N)C)r{`oRbgKo-rjG zMI1O%_VkjhoTJZ($bbzt++#nokRC#~Q?8`>-iw~&KfeoTiM@~j|9GlbEHh^Ay#^x^ z4Ak)gC!vq5)xx@v@$+wUyE29o6w=+RH_X9r)FliI*E43did@)@jd*5#ZbK{vDYiz2 zm5|7uvDi|FN9*PV=2=;V>jc?3p&|ree$$^f95+r%ml!D~T2qKJFVs2v2#dhhEuz~b zQ`fdIGw!+QoR$g5m4X@fdzUb~5QX=fsG%nP-e6;IzjMHNbAt`6o=0rof;0T>o8pyf z(a#Qk*{XiOwsv9*0Yl5Lb^BGgAu2ch%=776GSq85Zsp@gmh5Kix3@3&10JVX+ODU+ zN77kE?@8zpoDol$D2k1>(IjY^3atB)-mjWK-sUL|((Oiye zVJ#AZQxS+keH6#G*N~?HIj8LEN^dp7!KWA*(P8JRoF3-Hp7zdFb_T9tMP8{-@O_`W zVdoUL-{En*0_ce^HPr=2+ugG5+?(I93cAaqNrK4LWNXeMyDY{lcLZC$H#UE7h~EX_ z4y)zAOq>#d`j{{Q!X6c8kp zZdAHEL_$PBKp5Sj^q2#Y8m%Z@O3LVNkQg1(3XnY6RDy?)1ENAZCKaE-TCyTDF~|k^;g5y zh6wp@&!hwsyBil7hoXB%-#=wFcynQrjzuc^YQJKN^-PEX$Fd#M^n4XimgD$4U;FB^ zgRIpTH-7OD-e`Ob^TQlBW&Ja?3U2tYs7!g>Cjqf3nR-2)8o%B``GPB6BfJxa_}BTb zShTLOmxssH_vZ>)Jl=zbFv^;e4wNki;o|dZ<{dSJ?jZ+GcdHjxPtj%fAcn zBR=Vwfo=L1n#ve?kkizI;?+wxXQ0X;orpXZam+@%`mO&j6-sn-@7v{M`Osb)v?h*)Ft2CCqy`p;oI5JCLglTjh30x*yNG)$s{Bfr zZU3V*=!6%G9g4p%pPK4)H_U83hp=k7K@{8Q>kBbL(J4b*aw}_)fRyx&6=l7LX`9-m ze+aUR?34>>UEREajT``_3+b;(@|~#O$3JHpYb}#pM1&FV=4L*oFBm!$?gWI1Ouf4+ znu(PgHm%64eeGI1c=y>6Zp-4eD{>QqJpFy+GM2P~||?KqVv_Fs>`6+W?U>B~0K_a>VK; z?!gf9!rboQif7%XJ$C13_#a`+SBel+Bn>{sPQqjK#4b!?Ccue)?*wQID~#*02nX^n z%q$PFXCH7lMV)GJ6y5{YV1HIG8r*ztu~jVcuD=fHNZ6}$u`0;5?eh=?3O4}N%q(H~ zm}Tgq;+(?7Ng+6H2wmM6((7gJGQqOvXH@p8GXr7qFE6(@t>v#q0dJzZ(!9FVwFAy- zINbZf3TZbC&0HBtg5Ip=_|@7$0vfr)#7c;(9xb};euEjI+19U*;IE@bCFEYT$53Wb zTB(Cd@PWr;j;h$Ps5+anaHA_DSeBdkz=J?m#&|xG*pxYC*Q|i$@2p8NoOb?~$;h@G zn(W6c`#>N0PUA0erR{BbBTf46RjW3ai%PaE%(tS$mxz9o5j=A^E*-P|p<&u{$=f@C zyLt{rX)1>vho$}UYp0>*(G4~mH2w5Cq54<;dRvsy!n>^Q${Xfu z@x-CEW~&233~xN@uV%3|aFq#hZ4fFa?kldM8+#gG+3x^8A5HH2y0i^A*&4(L$xJD;R#{!y(5v&hEi#}w) z&Tn@KLmKOw)2LP6m`E~po`@gnWC%-6;=`cq9VG3^V++InkMeikPqTm*HG*or41GKq zp34|`bw!D$DM{hX=#O4ou>BZoCNlN7n6mANdCeOT)kYUE#kWy$ubGuXd-_HfI`&dxiwKEnu}2~^Cm zOu15WYgq%#UqX$?@4JS*K0jpNIp$Jaen&}iFUYq5(l~RB=OZq8K#i$RSd+-bi|3$+ z0i_VJ;pQ-799LRV7PW)ecf}p6_JVb3QLX*E<+j5;EFE3(=9}vg-fQ;aio>K)7Yyg-wJ<5T8 zb}v5Zoj?|bBkl&BQq!qiDK{o~xH zT&T9{u~0m!4+w4(Wfn6TLgw$j22OA~jLun>9}5T`G>QlhPTP%-A8Y-6LZB+eZD|1M zm#)rp@HrlS=e;!7#D%<148NrWHN*$K$wHuh&)wDe{gJxj|sjkNl z)y=X33S^@6_yfg{jtu0wWyF8|(sSoe)8kKn**Mc&*Oy|J<@V2!+cw52YUoup5Hv)q z!{j2^{ZlLFUt5G;T)nt<2yzE!S*?;fQDC^V6&eE_os>A;(^)Eie zZyNmr^N}q7puPK=a;f^9pZ;}0Mh5R+BHEC6=N49C6(aGdB-ScB*;1ICl@)PuT^f@o zxP+A^ZT$1Qr1Aad(yM$=_aCOzFG{zHqF_arH~NlAN*}PEcf#Sg;wpTDDEFTIDM_Gx zM&vb8NPYWx>5)SGKhAh@gkoZcL_x&E+_8SFUT={0myzNBNJ#pYOS23Zu2y%Rvn#tVn+XIrDv)6Xvfs-8UJZd8BUv<4Tu^llYuYj2R|44qz z{8n{o?(d`;&$L`{(}C$3lq9^_9vLd6wN%o_b#--Z8!C58wp#*9J)$ACM!8zJg@n^i zou95<57`m-&`_qYH7!|zpe0axCh2yV%k4tO=3w|BJLknC#rx4#uYqL2Tk)e;**|{p ziWU^dpEja2^b_^*l`KUMLLmX{PQF>P&!bNDe7(tH@4~!aA^1PH>9@`vkph{w12IA| z+y}+(kg1bO5`gOG)UTgAhlR&UM5#8CJ~&M;M@Gfas|;IIWc=B1Zel{UHB~Lh&U!V# z47=BK(luID>8DryzAwJ1RcvDStNmD)3#@*<<2hLms}%k-7Xm`wU%Ss;j~HoJ7}@$s zCLVgrkBLNiyzTAPd!ggkA0B)bgd<}Y9UMqvC^g?m{wn#GM3we#+)aoiY2yKD8gS*M zKx?~&g_-=mY8>Oy-5g1#_j;BlpDRVJ-`_!huYV%12@E{BZOR!uer%EW@J%V_xA$ol zU$RNbydSUo;uLbt-^}&Y>MOQ2>YJB>1ChItYKM^v>+sqqf=K1Dtohm2ij||oi0+$n znbQTvWiM7n+F#$~;yHAlO^fRgOr-?xJdX;ob$WtM=RP#Jpui@6Mfxnsq&KP$Y zDL%1o*BlC}AV2s=Kgh>t1+UnlTC~kyf8L@U=@A)k-oyxdER)iWJzx-xq^Y8ud-C?1 z9-rdO5nqCU&(6`CAt|#SR;m6nn-^`oySN z-HUc?9l(=fl@Vn3*tRIy`sggMf$Jniy7%9ZJmzdkA>a4Rtax$4 z!hBEhox#2PddovwjO?W7rqmuv@!)bduCz(tcXu3J1-2iRUc61EA3<@CcF>b~~)_=4Vk{$bNT^tPJRW`bv>+pR70 zQAdm;4a3&LLv#8)r*);IBK*ab8pOjMag2s;VCaX4)pfyGKbORP_vWLOY-Gbq`OhY8neNj!Ab)ggaM@#JG}h@RYebY7<*5yi?_Sjb!b3)8pJp0!S^t*-@KkBZJ5!nls2RebI`PUKIS*XU2I_V?@4 z8TM7z7Y?_2gkAxcQW-so(-YBJb@*gR-Dg;W(+VrutE!~b_h>;?rVjsZS_=mPMKHmS z%iss6wM20U67wI4C6+f8gP?1w*h8uJR{Vjc+t&o2JKeX%J1-5dVY7EtoEq0wYLpjDP!Rfad3 zdS#VZzAaSht*F1?b4nBDJnNqFW ze4|~;VMEVDj2fvG?jkxuz%$zxSx{R9u_BiAcqsIQtPTC}-(Q=LypL}|?+nr2Rp(#z zQgJM2O^%H{N;jT6b4R{8^K_kikTzzFMa;urLeJv`GsU6N4do@hlLbxZf1oR_90?;* zJ5nS46d-k0d?z+zcU1VOdRUE-sG`qm%4=~+y2>_a)h-b;_cxF5D-X=ls6RQb z`comCbKxM8Ct?9dv?LKYu_?9dSN)V>@(5MUH%=oLspR8MOAXz{yfiCbAuWsQAJLNl z9h`c;ZSQ&NEMtDF`Z=B3?>pvMW+hQT-1;!sKl$vDtxBy*TTEs)s3tgi0B zM&N`LTTq*QE?Hsd2mRq z-b}H6V!0hX<&^J;xmm?OkfEQRBknv!Hc7DEOAL@w5E|cT@|r1c->O!L2dJ&`Hd+~J zKNqzPgnP|~&8Hdd9-g(2`J@!`h6ST*i6byCq|mVE3XTV;4sLB76qkn~aL zQ7oty6vzOv)6(e;=fbBr2&9df!V%ZJ8yyjnVS+?6_QKHLeH?yb;BxDz2znf+pyo52 z9-ehRJ)lA(6+moYAhWfKZSXe9;8GR4uPJN3^P%5V=k? zs#Zwf{xdP{Jt_PwEn>D~^?star~$^b7l{#2Y5AB`$-nFpVa55gWAH8_!P2m@G(6V< zAhkf|$kU8d?8U5cU+X50Wb0ol#h+47v*8;tLGj5u3G%djFR)wXN9{@}J)ziMaRoJi zDO4C1u4AK69Y$USnop*WE=KrYsfm5Yvc^Y<63MzvWnTZ0P+S`o(yJO^h|0&l4R$^s zTn6b!PYhQRT&JYm{k@U#)wYl9qto` z_t;eKKH|Pj4R(GKJoh{Xei-@Kb7+L1-qY2WICP^BZS@v36Ab;n-2&V-AWU{-F4lsRJIsIY^R<3MFT)oO%-Sk zLt(QURG@EC>qTBgp_Ewf=DYbyg*fwnKFa!{&`<8=j|bsZ$QNaYKRpC9SLTqstxhe| z37DJW>sJwKe^6P)rGI$t!C{5%ct?z#Z~$okkN+_}uz&%;FkL!Ez0VSOc~poIddADL1fd@wh|kOK z*LE8uKFRGrRF?30qu|--qjrq(7h$qZ-o|bty(QhAQ?vOzv?&m-2$OW>r(E*?{(N?` z^)+o6K{Gm;YhU^kga5bBL>pk$=)~fbbYpq>FXWb3r`@Dy1Q?SdTW>E&N44jdv_Hk@ zc|iaA9OQyL@g%2|SW2L@lhYpq~$0cSpT~m%Se0rmStFxSVTOdwuS;TDh)q%@nDr z&U@3Lu3DpNMr3c+>fl-h1%B752BV1v{US#xAEW#;N@}3*rCUj$+aN%rlBmG*9G3%pS(uW$2JjOPZVk^#Ck>HL)8Jn zm<$A1^3!}{#bnrwy%ta&jGrZH0JN<*wwoe(+R#y_S5CxhcYSQ|Fm$8|2<9Hm^}vWZ zXqaMG8!K%bp4qMvh}PGc$fouF_F#0sgPM0~=KRa{gN5sR$C%Y*?8dp+O@~6`y``bh z@-QZRHdaTg{b4Z=Y%#aqjp8WMJVcpZp5`V7=5U? zI$_)aHXR{ndziq0HP1=~$>Ghy6%Dh|FyJumysXw2drstJ@BlKuc z9Ii3shRlC4#F;WQSF<}QnxNn{`ZrcF9&Q%E8Dx;T=)kc?*<*tnI+w*=#D*zc={WT# zUsG(P-tnBS-*@DhZ|E^B53|9poloo%gu37X(~P@;9EWSejWL&q(s5SjCG#d6(_NMf zPHmj_XlWH;8uYEapwvIBy|zZvdwBQqQ}!Lda2Iv&)BR&bcGpC?-89s)xCu+lsuByj z_+GHcR)jp>0b6+f2@fi|zCRxpP|Av5sUcRL-Q=kTRd|_M+t^)Of+Y>T)}HnuV4?YD zgT4d2*8*)E$`04NJJZ;#>L~3A2owQwUw?pJm_FGW47=F%< zk!-b#&)c<^U_RT#@XT7RAeuV=-mrv{T}u%av)>T7mG zjIuGQ?Yk6)eTGCvuM_%WIPo|>f_}EgqzVEs!-rPkqekq8dB}0(_49=d#8Lt{jI&cK$DyVFChjKC@s3{{ZPjAhojViA5QI z1Cp)5W0<3^`hJvUdvJevv?P}gc(%yz?rrHBofG!bH)51CY4kZ~H2Nc<`e7Mn`G|+q z@~wd;_VW&FR5<9{pDmi>4<_@^OccNTu5>l5{l9xU?~{(!%3!r585kv~s6MY>4dEQT#qK2Fzcb?RHIN)?jHrSQjTSHmNL|u7vi>7xWBJ(MC z2_ozh>`mtU;8#zN%8|5z*LQ)Q4!m2Ml-|d!}wc9x?g%(ap9cq>(7NV#e%*?|b z|Jrooeb%pRq{4Q2*vlO_jbR;8+mw8A6FhFAjGooZtswcbM@<18fBR`cYuLDb)&jBn zmA}L87p-_5d-!KrW?}J(#_%2D*+9EK>KmgWMI6jd?HzC)&~}rkh45DVz%fBzPe9yX zStZOV+3Ms}F7I7TuS?zjPOMftNQc ztDoHp3|SuUTussWHhyuvpPor5j(TVE5o!z+c`Ph==q6n00|l0*C+>wiDNdHNjf}Xn zeN`)Exmg;OC~tW{U z;mBL02BtYyB%ivp>t50R_AY1LHvDI7bZ2`h3U)dF=ssa+L}zN&zeX4)j1q+@`9r&6 z?fl!i+afe{f~KYC61Tm2JaB%(CY&5N~#lEh;+M(s3 z<~`JBm}ddbe=^Lg4XpOP!?QGfGUf)VCvjrCZL{T1Wy-e#33crJk0j>p!s^PRl@^YB zH9vsw9=FT9eDdv`&08Orn4zvYuJL-mQyOCuWLG7wZij{ZuNR!d5f%2Vd0t%gNyBb- zo6@Qh_MqKL4sR)8a=I&i3 zN!=~MT#V1O)<5$+ZVmS{=r<5yd3y3A>)ndn@U*NR6IGj4lOAu*8-o9Qwp&@Q=O-bl z+94lc4dndTpbH{-cF3oR>q}M`E)io>SP@g4vsoJ29u;cm$V~V>JTUxrK)Kzo&D;x) zP3f%IE8v<5kfOj3!ZAuQXF=`FZBgzY`WETRlKtGjj8F1oCw!Qsn>rFSM0ZK7d7hq# z;>|H&M#moP&88K!ysf_s-$fm+WN{@umYj7AK>D;YA)Vvh=N2sH4xih)W#raL!n8yG z*zBY|@$8o=HN0^yE0uKM^e?O1E>#{k&agG@5l8i++8Xx8cFk(pWOl+iF?_#r*b?nS7gL{@#w0Iy5FJX5uDco}K^8 z+UA!8*E>`ie%F!fv@8bQwQKkG0cct;J6cBqFO64QSNddVy%!6|vXvsrZP>#k1qG`2 z(T5%_fF$zEzsdfR$J;VB4y1A}6R*Q-Yg`cO5lDMhycF)ZAS07|U9OnHC8CDa0(e#Ag+b?PnifEYJ0 z%qzFqaNi@em#1bQl*f9=j``U`{5Gh7CKHU-c&(v9HgHLzv+X2N0@z79a(9@lSp1VP z#O@>>rQ}L{-ipO)zBhQ4B>nKchU{kATRZPLqh$tJh%zTC|7@x_K(IPwc*V=iFjy|^ zcW{F%Fs}mhJK6SGljMsO>3iX`DIR8zP4%zGwr{Vfgjct+5ND)z&u7lzJ5J#CtAUQI+Ki=TjSo`j#DzK405C63=gRWds>(2lA{#jZ9&N?s0WFhUkMCBE>hJD@^m;k%{sgM3KVtfWsMhyQ5#&0p zDB3!dkTgowbrWbuSI^k~xM&d_p~&Qqzpd>-0uA`Pk^M6VKKW&tZ))-#ZsP69@QLE+ z3kw%s*Dy}x_DpNy5C1DS(Bj!$fvnvG$Eq&)q5O~5!f(J`?_}R_5AwPNnaOH6diK?|^+oLsrids__(7#iGy>UBcZhptC*~a_P zEFh=83>%(%Fy~P7OwDg7WWEw@O>=O$+P&f6ObKq~1WJ&pv(Ne~Ys}J>3#ZAbPF63Y z7VQ>W?+%(21^0jNU<)%Ecgt259 zr4>*!1_~!z=(69&9EI+)7|;eT8TI$I&cSj;0%(;iznub5-6LlBkC?`&I)%`~(eVIH&g^5pP=0fZnjC*RL) zuN_qF&>k<}txRPYQ0rA6=~6jHy|nUzKW)N9&-*%VMWA3c6s)pgJXbgNbv{JXq7zW6 z;hB3LyW!vBz}r5CA)<{5kKn3WK`mDvCNr=?x?L7UV|;>jecgk8Bsf>kfLqJLfL8JH z2rO;CXGyG#{FQkQ(#+m7)>zM!1Z8_qq1Pg7HI?j8(W(DkOeh`IR2yZL6fC0J_;9?g8T6PZK2` zl0}yIkEQx9gwpnL*)Q}=tGXL#w`FC=Zn04qz8f=3H05o=0+Ud0C( z%F6xqZb^G;OgR8?L{vY?j9+QJ^Do{d@79OB7nXA5?>TMFzibI>u~07f+No3Sc#Zgq z4E#$ZSsbW6lngk$SK(^*x+*7dhw~mE-z$<%x_jOa<5XQVq=%Z*L#*$yk)^#ByuNeN zAjwB%u(Uy67nAETXD z;R94^C_`}Kj>umFnqqHtmkc)kyw4$2`?hZJuTWZ_Jj?W`vdzxzTwncr_u^L)24Io| z_S%ump@sckjSat+E?~ReZ2$cQi7?ILmo`PeZ+-=uYj;Jito8mX?wN+0_N!XV>Cf8t z?e}%}RjMn>XFgWU+`21VtGjx^@NOGu<7m~@9Oz&(F^!%Sfjyz_^#8-((-u3GaA=?z z;1S^dZGs$`Nn{6CTN~0G2quJz{SeYK6=ASO35?Y{g}o$l6VzyX6gH$1)HQHZnO>-u zmR*qvJ+B);=l853?$jM&8f1!H1b9ngWb=Lg}`Q}2qn?Rg5~s^(nmF2 zzuJt7wO(sx8F-F2PIN?15qv+4Y1y>1f-8SJ+N-{=3k=e)q>jl`5vM$Qr}aX>Qiw!& z;*@M*R*U(ovxwQC?tMq|ni>=H;N_y_vSmKX3H03fOuJmWd02sLfkl)LuM=&|&X8HH zFvd*>>fiY)7g~d9O-Ri3u?TQ~wI6uFBR1cvLAhJtnyt=S;& z-|vm?!?G@Mk^zcKqA@Qj{QALczdPW)ZT4^>6Lq+lW%n$MMX%Cxqiya~O;%zdDETcH zWuX<~VV2_Zs9-C+NQiRo+chikliq|WmF&^T_yP``nRUyeWJRf7uyc^P&mq=?psGT?cKks~ZmfR+!B7_zm^yHZdGzE@n3$HqxJb z7Oft*a!`7wb%tmT>FADIVb?Bw$oNk(KTUkml zi(D^SgWajUa*UWSWb6}LcA5-A4)XX9RvQ&QT0hh@3eihkF75hLA6|kwlH};W-iH?y^tLQ4!2sL5ngxXaNOstE6s{au zNwsc$8eEs2$cmw+H=x%G*s7!)`FW9tdY8V^`B*+!+4lNdzJBUOM|@XHsI4q0O;P$o@L*?Ig!O@-@zN@?}abqn%rZ<0S0 z8m4-L=OMgd0g-tmF8k9nh2O6t9M8s7!cM>qU6G16U>}Vimo$oxn1DJWsGpr`O8OVQ zr&ibV`7e$)fxq4s1%3Id%OUBI^Y#6GrrQQ>PmOPh<4He*E=mbh>@@w&6xWPa=Z|j^ zS_4MOL_bZ{H05pK|VJr@qc*PSTWDu;Mu#VMtE@8Siv;g;ucmmZx3+j$KbtQ*MalLM|A z=x_sV$s{~(XLq%cH}{A^Uov-OOIv}p*iG@O1$piIC3!gIs>)jPj13SEk6U8KTegFj zbv5n^z*m1N@>i&&Pz%ucH74M*o0TrmKeRTJ)t{Y_|EG=V|7CIdKi;FGO3s#eZ}nnC03 z#eL3|Cr{*aWE1l29S)EUt)Lc1Vh-O>18YJbn+|cZLrRpuT+;{Dg>kf{bst)olj|?N zLgd@&uRd28(gic=e)EQ|?zX`68wXTEYZq=S*o>Xl646V@~rHn!ZsLvDigktstEFQ5xFbKR~(&Wcx5JyR4U#t7w z;tecz^QbZ9Ah?Z8N>uOn)jOj*b1y`L>qP`S zTOD-XHSlM#o9NusC^3;~7*aDVP z&s>w}#B{bt8Xm$AoIMzcrC08mWDT?Bu0bNK5oXAJ54VQ?d4(FY0W_|otIfDlzpPR~K++ms(fCAck-r|~WcQD) zy-60>1sULZ)9%ghE|53C#WL|_IJ7h<+bfgoZ268h2>2~gP0R%P%2~5wne0m@!Oh(z zFV>+<>z?cN4Gfs7{o90;lb_|lizzGvI1TmR+3x}Qp)Da2X2;&K+ZL)?<7kzBvr02|tHl%T zQJ(R<;8M2E$Gvk_u)59Z2>=yDXrw?aaU44qtEz=zm$ZDb!J(KQTum6WY)-_xoBs1jf61F%iW{tFL`#Q#yJou=qE2xvoF2u^x&W7U-=t4Zp%RTr+cqE zy5_bAulL!#Zrl=fU^^9O=*+y~LX^r}e~R=Dol! zp^pkqJa&I9i6P_K)!0ORxHl_cKHy0*-IZe>F``IgdQ&5EW>Bjpd%5wlx34WmSG7et zlj?U38^`ZDc^8xM=CUnnO(AtF?6|RQpZP)KB&bj(0mn&uxcka2aqyK4gO~iDDc}M$ zKf}9Hh;sDO(K4j1E^M(PVnBr_pUV%_CynE&8Q+@*mjLHET={o=Z*Q1!On#4F%(02m z<`X6(e`^@3J5>0|HfR8}-|K>|o>zU?;Iu3I$Lg}ap*$d<#$ngWiUYiPUU9U0#6szY zICYRS4QNSO*7b8E`}|MyX(OETIQE49owizOSrxmh)v`X1Qmv2$Y73z=&Q7OEr9+YL z<#<<*dDf);5R85#`1Jj~y4zKxug7B~rI}LE>^SMiBOJ_92kZHV0?Jj3>W-f6HQ;)% z_x$`0%exkuxlCo`2&VG^@KL06wk66A53u1Fi z**8Nd(CU~gtHP#A{Q{It9^K`$-qK__UTIE>`A0G0NWmyDXW&8dm(-5o$Mj=8mgl0B z?^g9$1oV|XXRf1zl+(}tj`GrbvvpjFiYBlBn|P2p+xI+Dg6od4Qri0UZ{Lp}ox~wa z=#GTDSz;dUCJ)Uxn9Y}BEq^l+=X=4s0^=GF80hyp=~+$64Na4PQw&kDQc6<8$PKsJ zmRT{Uh{}zB7k8~1Ma*}qS(y*HP-Yo>4*IHR{L5tx4W}*5p>oG7?t{GXyiF8?)A3!I z<@2?XL@6FUmef#^FbKA@L>@}`=cYzSGBW~Ndu6-!7EpBM8(VV>bCz8Q1tK0G<~ia8 z1?~cqnu6(088a&!Hr|8kE*8X9~K=!y`R>Z8k+M+~UR01<=AVf(BY7qZ2 ztB}ZKQ<~kM@A6rclqkB9nvL`X(MK14b5F%yn0Shx2@}OM9te@nX^cE#m{k=jQLHCA zD!$-!lKliG8_(12>>xF(Qr`@#iA*Df?;Qw!#Pnj;T;#7~Hb;kRZ+xiGaALU1!eD_= z*44;yH6&(mO6-PyMAi^vccU~K0!VI6Y;g|=Cmlwq7Y2ZW8z%TUnmXI(uC08SOhurc z=(wo{KCarCY$R|Sd6RUr!)7)Ncp++FBUlxmr^QLx6j0M(46#SRgCaWmdJ= z67a2hdC8B|S}kq_qhY9I<~iG0zUp*!xX2a7wKblxahFFD?}Q_@!09AbL%Lrg-LNsu z1w7%FhEI%|vGb*`gC!ah{hvI3NR;6cBml_~LZGh7q_fayY+GunCp15L+~Ln?>JZv6l`k;8qN0{qDr^XPy_P`(5O00%XUnzq(9wL1v5cl_0d~~*ZB-oQ)pJ%WR|4fPTmB?E z#XBkxqg*b7ga-!r9Qq;RBrgId(tP{jTF9F>eD&g`y zM6pyVP9d2EJ^-Ch_x>OLEaBbg-EgJvh2$DuPO*K=*s=Fvd^OjPao*|R3V|}EK2;n! zY=t=Y7HZG7E`@?T12k^qz2HtnBp#sUr%S1q(goBbPKwCxZMc4Z@fqbA!E?RO3^h*r zulyVl;>R52*{R#k^a!md6O)Z=QL0W47p`5ZJ)M|(q$&(6fe{?)51??2)1VYR z#LQ$t>XaHn-j+*OSO!#S{BSK&y^9J)223;KLthpS&y&N%e#jTTMf8zE8rRzoW6_22 z5meYsB}dMMKAK(QYY)WW_e+g9b=g8r5S&WfYIAp6> z9OPHy1J#SO-+1V- z(Y>qFRK%XH=Sab(xwT=A_<|`=Z{Ri&6@Y{V3rrEK9^{7mBt9BNvhNizj zYVH6wfgZra8D8tcAtguI4|Qusoe0;oNIHDY(mQjPmimto-{?|9SfsZjU zZD0g3U^xh&k3aw7zoC*@(pkWf4%2&cQSo=KlD5- zv4)hm&L13_xaSVGUrw&Zs~1)-F57?aVrrX@HBLan#MZLIf-wDeA+frKW&@7OSlwjR zCm2fNdRGS-#<#)!WLN`b>sHZQVdv#TX8U}>^y{lD-Sn!FaPqo9xs{s&i@;2>-qeIJ zDG;U*FH|^^>qFw{D7+AM*JZsQB{upOGBIq~Rgf?Fp_YyC5VF1NFX}c$Rf?c&&t^eo5SWf*L&g z9z@atFpadfc94ZZxxENF1WfH2^%4*cNH=cA_BHXREKHOXBa7h?>F?hqy~O@L@E4uZ zFL1L>D7S^)oN@S;6k8Qs&xXN$)4YJ?Ztk;qrFbcdxL?HWY^hP6*K9FM)BT$A1CRK; z8XdVxsU{C0kMWgb*5WI4jaqH*Byw`>RskqJOH1%7zJcw>BY=o&=127(uiH}ej_fXs z$Ijn>cb7n@gqb=1Iyb0V)$%LCbIfhpi$k*$&Q{bx)Ow9n@s{%j3LV)KGMsUz`2qox zAagfRWXrBb#wzO#EJ74dbQ1xPVUa*|e|!OL<{|iWjTP7y5*Z_qg4t&8Z++u`W2KXB zj-}xd>u+aV1KH{n*X(j+SosK4~1J;JmTk8Y*mf6>Px$eT4Td1Coo5%p^ZqV1hn06ofj`6n6B17 zd>k7ReRu$kDfV3lo4r6toddX(vO{!JRJB69>(QNpFX~sN7u`5 zd$l;DjT1f+6L8?WY?OU_{N#z+%kMKlG-&%j61+%OE`Lxz<(Ua%&5Qnf{#$<;0P2FD zAY9r$?>55j8<6>aV;Q(N#-*7_BEZ-{ylaXtdGYYyR1g%x#Np!gFhk<~{y^mFHH3A@ z)&X%LJyHc}e~$N{A913#ssAOnB$2+dzeZEXF1dPi-|Jy$RvNo=bf){Mh&vZ|Lb>U^ z`VdK@OlYN2%m_SB^j$*Ij$wzssIOVG zk9K%KP}2<;#13;Y=)?u#wZRp}T(j1sE?$jg%|LQ7je|~fK=FQN4cB94M}gL+h#4Zf zSECH#p+D#EAP(ZamrRI8hk^jqc)l@pCLEM#*4&5iVK)1u@dhO!4ar6LbOHm#!W-2f zAdXsVK|Yk85rwbSn?JhNWT{2_u>DgB8q$bY(b_B3b#Qssk32O4+$j@_mW{MSgDvJ1zwcYhCJ)pY2(mz zQa`yu;))9~o_#P<)R4XoTJb$r4aQn4oM%PQT!-R#KZ1$&wx8=Ojy6XUyyqS_<@IPB zMXWjxWG|dy>}4W`;!~>zJBWt^t5b;<>$U%nL=2~{ZAG4%%HZl>X=IMFuA0gaIMcNl zgjqW~=pR}R=^4omVH_SCqKun?N;evVs#+X)j%BHWDwl6I(aJ-6$Vwp^RI8{+&2POf zh008qlCn}(9rN9(R%Y}pny^^d1{gS|vW^($Gl0a4w@fCGXLdEpqDjhLT?HuDtNfLQDo@_@z1NP-Nh3Ga*lP6>2wGnH+BMDo z!%>;!EZbJ~i)&5A%UAC|_UOQsV@mxwXboEiQAcKW@e^;jSdAHptC|dsIk8SDhkpk>E^B*VpXGFINSXnb6$#0 zf!%h1banA(&amD*%1uqOE7wnaqZ4v9QMps=hYx^MMh>aUoAr@`h3$7*6?{;U7~_{; z{VlNBvCgDHKW|deh8&z3K1=^*WIoqe?yp8XVFQj?e71z+(^KHOefFchCQi?uCqNf?$;%i@vGQ{2kb zpYcM8jb&wE3i|ALD~Yz)7h-oAhk3bRNU=_TpWAqYkY|FBwPE$g*rTE{F}{biJRkYp zj86YQ(#|uU?LCh7ZBHjvwO7&Bs$F}QqpcBXs6Ap-Q6mktW1mA&yH>Omwf7dWl^C^4 z%$SK)J24_9ocq7`(S305lY3t;o`gpc$?y05em?KFgY+Yt7xX*DJv86t z8eq<<;vUS6pc_>g^QsD~bc|SSRD#Z}OxQ(M(GPe6*`+uxxI|)?iTV>rd$Dxz%u(up zgmT>g=p8BU6;vY%JU<@#3TA$=yD~nSQ*QmNw9Vk%VPOHF=Za#QE)(;uyY3PAwkm2IcKV%YKJLTv*;C@m8_*DeRx4K7>Ja zy0DyUDkA(2Yc89U=1SI+^BGXF_!Ks<09${VL=34CAQjhvGw+Cn)fd0ZARm)b%jS`m zr8bZbr0MSv#*o<#sZNSI2@0AzhH_z6xt)Hna)yTcd>qf8VretO&+om3=pL9g93DtY zxKp1MP@+J9Tn+9AE7cUZ==@l$jA)F3feuFNX8Viz(Z2F$amri2Dtub!%P$0&Olmu$FfGjTq%%MqWS>e4|_ zV353e@m(GNNbS*tPxTc zGObPfxM(Q_-szAGal?LtMm5_n-GnhH3gw)C4`hsvtAMdPetK!3KgnC8m*i4Obs|Zm zm3$NqBxd#_qwo0IiHv3#D@f(@i6}{_)UnXAJ3Ycse}*6dzv1m5@5TwkF-&Lu&HB(_ z>3KSEPk{a>>J8v;Y4Ft^!_7&U>GK*XnEeyYOhl94x(agKm05X`&=fkSvNF?K9TD1) zP?9Y}aR;V!zAf4q-sq!kKg-iF>WkvpFMFyoEbHIg%fZD(|BCmV*3v#<9WrjQD2hfh zaJA_!mzogXSIZ81RNwmY#>rGMSlFQNSE%t@@n%awsY{YfSbypATKCr(@8Try-NTZN<@b6m|pC;vtpv}M({)3 z2wlraAu4lW0Os%I{w!|G3$E%_E+f~z_brCr?ELxc7_q+FMgr>-*ov_2S>hkx+jql( zVTcQcOQ zR{c+iptHiv5_@e^!qU>1_5@YD5|JSaVB=W>cI&jf7g+&EUT0LuxL1)TzLR5{X>rLV z1LbYfZ(Nv45VbQ=Qi2S+dBqqN?v|F1gIXKN22%%4f%hze6>{vd`~jttNA7Me3`-s_ zSxYgDF$mXRh68NqvnV`oSRx*=>yvnOVOyR4pkl3dQaj2n;hC9+1@%i1so2HLu$O$> ztw^(rq#2NA)7W^}Eyniiua%_8GjY+1=5rj8eNVOWDVoHrHC?e5#`J z1qa>>O*3};3j_upNKdF(2qf7h_`A)wPliY#^ubtsJ@K;GozUga`O=ajd8~)?6_Whg zRRP&DnhrQ06vVm97qt1zhn&16at*wgyW#=+D?8PJ(g~c?A7j^8T~@!!zKq3W2q$j` zD`SmjeA?x)&m~>Rd}YhpJV{j*N530+T_#61GWqr0>YlaCY&4lf_r2vxwO5AgQ3r%| z=?W!-CETFatxMDG$g$%fDCQStDQyb$M2LMv#3L2%#NLZ~hX%=0QSbDDUOJAepGOd@ zg{pLAv-AtEf=fh3`S{=$x&EF$aCbYdX0(LxM7Y*k!%kV#P0>b`y;)h)vH5crHmaiB z3$@GEIlbx$XH89{&Nzwj?gdw~=j3fu^NDS6Y&o5hTU=7^;dlWOI_>cK?=%aV_z39n z5fs9CIC|a}$}Bfu8RA^I){rt}PH1jx37hbj^uCbjH%K1s=}Wd8VxRE-UD22M25Y@@ zQ#R)8kGfEY;x?;tf6Pg|7X$_4ma)w8q2*#twUMjLI>zPUx=+79%K9Gt`QVY&nxe_Q z+)mw}CBO1H%i{RBx}`2~ZG1zD4XI^nE|v#h4;LE>l1vx z_ERn6%rNEfEw7&^=Bwv7Gh!kH{xyM$J!pA#cl_FwAHqz1w}!R#%HtP&@C(DnK_!1< z!k~0%Z#;hfNfeWQ+N7j9V;fQ}9{=UdRk8i^JF|7YjN0pYQj-6W>e9q>(rM$4Mn|s5 zNY`uq^YaT5KEQduY(zK+y^ptQ`?gQxDg8p~tf`nwNmQ|6|59&jY4OZL^thJfjfGZP zWwj1L%SD$Ky{B3&FG3B0pq)zjkbW3Y@XzKAmgm~DwEzHu6$`e1T%6q3w!^U z!KQ|ou@_J0=SJNGCMAmH$&D5EpFw2ne$0PY?gl*~7DuZ+33{8Z4=}nGp^_1qmc*q* zIEmK`s@>Ar2#n=Cm(F!^jERed>&Il%jA!k;WF*ch(r^cwu7_^R(QZVIP+0KQ*Di-b z>klyWpE~acsn-)C>+$VML67jk-9u_dmtKBeHw#@K6_a7JiXg=Mct5ZwJ_gzp9P ziMynj9Bc&qvVnpjIQ6(QQVmFD0AFwB`NmSV3-*0-YAS+a8OI_~K}8*;Z0*PXau5zOy!o}~wg}Uq- z@WjqZ03&97?%lmKOK&Om+40z7P@$Z5max~rNMO}OYeGCq)KA)H4+bT9SFh^dw=(Aj z8z6T9fM2}N=5HK#<f6e|Oxu9#dKDV8ojqExNglnUG;`3T#u96}0&hf>w`4)1wA2xr( zSz(4<)x;-#((8zMI91M>j72ue%!~%X|2EaV6?(6 ztc%@?7k9s}-!tzGlr6l|2VV4^0BJ$yUtVm9Zts;@@-U~VyB3NLmbZAA1z}rKJRtIE z$si$z3bc0R>`rvavW0W)4y)Q@=$@Hg>*UFzy9QAIbqj59^*yD7=a)6qZy~jJ8?pXF z9`v7lv>KXoELt05w!CBYn>$y4p6>C%Jw$(3=lx^aXuR$HZ5x4cxp}#|hR9jhw}+=a zjhvHytVvMCOoOm<^RTn&?akNfzd7HN54D_<^t+b0iLbI5CU>1kf`#6fLhUURm3CvRSo3(gVLG3*QwJsHqDgjh+eR`T{0eohEZo7@{P^7pJd^(9c^BOCG zV>c-MS|sCuFO%<2Lhv7}-`#wKC^^7-DcW@$zF+mf zJk5<&TSb|N?EbUxipxMQ(DMqz+``%bO6Sei;~HM++MA|^gIRxbumfez+toCwCmR@o z@j+*^LH9Spu_YKe-B|vz+Ur~}FKS<~3UB(&v}%dUxCduytFAv-{v|u$=PF+~rO^L< z_;*D={}{jSkNdk<|9~B?-1Oh+Q_JXr!?^^!+zxN?~G+=uEod2k^|))KTRyuwY_`QHvQez(HGbH zy%@8wVrXjPK1KyP?7jj0RH{%~8y2NKoy33E7;^ zfxYkF{7qaQ8Pm;!<;W|#Vgerj6mkWs+!P7edv5$7+f!SJ<)iU`SH6E&lJwo@|G_te zMmuBq{<((aist&nF__(g&&&JM!N#Fw76b1vZ%Ma-F8dx#46pSLWzgv_wOLnu%LH{( z8zF_L<6s|qzSRG&I1jIdU&en}OGey(r_C|M=$n@p_Pj3cO-fS#P|-GzB8fGec&;n0 zBj>`GXq0_}Yl3#`{$P=u+3ZI5&1g=OH;E4&-dLDcxSlmli2Kks{W$;If3I>pe9!@w ziHuoN7r5W{@#nw3k8W!4XWoADA_Q2xbxCwOJW=&nJrB0+Yur=)yg#i93Kb|QQW004 znuffD{wx-DXSS2w@$={SxR2GEXBx4cQ&s-y+>O$EGGc$*(LzB0h-VM7S6GX9l0PIW zv`q3eg3d>U3wA>V5f=c&_5(BJg-GehH>bqeN$@e>v)+YIGOb>Vd3E$@3jOF zyMMwE_0i=rFX~~f$1bc7I%17f>)Q_L+dU1u{ZAtZb zmWceF3pYJoXS}@-`f!C|YgFIRf9;B%e?R}qJ$)O@3D313grhiL$G*7=C8xx+S8AHi zZEx~Q#_cH+69xzmjQRLen;$)c%lt_w%TL2QuQyr9@p=|Xl?NVy0?`nkjnrl|+}ls= z>r=(ikhTD?@V)txUZJmN2_YR(RR0pMgeIPq3&j(v)N-YGNcPIi$rj~!|BSuj1+uiU zqH-}P6ASFaqQn1M@Hvupy_0Eh@H?T(9B&z?dMf_BG*N^%ZzU8HOOk!jPyke3 z=-!z-^Sm%46N_qb&e*rTr=$3DU`+4gzbj+wOPT!b%&S7!lD(aMos<4sC{sp9Kku~< z>SH#YpVW29`g5x*OYP?`gWM@_q8H|$qTJPLrmZtb@6KIJq01d1+{xm*wbfWSmsZ%R z;WzGrLNv12tI~5iOH58=HsjFv_pd@_R1vPh1skQBIgQh_B`zEb#H8lac+Y#4tmMvQ zel19AZJb$dKEHY{Typ{7M^?T9yJ27v#I5_XhSGix9^&oF3HzYCv20i~?#|bVY9jGu zW8M#m8HBncl4y|e=^DSX5`-`ze|<{^J1HrRS#5qh-{=Hn%`4UF52!-b)Yn9X-D+Z1 zZY*A5Hw(W`WGS12bYP80O{iKFNdWuj{X?WRrwXn0_2w61%JChIFXPfR%}AFWUSS`6 z3P1Lf?#ZW?zEjnYy&Ny4iNWTkPej!WerRlMaCx)JS!&%8^l~8+{!M8eF~k7Aq2-1M zYKg&gEp3}P{2?*5z|~wU`?VVwp+I2F_C4a?|BE*B|D@9V|9$M%G0=XxoaP`6a^Z&Ifna3aXL&I>HB<9$kYSHqQk%M~Z8_QrB<^cH@@+B*BWc(|1$TiX0) zwEg{AdSy&7TsHbqJh784(=o@QxJT(_#p+i)tII!e>D1nFSN5jorXa{DbGdBi=23v_ z$f4EFh54!k)0qFd{@vQ4TVEy(>k$5)`?IP3irc`zVD^C%3)#XuAKrHEXU#F29c8lz(?5`v#y`tQH=3DX*dbI=BaZG+~6 zL93|4eF@d#xK)bozif-_j5Yj>us@>-Jl^%MSVWRM(l~#4LSYak&@*K@xUw5c{g>4{ zKDsX-$aaPiCL)Rz;+lFMt{@D{joZ2sqA)p8m>bz?n;yV^UhTm`bB%om$i^IZlYZAE|_1DOQOfc*Ne_oSUl$;?T)o= zubSeNVc+&*0s7iJ2HEjoJY@867UUr*NgN`JQ=&)`SSylHFP)h+QK5&{<-|o6a?RTB zM~hRmtUcfw0jM#{iA9!<;fa>6cEh?gHb=|lKkv*kR5Vo*7}l)F_C1W5*0eg7Lp zWp3&*xhozCiWLwLuvMs-Ft`5;ANLRkc7 z@V%Yh`>vL|Qt45i%LuRTU$C>iB1VE7@B8{jMwX&q+rmvXC2>s0<&mTIMhab z&-isTso5sqDPTO?M^(S?+9jdgP(s$V^F5oV<860V#c$34Ir>PSEczEwCLJ@X0)(s= zzzQr{RsVas@+($h0ym#UJzBvMh@Q9yqVg<4rK|A?x7ZTcQLj5bp9 zC7^wfqSGVwf(t%dqF=B6?cYn!D1Oxdi;QT~2^XLKmjI^$@z+jP<~3*Ztxr|0G`1%Y zXy?J@Dy^_q^I}v>n7LqrlD&_b+$t|kZymh$27ja>X-!mc_vxqx`v>zhmH9^>=mPzA zPlAbw78H$K4Pro_HGOvnSM#K*WFQ_m5%v?@Z|#s3=+&z85iLvNW|j`qg2>HtxEzO1 zrA3fI;kK`haLv>SSlpCrz>QM;B1}V6o2&HA4^J(^eAuB$OP>rzer7QHMu-ee@{r81 z4b5zfcMYYi?3;(pp1YG?Uc7=)GHDZL>!)3qU2+i?=e+Sp?yjFak7sEFdDI+%0^^in znJNAjpmu?3TNz?2dG_2b;=6_&Pn3LpJ_Xag^pse6rcuhAt`)OtLd@FF1tKVK&=~|W zbVQo=B3cRxOuBUSj5?Ye4Ra@MV$7;N1mX`78yLNb zj?0}nIcrh#Fml)T$Ls=ZruQLYVJ<5%CJ~RN-3_=x1m$b}R%{vPg7hgaJ_;Xw;%|s! zq4h|Fq&J=JvI!j!!E&9DLM}lB@yVNdEfcC5EPYuLNb5o)Cr9Ci%P)9K=A#EOsVl2A zRi3Bc-lgfL&eTU%q7Jl7Q!Ddz$pO`UUaugp&@y@;kfEVrLTzULr**ga^MNi)iNPVK znG@RHAuodZeX6=&_93DBsGF6ZJ%;dP11pqGAKt+=?e?+cF|2%13=wNN>9&`TRI*P$ zr?-k+QfgD8n+#lZ$t&)on#SQ?AwW(F+p-3&o)2yPVFsZ z(5(%9pDSw5o3nllbye0%D#vvdXv#&R1ar%sk%t;y@KV>KZA;V4!n5_n?h$?Rmrmj# zMVlNP>E9MwWxmzol+fl;@VkSZI9gvJ=J#Rik{vxGHzbIqf=l%aU4758|8>W6^Yt!0 zOgeTzf_v&OvEb_GG#svRB%`%_8XuSD$#T7K_M%?K@ypG-%>n|$C!TscFio9MXRX({ zLn0>v97cwPN=h~bj(X~?rg5bWSg#2KP^qZQse4ywgKrigG4k>{Nk8&E@FB#d&VYb{ zro1ylX%KHkm+40AN}n~B=FeBh`arWJeE#M7JEdG(9AATu4yPfX4eD9Kn;*PP@j%;Hp8zb&$ z%!nP&iOaUqLTm?SWG@1ZCi#fRzNd%Xg2eO)x{fF~Og_y|tX|q(vpnbtMI*Ed;cl4H zrGAfBzkUieVh_RYH)QcZ_t>;a09>t_X}cx2p7k2&*m#;M?k&JsRR34(?15l&>nHzy zlJacZGgU2NJK`}(#AjPst(&1YWZNu0S8iWJTw+~o+wj!N;rJplUU-Z?3Mry1q05-E z;ksv7Je=diS=!;O*ev8&x`87{&IGvSS1lq`jETh&-sHe#R-pT68?E|6ps3tkF5JcU ztgjLe#9lJI=^SrGjvOmsfS*zYaxK*gCb((3@7OgYj>;v{Q`w0=Rk0O_*8UGWHUf2k z5Jbqm+$Ec30%bNOyYtH%25iK)Y$Rr60m~zT9%ISUSM1{dHk*mqJ{^HyrlfK?X753I zsk1o^GZ?ScgZc86v42!;3FWP!;cAK$T9QonFN7sMhwEv}z0y_sd*-g55YLWV(&z{| zy64N?z`C?Ly7EK`zS%r!iy7ah^$=f<^6qP=D6AfQq6U+U$i_t0LK2TskbYUnXbwsq zMXX*ujoR~8Oi0FcBvx6uEZrhSwmV%3TjEktS^L!{Cos5R0bLgAi+`)=0L`)#eti7& zs~0f1chazTea`;HZqw4ha|2WHQi>rTbZ!=aGI3?fH+cT~HQ<-pVM=6+j<^wDDxz@q zO@u0C6!}<|hZhHFD);P*5AiPK80nLS<0Q2Ag<`$;0(+M0ld0kpKEd!Hj#b{smW@QG zm7KzjE4Bq6UQSN~j6VtQN*;h)n4sc+ya;F* zdJLMK*Vq`!`wC`uvw84os!6}fS=7mvEHE$_{B;0~^K30kc2TGr93*QWCUULvMXx?s zQgi_)`$xEX7mu)Ue#Yp!-ZMx!P3KSXI2Z2q#Qi?vP_^?brbL;~w5h;veH^X!DfP$6 ze>qjoi82FqbObh0WqgVe89P1FuuJZm_}uy^ebTdoPpapE&iw67oy|A*A-+=~TnHr2 zuGHC(LTeKU{j}OjJa^?x|3^+`3Y|vCd_Ddy`>4m}UWSsC_t9@Z9^rA$cRF~YTZ-M? z1SMWBXNBzhB!y2w!ley#We5O6vl)59bbZ<7A0TCA-Z@?s$3`P>1(lr^7ijOXGllu{ zIhYvA3`GA_l$dSGJpnpB~Uh`jS23#8ORktV^{_LAvA? z(BO>OHmdfBq0$gC=$WZ^u#ggQ0-bYB#-=Uu@8wMebCYNZX1$V(fDKFS1|_ZB3icWC zc(0oJsKQmj!*vGh+_IRz^-e{SK|`)LJ-XpmFb_vV`&-)9y*`z4MM*(aBp1vUNOY}y zUQ&wv5lS>%p3OJRws=@e66)u^g;y&v$zYO*Cw0D>>bSeZ>Ulj#%*@g~Q4p2%>9GGx zSNI>@s3Tu2baIV&(ie6XvHF|r_t~{E;8pV1_wNq`o$A|~YNJoNpY5-<+zCKxF_i40 zVI=QqWD#$`#b=*FpmPYLpMzTaUkEOCMez5k92mrxS?L8qce^n4C2f`ORgbvYOMi#rhe7kQ9!ox;icn1O%QP-XOYML8n~131<%IvPI7nVI57HzK2P8(n ze+%T!`~SQ0ZwJ>@4u+T6JBN)D*mcR!Lh<(8JV#0HDWrb902+zvr$LA$**huu4KY&=^1%WrB%`wj!QQKpd%~MOd9?+&h zE-lp#U5Nl1t=ABly_ff3omUY0w!jnb6J(F)jZ|lClOaHZO$XGTAZ!W6{|33^MTefi z#e!s3Z8@MpU`i&QBVC6AuW~lcm`*H`jLpRN0xHrdb(;6A{XNK*)9z|6pqen)rp_us zwO2nvs5fsA zchSohy`v~HG^bmLn2g}SlNz%0bOtjDhx0i~lqSPtO7?^#9M*z_iKl&lzrqI&gg82` zVg-Hy`GZsWPS((OlF@f%_t<)r4?dzQmFIiUHey-QM)ouDyfM7AArH6C{4is*l)f_n z$7}l4o<1@vnr}u`ay9firEC=tEnm0Pj^A{ScYIL&} zusns{4{`x!GY=4ceVzA$mWN!eO@*owW1j&2CnejN)GN5xVs5a=JK0TBtg1Q|dlc%NjG>v#C; z=a!>Vyx7rSaeewCy;@l`UY?uXZ_0(WzCE37kx7La7Ub>eGnq1e6F4ucTlZKyQ+)@I z89NNpzPm9SL}%514=FsAz*DKTn)d8bbgpQ3YI)<#w2}au;e>DM#Ky(Twh6mTKmMH0 zha(%x|6EoQl=WNCYgCsq(D2y{0B)^{lUp794&r<4F)jq>zk3JmSX-s^L z4*WU|iDZA%8u`xaL2cu@&fHMr{!@)N%rnI35?5{W&M8#nb#U1>XHj``;X+sSfnetX z)q&CJy%Uly*~@lOXfL-q@h|FC3YO6NwFbwA;r$fwjZwPwVQXTyGR|d1c_7ti(xK5r z#JGNUNMTT$n1218;xIqUR|@(n ziDpzLUM&=`kqf{PP|u zw8tCWve<_r-Xdt_Jec;fZ~-*S$JxOR$fE_p3RNM&`nM8EoX@kpGaeWwi6s?(b-DZ1 zM?am!%gi05Wh*-VaSN*l+BtEfegym>nYfxC=fAj39%oh5l#;b z2Svt_Y}q^`Q{JUh<${33F|iG6W@t51)x_ymis#nb2$mS@y<|$Uj1_dJ|L;mS`1=dO zlO<0Zxu##4#!+Tg^C=>3^@{O?uLxXzN$m3`G2PtMe9cXen`4IaTKuceJ*4?-aYTtN z8V+eIQ5L(0)nhpimbW_T)ZOUkXbC)D$)99%64Y+~qVfUzQ-?OG9Ujr9Fx$U=quB_7 zpTy%7Ni$($g2}Sp|2F6VukdE+A^+jfuD=cSZwDD95|*PXD;vJ7j-w84^_Opv$pOKA zsMTNvV4xBo*l6&wd#WH7Kae)-nhZ#G%Wrkx_3SG z$y--trEG}V(+HOdz1dy0$L8<#Xr6Ag>UwN^oZs-6>axh0Nb|~Zj2aes`?O*0aAA<$ z@^hh((ioi~@OIJLNT@^%Xm)wQHoZgg;-$fe=k4{qX|!R9?*-tUk{J^k?&)iHYkcek z*B6-Wi1VY5u0I?6QOy+;=5_rpN0^E><8AEl=e1k$P>;{I-WZEZMgZ+9Z+YSvCiAy? zx%m%6L=Z^yW*M{y?o2ZJ(jaLCWwJJ((#ZVZJCg{(ynjpN9?H1MaY1isV^kMEH})3 zAlfFAJ{Ef?p#4o?l&SMx2pz-mJ!hcXaW>9M=C0<0m%`XV7d@1PaoozL77L4TQ;XHm z*M?O45r6l*Ut|yeNG`gI95B-hoIbYzjd41kL1y8dUK^0;;Xu(ugHLD9mRc$PH|jpg z8aKOGL8@!BOvrKct-qE;7dP>DZ+KdKt>{x+2UN@C3y+{}81Fqd?&9>Wvm4*gY)RXG zOwJhsRbfZVz5MBSd{jFgq-X~gGcD+=CL)}q2UI)Ws=j-fGS!<Z!V;TrBP&38+qH!jZxJ4kk%K;5tNpqY*D2aXV^`sjggPXbAI{M$7+_m z-dcw?u4HLPHN5rQZOJpNOt(|A)ZLHdZa3Lo|CxETJpr*+;eAR;Av;iB5NMkYa(}rU zKeOZiSXG+~vrJ3dsciB_u^G71m6^lx?t{Xf`OX`_3=Q@QV|4O;NGgdGq5rP@1JsK` zKf%==Q?=`JATxY3EE121eMRmg4Rrwg%E@-IBi&I68^4Cc1|yfiE{sr7m+QOZtqMzi zxczu1{*X5$@zg;EYWXt#b~#hu`qR4~W|#Cnk{+?{Jib2Lr)kJp>!#{h4Dxso;FuG0 zQY8KuERlr|ws?%D$z|5}FT-v5dWap$Xu4nKY_<*Z-PyQLpBq7_63X?7>f5+Cpo#NH z^;gQvh}*`^Ks3s?8$kOA^K6cvQfz5K<+l%21%5u$Cr1|q&o(DaG?X(i^+-6d znf+KAB1tB6uB3+YNS@GHcmpZ6pr@0vy+E!bUd8ARgFwyD!Lu}4>s zEzts!_4oPWR^{DEXKmGAx?L%ey;lQYN-)FfLajUO6j2#|X;= zgWDyClYqhN{LBN=Okzv>M6_S>j#k7Y#t~6SiOZp^>B_Y+ext!^PKSrm*2-Gpp77_j zF=teC&*;-17OKWhY(sjY3|gs^j4+oMX66LeGbGq8YHvQX(bPVp8Otc*Hzdj9O zw82~y6O>Z)12fg{{bqzISLNPV%9!@Wg8Z3H)_@a}BychHi*aiMYANCB4B56388aW{ z0x#HJQ~U{md-C8ppG@e8vbY_7Vr`Afhkh z+UWYG6m)B-I6sBQq$SzOH zPdbpHywD%J$tEmTXsQ0!sl2lGW^*%ETQ5U3SPrtM?Uw@pqJlzh z)b`9u@k*bBQQJ}E+Qc-%AFX7mkb<&)d{S3G=VJfIGh1cs{$jsRK!$5S{KiOOW0qHG zEY!~4Q$nyUa^gl-;X6Aqw8Ej#SHWB_{yY~(Nr^c@<)y6eO|4it=82Q}pO6YOq-CnS zXt5>4^$l`f8{C|H*|)tpbXeGF5i;(6CHYCCKo4-gn%KJx$Cv*`TRCU*BIN~Dfh7qh z`HR-(*VN2PzF|@CFVUEM?%|(xD!B&zRupx7?h@~h<$Lb78%yqL+?2;Bgy*a>qF>wO zo@gD$ftnt-G)c6TPosjIe>C+m4T*TRKd_H3NJW9>Gemt_8ylg{QwBt{2kSTMUp*rn zZ{(WvT9jLOSy%%Bxa`d%%!(icOb`l#XYe;G7bmC+xTSk_;(YGJbqGutg2XpnEHyKS z7m!6uCLVu@vHoKJk{2?1`3qPi62S!O7%VUVXB)QP_Pma@rT!ea7{{yfSRQWB+DYrX zB`uD*`xT8mOkfLy<*ORa_Gd4-N7&wOfc8xt+eR+adAFMmS}R+t8`KinA}S9mPw3>y z!rnXO{_uu(=X4j}h!|DB#slU7evP?UwqeWBSjl+RMFa+dWnpf!_~t&(kBNK_u6%N}zyP6i zSH6n(mUw6A5TB^`kjT|joo8B!A7Xwc5%WgwM@wzw4?LpXc#OQ7&R@^!%jG#t=kXJB z{=$^z4leymdI*hs%k)(3xcUp^~Tif^Q)bncP zpqMv*9F8juC3MdfHRqsOX_dd1=DGK>|L}h*GR~nLX2ttb^Q1V0hV1^S{QNz>X)P`x zzV3C>kLObMg?+aViC<){FL-)=zN2IvL+_^OQ!uDDxV9(MJ!4@s6_Y3L|I>uud!Xy* z&ocR=tQv*kIhxi|AH+ zLcgJYvgp@2<22OtVSICdXQf-qsWQj?&x0(l;$2CMYd5b9vIW>@m3^J1^%=YVz)ZkMceLu*2cNe!#K#rZ8$h z6w|Z_NFMy260Rr|Td4HWl{9zyQ)F%SOI@U%D_VcTE3 z;vPpI8i5F9$=Q(oVElH{6{397?D%9nm%SQhs;gW$;KPjDD<#=H@+hJWR}5v!d|T|A zDqQ?L#W(wLC$$xW1=9SL<%7D^QZJS4QX(7vWO;&mT zxd!HE;|i((BS`(Oj@@nv{tkCpbS@Lropa)|uL5mHhs&SYkEize>(GD}C-@1p-_g}R zhI|`RgPJ&QdhE%KT%T{$xeUpT{aBxm-zja%icI zo6tRwP1acoT(6-CAcb9BTT9T{4eeJ$?R-YC{f)-jTN{~m)KBkMw#`=JYr#7zd}6JY zeZ^vo0==!3H5L-^H<23~f?2n@R$%^!EO$&xQRH}L2|ilETsvtAFP-UJY0dy}6 z@h`YwC2&Ae6`XfFn&TpcUYkA&GoBmyQFtPseY{v#N>_HvNLT9P;|WuPx)#f4XZf2* znH{Dyt%V%blyApgt_!0h?Q9TuVfu@Vx$GW~?EJ&u2-Ty%U(6S~Wq;$jDTSqqyq5Ym zOlC~)`_boT?H5wGuMc--u$|Q*IX~|Qkb6;Zx_tS{sze)fV-8UHCcfAHb}#V3d8lfL zb?X_&Sdq*x@3B88Tabr5N;}zYSSi#$16`{2XMpJLDB44Ra6W{0&AYpGLU`Hn5F1z- z0(5SfO7~`x{#_>WH23e=*4x(bq&S|7g^YD_{CCAYlvTsEWk09ThN?#4C|>?PT206@ z$<#~OpHO&I90q^WGb2b>R~3)H@IZf(xTF3B_$)sFV!lDal+Kmvh!Acwa1N8}FHDJT z85@N61^RI?%q)}ge2YvgM#}#z*mNIS?w+M_u6{`aCgo#hLWGEZyQRcR0*a!2E^E$v zS5@9H3O%FtxSwq<2wbwD>b}0v5%w3tO^HWc)>R4-wmFjgO!H+ZOOMr`4u!wEDgK}r zYy%0S+eUC@B~6+b-SA|WKL2<`KRrv}xq$V2D)~cw{9QS#V34J^b&pq+p{oE2OkYAvm2Or~vzL%G5 zitaARpZm)pOgTn$FQ2_nD$X$OZK^$UvO$a~NFWa+%HN?Zy$?#<@`*>(QeENQ zJN?DARORCb_S0FJbHFJiD-;@%NE9|ORjnq6+Fo|3i>Q7h_pi?U`R|IZt2p_5Cf(h3 z2i)Ov0i^;~#_5Ov5ihpd%g}7~B6S+O=vI1QN_(>9`KP-5+Be(uQf?MWWB|{FqS9$U zAN9;gmuKNJ2k7E|Bj>063ErV%vY!D2znudPO^NAaS-ATP9Y5=trH^@8we9K#m%s!1 zJJiy{jxpdB8Fg9Fz0-333n%=+pS<()(%MDXf_&Lo6v=E5zNM+6_P>6|76CkGx?|{* z3%S#O3^bXq{O{ibG56;<~I)AY45Y{^O7eE$E+D zeC(Uq8a!WCxr0TI{VwnLpTC(4`5D@P$~sL@u%X_hV82@ju>kH5(2KEm%k)%}Px?_Q89s~lP)3X+%JWNJ}1oopT@edJ{*Op}Al4-C6A z4ZQmrKb3!!*Ti<~Gv8pCiJIM@FfYPQJr{T%F`%C-e@#&#v66T6ps-e%GF(S^nYqr4 zFK2u_ZebZg+ta9EI!GF^TeZEZXShL7u=6j~5bth*4qZt+V(L+j*`7Ijg@^7vebwk! zt41WBPNQkiQaa|JJ7tH7aZ<@F_geod3Vle}4a??|EzVxC=bZCZPV?jF0=(5sip`2c zW&?s#6XPz<1qbfGd2coC7rA#&;NvE$1>KQ)X+r)Mgb&7LPmEH148D~vBLi%a3P-ke zokTs*o2d>a3kxfB#w8mmDxo2q=bCt(_3{?aBUA*%GtYJ}7X4a2u2F+s?p$7+uXk${iJUVGG9y+L(1D9+bVJUiiQcAFvf+MKCA*u9feqTfkcNZ zzOejZW9ma$riu!K`d)vWOfgtbUA;2`wNM!Tqhc+t%BZ0Ma zo^X>kY|mJ1cMm)Z{S?AUl_T{>wrSvbnJJR@f}9KV-R@!u7@cztk92UrF2e1tE1RQR#81<1XBc|P&-PT@HVmF*%!-B}+;+s$)* zx=oIBZHf1`5C+IQkrJa*e%R2H%s#1l;3e zvLZIMYbU*VV|fI4c2G5UMmNIDE97r6h{zQ}v}B!>-55Nx6#Jk9P!RvgjL{z}VpYAD+(tI}Xn?zQ zD*!UMsGGStiE3v=h%Z>%yx^bFlwDNll{b0<1DEP{G0~OZ7y|!3%esiaMCDri@q-bD z0(bV*AkQSkeYaU{9ulX>3Alr(wU`e`g_>S37w(Dq0^Y4N>-}`qYs=7o^jA1JVQ|2aHVhHWqr>c?7%PxGcwWwMO$Nop1?dfN&!c z8ZqRbu{k?&`T{OT&#b;L%lf+?=q??m*i49QL2%t$*BekW{t zZ|!*J!t_kdX26ZXCq&xS;LYxw2Nd`I00_DMqO=U*tWQ|v-5n`Lc=fjUCY3IMt0>pN z-qOxk*8uLeL)VV0r0ddiMe*X<`S^1#6;be>yO#PdpUBz*M7?GW&}{Hy%`bF43ognp z9%HcI#Du<2my)?wQ1Gjw!mV;vI8sC8)?jVu+5zS?qo}x0J@UP5{0ne1^k7d#T_fwRa=kb&+jNq^r@q{APrLmFJsR3I&DMW9^h0o>VEBBa>6>q zQ;Zsj(w2RvXEhn%Q$U8v(NPyTzf;^07OahzFCi9K3bE(+db4F3}OB;~X_l#9js$ z(G<&s?nzA)aeFO^Fh;dyf|ovKoj8*_=hN|S;iOyS5R!a+nf|?`yXh_5l$rfGRxHNM z(z@p~y3~JOC~`nR6CvT&^ON{DR;!Y^+s-z#^IGQ$aD-x~1`{Cnmis3tq4)+|oSHx~ zCFt*%`IjWgPgEtm{_amnR5dL{trx}1KLVEBVw#5&q9Yc2KB*(zD^ zqBP|3g3&0eLvc=K%v(qBXnI|?!rh_;9^m-yNxZu9aw%x^E{yhp5LIpBF^+#`}L}+5cT2-l_7_lKa|tfBdYt` z!T7AAOn(9`o%Zud9<2T}0C{5!QvIb0a|+I*#J*~3nxMY@AC#TPK<~e@9+8i3Ev-bUHRc$ zC%Mjgp2y>Hzu#~3|B=r6t{sbuQayUYF2kX{K*QBllJT#WxId7_qIR3gNx@K!Dm47D z!JdL2RLo1Q;mPeRDRug5(`VWw`U!%Y(%Xt4x9Q$+4V>p zhQskL!#CQ$ovBQOKHOAil{vT5om3lGlnf8!^0B+IWxO$JD-b)KcpRysyevHV57C% zVG!c=O6nTw_4IQCJ?Yf+)j^hEV%6E}QJ=7>0g4kf^BnDejknfghk5b*%9@pOyjAlU zRdE@_Xj>fD6f^D28ZIh%!|j5HRD{5po0+qkbI4UdD9=hep4*PLFfU0a*@~W*rgb1K z06EByy=nC>Je`UqF@DFEGx5fjIax3&*qnqtN@nUtLLV+zHk0;Z?Z1ypq*8_!r`&cN zQ4xHMP{@N*-j0Rq7i?$Z$=#z=^^Sjr5s>8&vl&zJn{i)Ai#C$;r|j08w+;@AA*;^K z#}l&|ZXer>yNqDYMS3PCwV@?>>{+imz{mS=#~z+1z(0w=s&hcW<_W$q#_kJ#(s6W) z@Dk&_sm-?kMuQa>cdTva=5nPifhxGOJ}_pg8l6W0E+Je~(ff^mA#?qMPc()>PmqdA za6Mlp3IT1{Y?fb(HjWmlwB=UR&P!6t+3YAUAF~%Mv|^i;eW%9J`p#rSsGJFynC(}) ze@}m3`$fb+6O883X;A1>%7D!GPAQE?mle#;q7FakLOnV3r30$MS9l-(Rmm{w*=G}Y z&F+wj7}lnwhqpolcVvZCre@BM|0{%xQI?QP5?d= zlP9UpgyD8E{LFr2VATVjFC(3Hfwjtp9#?N^=Pm<+SQgNsMWC3ZX6TDIrzk&1vet$ zbN(E@TM{RP&XwR;?(>ktzx(;vv=$eMO6>lf$no18tp)HK$_=wow)ZzhiyDh(t!-vt z-AHN$Yc8>_a)A3&`=aNUn)@}(BBlj#1%a4lvm7EAEq^U%nO#$s|9%=|0UG+iwyw@S zeFb7CF|<3XGyLD&qvj`aHVb0ghWg$^%a;88Df>AYd|dYoLCTwj{PUg$42^6B$u3DIoCG)mvgWG zx6*9!rPHE-YkP_(-U}(e;m|H7D%5i1Oy4ObfY|z4i+sK2-HlV*kEP%(v*hMAC#}3L zFHS|%>)#{uJha4cR=T_`xTcR^Z|mfZ!avgkHW&%Hye{v&Xx>a@L*mofiMk%<8;0O{ zopdez8^d2)=xdap&KN1VnOMWh6P5^J_xYV*6x`Iy(LU2Ae>a~^@CLsNr`1YE==!e9 z+5PZm-@@AU@$PJ99rJt7$dWsktIl*H^yGD~fQo~4fYVAg2Tk~#>zM(GE>7DjF#hxC z!tXlYbxWNXQ9Se;lfO%Sw|GBMlH>zz*pakI%Q@+3!6kX8_siKCr<5@%>; zc#MbP>lbbW>zro-E6)w<`ouD-1TSN-$?qe5{2l6Qi#$Ep9l7)f23t~(>$R+MfD&z9;Hjx}e38qFt$;m_n zkSV6hbirrFi_z`?@SQ_y{F>Dko8Hv;p1hmn#wZ{_U1{MHhAj!L9?eJk)np#o_Jpdh zO?HDb^~mKtBJU-I-i7cc+g(!=pyG)(vlpV&XQeh9{{Ci^T53$ES6@JxCR&>XMYox@ z$>PuJoNx5o8L?y)WbmdFwj|E+>Y+Fi9;Xiltb%{(D30g2P@2%+)6DhRRRa(bq1SI( zk|Nhi%ym2MC@X;n>5sc_!_HvEaF>gFAH#_MyTp1XG?sufx0MEX$ya)HNmlb#mYdhx zSkFM%(NIx%1Sw&U{}&Yy=`qKkR60e_9A7*~zNi-M33aING`MQ%NkMcqm<;7g6nYHx z{)OT))=ol$!jpK}jfi#ETI)G5f^3b#O79aM|H(9oD-oLOM=K9cYof0E3|F09UIx(z zn*(XE`LR4qSSxi#YP`W*(F|m|II(<#@it-yWzBGJzr)enqXfKQX$#qKtb+XG{p7Qi ztsKvL$CX3#Oq|ZPwKhzAIi+~|PI=8AHutO7f}_4%n`#&Q(4e?fd%+b*r_d-ez<2)F~KdoAng{Uju*x>zoobi69Qt!svtki>B7D7fG zD{oi0yFPefPw|%=Os&J)gl(nD;>$BcYFAN)wAc_1_l;&*B*^g~_>}hOrFVz!{O`oV zs+}FKkoC~|xvI(eb;`!6+FwKy<96$*95n=8khG;om0#2sKHKtvJZipZ$F}5NZE+FW z3EVD6UM^}^918s~+MJud=_Dl1P4CE#AU2{-Q4AWbI2jufj)MkNm|+^epB3)feMaaX$_3>1Is4f>_ofNjJ|QyU^c zUK{->C+1w9H?DGbjz2beN2cSBtQHAIL-g5cP0Yc#fy&hR31NhzeLHZHqwC;J{-<{erqdH|=wILPo41Zun&_28Bhz$MNcBQ61 z)y5DM(ac5cLhK41-Xg^t3UL9Vu^pI9+X+ID%=PI#B*b%gg(F4@ykEeRrv1cdY*6 zwU+JQ%H&T=<@U(9L8(6~61)t?m1RS4izUI>G9zKx0X_L*l)w_!KhR=^ljHXgHNY@Q zpq}@7ME7KuL+NOR*%vA40uGZ&RfUE|y=wU;LaLdEYK5D-ZAUlc%Kb<(l$Nd}1t$;RF zM;`JrQ46OIRd2~##Vem{4RQ+#D~i|0D&ytqU>GEac~*58)zVwx~Jyv(2^HzvjmD zS>MLa@?%jL7I528kZL8q<<@g5sdHh_^V;d2jaw=#cW2llRe4&=wrb!|bHX8m^2@O! zsluTqeelATKj^%mLi<5ob1UH?X{fpEkL;IG^lq-$_xY!|`u9D8arXn34`$S_%)0XM zVrxjfu}9~E&qsW+c^ToMqFZ4!)+!XaiAgyYzlrIpYPk#u1nS~N;mjpwfLjcN9XOKS zrn~zQ30ORhC150=hIP&}O(5Iyf-3q78{;(qxGtqAYYkZjPqu3%XT)N4VWS6NvRQ=+ zla2oS<9muyGO&bILsNbQQ{%OY!Rux@h2@&M21<#gK$ebmc7hMcIWPKf>|23>vCr~N z?c5Ft%p<;ubAO{BpM1})DXEGy&2-;$ zURN+e%y$1MJiY?`e4|q3G}Fo7;**fVLeix9NU&;slBns}o{Glu!WFo~fL&yb<=cY40RA z<6-x@x5dSKG3@r{F^5SgH_LSH`324cwlpVb*7kcxRuN;Mw^~#`acHBo)j7{SzU_gQ zt-iTwe6maE^j|vtf`P&Te;g)y7#0ec!E((`j*=Oy;r<=w@)J$z)c{^NQRIJ@tdqOU zE?8sqIGk&$;8p7{gH!`mwdOtT%l=M|#Bm)EtZVluHw~e#wIOj#&vM(4e5*FguPYK zxNup!tJBbF+k$f5yKvzuo}p9F*bSsTPmKpzyC)mA?cw`0w7nSaZK40^+vh*sK@0PkOUz``O>b)INhJ`C_^+LqPDAXpmeRLLV=iEfHHy*YHNwQn zpvqs;7gKc@u0Ls=jDOimI0_n6It7nl0r()#}bPTvSB?Lfc{eTe7;?Lyc+mOxFtlWY z@cwZ0d*s!aFb#V6uCzwl*}=oM&Oap7*%L`dE?Sbg9;^j(7-{$sW?*HVOdV}kwU;5D1H};0h zpS>eKCWYw-TPUTrzaW0eWKaGVDH$~+-QB2o+HjT68!O9hTzQ_(2Ip zTg-X0*KE3zcb7wAt-P5pJz>fr`)NA0jiaVtotQI3^jY^ly4U?RoUQq8@3W-Y!&d{f zl zw7eVvvi_bxbtn6O9J}_e)G^^r676!8_RIHKN!2VFB{QE>XAK9hSXp&(SnlrfThg12 zJdfSsJHDs<;^XC4y3Q)h6$AUTTK2I?tPGkHU6U0YCdB(Qu(8Uj%H2XV&)d1e^y$A| z>j6WIkJ<;g6VZlI^r{?KH^U+%ub)(8cH(r)+_X`hR}(I;I##xg0zNmj8)i| z%oP6IS2<9A(3C3FsjT^~h=yhzFcXXwFEZ|ioiV+pFy;MP0D5@w8ax@-G2m5dL%aij z;^BKY>FL4XC`%8?o#j~T04D=P{@TpXc-hVYkNx~Jrd|po8Po;92-NSWgg8B{Wf|i~ zz&Z3)uj-ycpX2Q3Qk=iam6I>{^D$!`9Z$)?X5-ou$^7IL-r}g82Btnm|J@Q& z?`2urHCn0B|F!&aG>h;@zSGH*p;2_cW{R^mjZMA~Kc_Xs^JTRBe(mj<6?$(GM35(T z>FpP>!W#{ZP0dY{*nyaq2`qbYvwuU#e$Vb8-+|6AX^9f2D?Dru)V;mSKuF+FNKV;N zV$Q3AgIGI3Q#hh_JkW*N+%yoEbR_kB45|QA!32wO7^d04v1>Yippa^=l}e!~>n8?v z;r{vMx*H)Z>o~X19Uu06Z;?tPbZCW+`ulo*EmIGy7l0|H<(}_q3JzQ!6}GbZ-z9|} z^Xe=IZV?gdPa-B|9UEFXT#klc9#-?1pmzjIFd0@n5D49UkZkT+NCU)#ox8}OfU7U< z;PJ{O&;xc(Pa4)P_a<+R6%VW9=c6+NpWf}hTb!@c^rdA}hsWxO^gr&yd~y5d4>&jD z)kH%3^VHNCTcFGMi2OTezDTNv8Cf#nF!`f8D~2)gbFf?+si({n1I%wqAC}I-*c5`?Iqe3@vrZ$=He$U)7hhQBpbu{{f=zNWJE>pY1=*68hIK z<9NkHY8G!%giI5yOiF~t^!;xTp!znt^Mjar-AzO<7iqLp&qSoXJVoy{D8qb&pKb~k zq-yN9X#^FQqbS(U{37hVu7@|L zrc%n+KX-G^M=Kv!asdw9(?q3Hxk)BkQ4QS@JT5Gt3F8n@kasiD*F0^r>DJNNqyZi+50`1q{;iJ%I;s#dy_TC*Cf{+VK)u#^-8s~wkV1oniFVkj-wL|ijQq8IRDgk)is|v z^no39VM)Ke1kg8Wl;|#3$NtMJM)TzQmO!4)YZMv?TT5>WT;(GD7*_pt&0=P0?ccr3 z<%3)7&a8Liy99-d!oR$!TsQXeG}(AAYH3;_P;j%vUs&>W^>st|^!F02K|NhP_l?)O zRgk`I#bP~zVE*6dUbzxqq7}QtUCq(}Jn(WZ&x(_0^-mk{_4fsQRpzgM9)LVOl`&}` znNgNhOQ)19UA~mexvAW*b@xKE&jF`6L={T;M#Yx_w;|1_iZE(Mlb9c4%WPBTK@7XT zk+4;4QF$l77In0&GM!f;cInY3tG6a&hLeYr2h9L>g+#HmqXRL2U1Q9b9}?+hN=);& z2z+IzpwgB$W!(PCjU(6>Wrp;~)Js%l%?7;UpCpw$d_`uY1Y+bi#L z+8?`WIbq(p=u|tMx+ddHP0jmI%)-QhF!sr zIVKOcd0T~=bJGy2xBi7$n>ceVuU-nw(@}qUc(x&g=Ef`AY5Tsn$hBEm-l%T^=AO3E z>Zz@SJSq)uluUbH$MND>SE!BD!r_LM?Xzujd^K=h%C`2Vllkk$d^Vp$w|)bB67D(XWsuV{S5o>+(1Ip2~|Hc0;>k8Bbw^AY{Mq9x2n(7Go$}wQ@q9a zZiU`+=feA?)SLfZq9Oj|MY*2{E*#vCX4zKu?^U-A8K!dF2b-DUhX?elw_r3!sE~zu zG-3B}Zf@89L?b6^Nb1K$%iX6RTt2ia)93fjl#JGMTv7U<{Lf{dcOrZB&G~Pgyb^|4P5L|D`?<=0kwwYTS=Rzx?cF7rMym%A_ z6@L)87y2&@f%ltnqI(k-K_0l9KYWsu+x)t%|K{rZpf~dWyJU63G0w95hbPD}f8ZNs zYglGa@Q?orPv-wFsm07EX+v!!+vb$~M}Q3_(dug<%6J>`^Uxdr)pL=8j(OKfy+ot) zoONW#d-Wl8JGWW6m80I}oQuq5@|lSGBUPFb?;~JGQ|d1kC*AWCfmSj2FSZ8CJhuSb z*&08qw+%5$6;HaYt#Zsee6;buOB41VB7UlWT|Y7V^TE59Yn^ME{NNnk>t2X_9LSa2 zneTCsrO2C}Z*xfS*s!x=aHtN#?w|Oz;;YuwQ!S2p^98qtTrIxJzvFovm_t$jbuQ}C zM^itt&3e?$z#{cSE#|7CiuVlfaFXka|MW$^=#=k1*p4LZkhYnRpqwJM#x4rf7xMu> z{~>+`N_j|@-(Dwco5S>%&9_nCN`LbNIHq;YE1YLaybYh!XdWpYJ^@> zoQ-mqEz{(KA$JTfGdy(fHR+A<&cGb#73QVl_ZE-Om|j=whQC z-eObHR2nDJD)hr$F(tGLb3-}fW5|jbeVO4Q{FJg)hAw%n)fH!J4IYjvY!GXHH8ic& zh*Ajo^*&-dFt`2uj|=Blh3h!;&AlW%Bvy^~O!|A$WY-1#Xs95yewXlq3Zh8@8ZP%Y z=h??3VOUkR%>y`s@kXCV`3xk>J;IOFU0PLgy)_9d@ulg*sTe`zg6Hf3K7&}&!_C>* z#+M6w=X-t3CtlTkm9{Rgx68~M(gZscmw4og-m~qV?fN!TWXSizXI9(q?t+HY$&SF3ji8m(_8XY!!JpHXFR=ofUDe6=j$Sc;C&5uP)uj0CFu6A+^ zVGGgPIdaa7rSRu zew<^&oYiB)>IR3y9kP1}!McrP`41`{#CV}MqZk_(;(P_M8EtM_M@BEtZrCaU@nk-K zk@2rcg9{Pj9CYV_3wDS#f^i*&P>p&wlRU-yqdqI_6Ba);@ME5Z#F$(%`ldO)(-WRy zO$g>(c0Fudz5{pJzW8tA$c~W;0_QrlH2w}Y?C90UOp5QkYtf4^7E8OTx;qgBLVcl^C6>Z@%*_<?hH`KX7N)<_#ykq41H8LBf-Nx-hrhlix=<@uKL+7ZCHcL@KC!gSI z=H-SG8pN=8v_;*mum6mZN@E-2-9kNHtLup;0pOKb9$+QgiQC+p* zxh=I@6D-4h@MSy#a; z!YLr6!sgEg-IDNHb0(~yDNk8cL7+7=RROjF;ZIg)(XVt<&YA?(WgF6uM2Ghi(dj7R zI%&2J9h%ff_V-6`#$(=G1BvC&NpGIq_P8}VP{+YuBxLxw+APY|K~N7n_Jyl3t%T-2 zYJ1sNpenCE?8BOjcTTy9W8wgr-LaZ|?Aw;nO0GqjSAR*XtWf9MW~lc@7z6d-dE2R4 zCX~559X*J7KMxOt!v1^bv8(d+o!ShSKdx!MCge$4K&9=5ys*DL)5U?|s0Rlf)bx~h zaX49Kkj84{P&AB1GRAlB&c?hjDWtxpYNpfko)tXJU|fa2disBtVAJhk?i8tKm3;!a z0mOhx37{h@b{LdQ)xrir1?2Mc)Mydwh6G70yG&57hDB@Q&f!dE=#*HX&CVFfY9Q!c z%DgJ(!!zHjAkXqYZm-(CDeOCi2XDFn%MZXy9Y<2FEXYxZzzYaDHhi7y!(=n1 zIBkD>?(x2G>Rh^2h~^Pnh5>6+s?JWu!tg3~aLv+>qmtjyEKyO*2%7c8SCFmzQz?cJ zH7RQB->f%Lqi8D+WO3gb``@J?g+8?qx?g`bHR3`0GZLu@Ao!1*970d~|XYB{Fz zURIsCvf9(X#NuxoU4~&pLxhfvvFoVS9Ei+I96Z8(2zDtwGx%N?)atEEwOX<`zq%<# z^GfA04;tnO>**Cel8-YkvxW4Om$`Q4-Cgs9dF_`JoL?svi{2GelN3kAmT;J$=z-zM zSWZY}Yc5OmZJU6xqDk4AI`_eu0hvTmYcg0OJdZWzDd}iF^O_&Hr|z4^Vy+gka(kK4 zvy2+_tW8aFLLzsmzOkXXrJl5q9RiamQh7QZ5wQQS4;VuQvxgCRIoz^9Nf-l**-n4P zF3vE9jXX{R0Rzy>ad98cR*|DK4QLpJE?damr%blY-31al=(f)m)grpi%LMew?WT^2 z1+6i!sp;R~5#45Z*GC<;mm9ET_h#>a`vrovP1&7^We{7gMji_-57w=D9!%obO!qhY z`}ll2CiO+6-CbFyh6tkhM-|bopTj~f=a1-@;4j${-!qJcK?Xgwn^m6 zUbkW{5!+O9lYyWmPTqY%azX=40s|obU?CM}>Z6!Hk+u@Q#e87GW<;)FUMN? z;@{ne-naNC6M~;P-pJ<@Vpa2qXi;C9fu_SJxS!8CLO?5%U18inrOtgAh)X&%t)NyL zVKQLN3)o6DByKji2$@t-pwsGQ_d@(gzcsayt-YHeoi3Pm|-dzd39Lzd? zp$f0v>f|u1gA_1`8b+9m%ZgU$C%&+pp5OW>_aV}13S)dN+QxqGZTh^BLtKBDR7;PB zU19!Z6~?l&YgDIYDnB{s#O_Y8_BlF8b|}4)s@}y?(m4PDoGlOz-ss|N%hWaXyO6B) zF4*%en+ZGJEPX2*B}uyMWKp}%A@a17Q7=y=J7o2;%Hlc*CaqsioP@_p1oeWy`y1v6 z3jR8=AvC)WALO%qr*c(?drvn&fFShVtHA6HoSN&dLohBg-gR@=lTJ$(F-x5mSiN+>&IU$`0LT- z?LbtkhTFThQ6*!;>-A-)As1s!G(Ehrq0%Iu9nwCb+g4)CcMBf_F3#l#_O?6922f@t zLF5||OL$DDw?IDeR5^ryolt$4`+T3aB${6dWm71PSC=^X!L z^j09$lC!x$EGr5><*VD>WtIwdd*3gC%;*9eW;+G@{JBv&;4@l2&*ap&$1xWCxBw?y>hAbawlXJbWI2jI)0ZaVR63dd zE&Cu_rJ0>>pH{Y~u9rd|bbwX#K(nmRP|6EDS3Gj@W>I08yVIilXw?SqR>0wFvMz!l z3eBXn&v_Z_Hy%uF@nzTI2J%@$WdwT%Z%uaL@3k?`|D9K~yga6&K@<%dwCc=zlq3tP zw{95sa6j_6Etk#R-2y9~n%k^yn`8J%sCI+Hd<0i)&>)h4aqu)qK6SK5MbaoqVb0*A>N7)2#la8*Kxk>YP8- z2u`RlI0!(Ny6WXJZe3W5i`s6=nS)<^eu488Hh3m330v2%u#lf=QoO56sz)-W`vgomXHTdz9Xu#%Q{Wb+S*f1Ql`Y77hT+Q`}ynF)wWz@GQFjAI>aG*irE5|$k-`ouI`d0moXT=di8oL z|1)}$Qh#buk<`sptr2a}+zuy^)Z$;}8wMGjTf<3qq?e2U13L~g7osCr6nasjT3hGb4$h4G!JF`p%P%9JRHb5CI(@=q;NeR&kUe{PZ?ng>@boG6x4^hW z2_{<6@zfA`)H6lIyzi_((nJsM)_wdC9~bI=i~0b#qed-?1HEPGwUvbL-dNvNqO_ z;IF}L^&@*#PA%f_V>vI`s(fh!=ln>sX^%Mc&bOv9nR5+2!jZ7VqE)Nb4IIIP-`=wo zVO4WIYEyOU)6VozP!Ys>`)a?7$2(GTytvvO@#-Xx7Jd&j;PwLBR=^%kO{YG@3T#mhe$7Z|Nm*rQ5< zK2`39a$gJqlA+AAK`7uC34X>WF515X^xALz{pX4>brwqIgkvARf98a+yq~+;8Ojto zkjDW$F7cFPswVN|Tij;nbjMVrkRYQ$X?IW4Z6_uWmm04Ek$+#v-|N zeJ?gt?2M75ItY06;o3y*^*E&T!t??inS8Z-I;u#1i=rb=jM~NIU;az@>33O%pi4{?Y=;fnf|QnP44EM*i!RABh$LIIv%8Wip?8L4;fL$Dcz#zI|-wg?2Wu zugr3C$!ev8;lZW>x~g2|{q8a+=>%B6u)>_LpSjv=RzctvBEMIEL;u=y(Gevs#Pj%hzt0df7 z_y56xT5DY#j`u6E)Nu~GDTu7 z;%%>%!h3Yp!$HDks&Gp`zwchxw;@Q(2SCrw+U)RS~=@OOLa%y@FdZK>Esli%KU(C3`klBPZ zx;8S9y>&lent)!(&8<9EZM*%eMpmJOPIpOUNfDWtn6u8KGr%az<5Xx}B?ZJ1reoD0 zB=-{1diy*NA)^~X;SotTAz&J1=oaq5>#XX+8J>?HotxWzpM3XDMPun)RKK?V)IVAb zIkAkxHh%vtE?${uc?7kD9ThK7WAuI#^NzK%+wD#(cvuM%mEtOvXgEM0eK4W| z3gSs$GLRUQoyl%Cu+z(KS30k+D4!M4R7<7LdKWG%vy$iC4pxsvt0-kvCAut~tLsM( zfSSjBGbLKY%ix-5F(O9Zyrfe;g9$#ZY!&j~-rKwx4Gc898G4f#c~UH+s+9sO-OOl0 zwdF6hx*ZG)S8YxrSf@ktONPs4TzT$U4Ty?Mb_Kpn)0LE(CI%ALQXkD{%v3ucY%$&ggF7=pmF#k}R zuPBoD z^3-)9KOBBl(*kgXO~BYyGw`&aO;WqMJ}<-cJ!bllymIOD6%1Lpo=c3a&y{rVcKkZx?k7m z@@I!l(qA=EKt;$`OX8~ccD&uABJF5H&!w&$O3CLWZ4vH9^baHdXhXbCjHLoNRz z4Y0|0{*?4NIUEq(x(=_;LfX2cU&?HD!1{fewOzGd0|_eaCMdz1dLxu{&g3T}uAess z?%q`FXw@+=_D>WxNhlvj-q_R|T|@S-R`u!H)KBe1b3-+2Cnnpci@-dMAtiktw=2|g zvexnleV(+ZPP-WlbD3l7b@{9l>Kmk=lM@KB)L6B#3^jYe-*6Ke%Ah7iuF4E6gl5e* zmjUndPI&S!FSn*cmRf4{spJbnWq#+hUs|<=>p!!IQe7qZf3kp%n5y5R3%iu0`ta%_ z?ajPLd9WvjZK=>!Ufpmym%5Cuz#$ZKUJNn}84rXhL9eJw{yj2R5NwF=|byoxJx_WW4~!~-knBl@!xcimM)$?CS_vaY-0vUW^cwl|F` zXCcRbQulO8p@`$pu5C96?%$;8HbMzb6*KJrWvzoIeH)#}#eMmxNFthMrw(2_Y)kbe z?nrY&p+Pfql073Q3&GNabeqmA3Hvrbv$Ycdt*p;SZ8XVcAUBOP1Y^xX zt>bpxOnp#~I|SyvhsMTk%&rHoSK{OU4eC7WD|a_4Vbe&*{lZ$elmY=;E_)YI6*339v2i2bIT1Zj+Q6mElsT?x@Q>PEWCE9K?O4*n|3 z$NV`*jIQ}Kh?rSai4*Iy*ycsM-mKi`W*ClAV|V-PX5?mfTZO&aW)`#H-khQT9fMCZ z{m>a&Hw(|umzxCYHF1phpemvo=6~h0efrhH$!y5QJ*ukg-05`p($09$<%KV6tp2rm!W^ism5YH@MI6kRyEqHBPHe*1B+PIvYFJC-@Z~?XxPzR^ik0Vwi-@~&}fnGTqeLcd81Bl1a7dr!k&KSrcvK0QL zLrB7mmmd7r+r~hpwwpK?Wbu1vxh!^4b zV%&c*GS46iZbbZ9UAdS5C`~m8&CitwuG8s}o{e7Ql|tmhipvL=RIV;(#7fBUMgk=; zR=>N}9EkKy+%;9Nlf8LgCXagzb82)AaD>(A^5NTRO`j;ftJ(h}m8dNqh?Usry}xy; zZxkc8E-Wul)|-)KAiu{yNN_1vt!zuLF!G=UA|&E+^?X!;Cr+}A!$MCw1u|E`8?N@C zSqXuw-Xv6LtD%-u?Op|Ir4$*@ZF0SS|Am;YyZt4}}B{w=jPuSg+25H`m z-8;O4^t!WFmkPOAVx30K{jfBJ!_sVN+W*y^U`gzqTxI5lS}LG|I>_T6^HQ9 z(vw-mw*BuIi+%iX|B^{^rs3nxM;}z1zU=4?&b=-zE8Y?H>X8B!Cwf4O|M3>tqx$$# zAzoT?qYKUhQ2w`j{yxX8BUrap%c12DWJJo1RWr-`iptqFX>i^SQ{A6KUXr-t5_e0R zg+A9m;g_zvT;`FcwbtS@SP+KwKd)Wz9i;DeV^xET>EMh^5LrYJMix$g< zLcbNP*ZUIVXPrzOogH=MQoVkN71%|5ezwB3yVi;2(rBvlS>?t~h)kR|9U1PP`h)U( zjCD5@aHD;#Vi_Jy$Bo|zLWEW2+H3DCo_uh65cSI3<2q>XDc`;K+V6N=bR5K{pL2hy z%>Kj)@R%?E7?S&df6V^I^Yc@hK&^+rOHC8lmR==2n>Ay4ph8k}ZvWADwM=#hqIfD6 zBl4~5s?coz*Jy!DSAMnBC=La1Ydx)s6IPPV(hdEG$e5Fv)SrR`iAywpZ3H^zx7Q03 zfTFA_FHvCH4DVjH>q{xBm~)DF0!e#vhdSh6%BTDJd5;#&AdYPaUiBK}WVa*0fPlVz z6z=);`QyueAK3P#y>zycL<^xGIfrv+U5Dl!c5Yq$Rq#3C>c_^|OY16kduZ|u&{G>` z$5OFXlCm}$+Y}DfsB%`s{+i`;qT>s{6Gu^j8#krxer>yR}s>^^p#ag!U<}u$`s}E$P1xhPjYc) zP^If@{nCEc*Wp7)&o|n*M@O}X%E|^s#iZz7cr+@PI%{h7(cu7PZ0Gs+3&yZ^Sv5L? zMcx?me;%gg{V!$3&7oG5=myNgeJ7MwtTZH9}6IR;Qs=sxo5}cy#@7-@F z(n|-#++UOB=J0WC2c%?^$2md+rl7RUvOe^~Z1-D0FO!apk3A`gZLIu`S&r>^UvCWv@t0IxG6A15AhCYsw$xbI3PPw(;& ziBFisoHhOvdqscExcyIcwuH?mW#0RMgm8H|KM9Nf#Cr#8g|-5Z?>RTvVfyzqocUo} zP#D*!q6KVOq`U;sxvqR^i5cdzWSljBms$?ooeH-=e04P@igQu?+6uiJ){i=6rN5f~ z^5*#7z5cZ;?_u5Q7gxzo_8Wr!LcQ4wrRZV4+*DolUv=~$iu#*>bWX)o73EU>eEFuW zkM0HI5M|gZw6FhP0Nq`&$3{)oBOT=wvSaoC!d6?-!6tR#y6t%v@3_9AVV%Q5|Btit z3TN|=`@c?AMX9Z5Yt=5bXIm{IwYL~;RgECF*lq1yyR};*cC3i4c2O${Dt7D+8{o9z6HcPP(&_PI%n50+(jMla+Or%kV@ChP?| z1HKe)Fqc;a$`S*}*x)jxr-L~NrcE9MFZ$0<TCTh_6$vw=>}#PPRfKTx7F)+^P5RI3VN(C-Ku%gbtSyr}z<{C;T~3UAegZOuzhO3%4&xxDfr?`L?&-{s^niPUV4+eAJ9??Y3J$VzSN z-30)t3KQL))>w96fs#E3r1sRD7yk!TssZO&LPENi@MqrEB;@UES*#Vd#h0yRMtq+u03$Sdc)f zQu-7N-mN-46Ph%Son~toW_&TYW*lQAV#yLrVeM%AGvk#bLSbShyGTdqVT_>gw4xZW z9xm8`YH_J6W)xa`pbdDH#^SXF$|d)JxeTf@_>)X)Ycac0OD>mLb_9mE`fnJLY1yU= z{(dgGE_?KmPS_S)ZO1KWDVs|q3;|t~5i(pl75udb)#vi94L&(%*>|8m%aeuW0oN^MHbAii#$Ya|CfewmI6V2TsZdg!4z#C)dLl~TBw7W1hXg$0f0Hk+#mCdlGe`>H6Ynq%AgHm3wwfSv* z?SQ*ioN1%|&OV~t3T&~8?Yw(f4eFwuX=#CVvpVC)huZaiT#LCAmZDh}TyR<3{&a)9 z*GXf4@tDNZ3Q$sA%G#*9k|0)%f7M=wb5Fmsbo3a0aCHILpWCW81l0kkCPiCIqGPpV z9M6?OdWi&KqMeIf@!X5N`h}j$CyGNujY?Uu@bFxQcEHW&o$~53xsNa|b2xNh!voM? z`$>kEOznvsNB#gVQ$IVObO2jnGJv%;ktb(l7oYC)X^8nlPcncv8C)A?9gvvt-Xt@@ z_)96-hE;#kAj?ACRcvb@YCc|k`Io^$rpUbV(Y(~V!yT#W^9o~cwh#PS)`MAEK-#n` zVXQGo3;V{K?G2+TDtqaFExYB8JR{cvUN!5fd&XVpUH|_}{EU*S{7xxC^0X2vH86BX zzj^*2Ms~dU^0~kNCizQgv15x*IXg<66SqxLsx%-&-`t78L5*eO*I#TXaF@(wpNHu7 zXSRmQ_3OwJ1}^=xgWN&=4(EKQ*-RhPP7aTOAw-C>n7Q%s@6FuYM#9Oto{C}iz4b;m zGQ`!k`H~05nBz3%Xa%~WOrPl(@IA_tX{gh|nuq+h$peB47gs)|e{-Yc%3CKnhTIFb z8OzMFCd>rcWCD*nbbET<-pKy)s*g(G#+JI9G9_GBw=X@FTeqJx@%93J=LYxF0RdKl{ZY8} zKiEh5flk)#shZ{OW0GL&$9Grev%2l-bQ=m+PknvHkB@ba(0hDuDEDr0{Ub?aAG(ED zA2ZHi?)fasJv>Mm2^kSor7v(c0eNg#j6-+l7wWB!xeSR4-3YU3#GepF;bjSagj9E(35q&RJe#M5E z+9aNwG0vUn>WXq62S}HL?XLWd4v+dY1RBZhlBeVYb(z!gZ*vd5Z?kGD@mYSN#a3oYq^jy`8$^9aGPLHVEW*mi_!&{*wzx*sRJ_KJ~TmJ-9|3#J|m^f z(dy(B1XspQb9Z)ov+i7jLawh#vebv^X;{Whukt_S7ZOtD!_yir1 z-xPmZ8a%)yeGt<1A4QZW*{X3hxKM9I-k5Kfg8Jiz5q_;4Wz#xCONsHpl=b&MRv$!u zS#4CsP7-28k#R~~Sa>8tTju;AP(CF8>RoKGzdhyDW}jrp!%Kg!x`#J76De1DZ7Ivr z9^MC0ep6RCdD7@U9rVzLtB9>@tIYb?s_5>wWUs9^n?rKi>TZr3sPSDF4W^wk>)C-S z^UfB*mn41vau|o>_Daa>|0s~MJI?bo7_VX9PAnoZT7?T*%Stj|RAnamuQ*{%5^vW= znvRL*V=ApRPw4IuBi|;^eN4vs(YvgmrK#%2oMp}%!*wk+ zGRY|+w+g}Fd$qIA&qSa6F_BNXt^d^Vo=YfllzH))u z9^~~5jULvj`~9fCcW{t+)tS3QYDKAmB|6n!1{+z2PO%e}#$4oeE->de*EGxyKpv(O zAP=7nx6KwvUUM7#*`4>@mL6~ZG5SYp)q*{${RuESN$g|vr!bbf=o>Gl^=;1dfiQUzF1{3%BM2YnGGeLa!QnTg8;MK|;%E?7Iy&6E)2_)0I<&Ba1% zbGq`$syFY2(~Qr!*;VMD#;yok9qA>L=W)rYmaw7S8B>QQejL`s2W+^L7gM~9qwEro zQMq2*lAsLi=cXgQU&@lVOUnNuj)2f@$q@K{a9^Kxt#Vn;@D%YGual=a3?)@0sb|5m$#OT|PCw-mjy4>9A{eo#7^1^IjU^<>%}Z z!TjX)u-JfdYimSXQF@lA)Zb8B@f5n;5!`!5k!?l~0R2LJ>I+{sCd$Rp-aJ<8K(zxh zqQU~;Y{&>$<|eZ`kJI}`<`wTOHRtr@AG8(Km@Vht$ti9+c{r$ghQRJ zK@SIG3JbpUnEccyN26g=JVSIJcXF24wG7hE2Ygj!4=kW>gWi_armn|@3F~`Jj(4jU zItf+sV`EF9$VstLuu8}8SVwpNc23OC%=yutbJ`-u00=Lfr>X-s;Hiw!z4=nFjOYu6 zMy(NgT0gQrR@+tJue0}dC0ApKJOQ`yI|QoY0vvuKqo)l}Yg53f{1*$n8JTLmr2xqY zZ_FJALM59)~Bzzi1&EDR#SkJ`PZl&B{kRI&+LE~|6KP{Z%^~* zRhV}b9sUi9+mgxfuS&uVOR1+%RreM;4XjqA=(@6{cj?Y^FGvYZrj)TTs4={#{r1Gu zrgZsN_SuZ1)avb-NItX1BheN7$C(AA2Gl~vDt%s^W!bK@)k?NEOenhnm|@nZ&3}%) z9N!d#YZN%LhczTc@9uF!o0?Majx-T1h1kt`zL?#<13q+d@)n4L(_+#JwsRi#+^VxJ zOkG%Z;h_p2F{8V5|9r2%osXOLcms}|=_Ct#nAw@oP8RbuC4Z#B)bdXhDiO(+WTMz4 zuS`1x=7_Z_szjt!JmpP>a7=mY)8sV2d_J)D?CaBHbB0$205(yAP)l>U6i%|FDE4Ut z^NdJrR{ovdijk_%y&g46yb_t1QCG1J)NAL1H;T0tl{W(a)bZe{gw_wMl!|ox_<8PU z^BJ(l&@w$VOtoD3DNQ8}9n|+96tt4{t+_Z2gGP@n-=pR7O0zJoZY=Eb*kBZ0oMLS>*KPjAgk<*=WD*e+*2LwW_gEe zKcQLQ$VS)_?b}xI3(kzvN6e?k0#q_nr3K%9OZ#N<;dxF)na+%5wjf2?Oma!K^Nl|vQlp?H>%e>3>^NYrK9n&FRJLDhxo3)`|Q7^)MK1-Y~INtPG zT#WfGDUv{SufXfw&v%wuqW@$tOX~aOht<5Hr!A(HkuZP#b}VwD{Lq5XkZvKCd5k&x z3u%jPna~E!`*w(C8X%`PQjT~17rMCPR3E5NLA%!b7N}bRvXM#}V$o&9U~r>zJ^n3+ zHsHP6+Kd^Zr8;27MQgI#812d*qwg35D+oKxG_$)ry3F)ey{mC?BT#Y*0jA!g+Rjzn zAF4u>gV!yxv<`G*^AB|3wgJnDj9Z>Fz4x%PQF*!(i1hRelb9~lo*w3XL)6-qB7ChG zFpp(PS)*o8lgwrOWBIENFT^fG`#aK0KlJFCfyOZv*@z&5?brcaD0UXjLSYu;{9{sk zQJF(RU92O+uqxPjBd>eGS#ApSV-Eq&GHZP)eX@8F z%+@`Y>)2h>J9VDRZuv4a?m)uC2~(zpO101r4UG0ga)AZSojP(`J$ftX?yfh+@pH+w z_Q}hLq6*}i1}k6+UQL_5rSe*2J!pZwi*bcdCOq6*mC*rEx}BkND~LL1kZ6B(A3`}l z+sUhE4J>_ywTUk}xJvm65TSMxdt#*sa_nuH56aS&^?ibaB$MolrZ=05M)C@Q2ZN&8 z;sv!BZ&mt*P1#WxmDe(1`(r8zc<|Q3IR4mhi@|c!V&&ZVpQ8wZqhvXOP8=ofC3wZU zb^3h6u_{pNfCl3qXVH*XoYsP}W?he2v%`4Rh%^UIj;XI$iFMd2O)5AyRJsK=HPD&| z`ZAZZBvpWjYQO^#QHS&N8pp*;0o^HqufXy@d`%tWyHcB8po_CL-!J$;dC{D$88)%U zU#$QZ^ALP%Ih85(sDk%na)`eQ@QU0)DI52GSV-%6yrzoLo({mOoJ4LEs@jXe+UO*_+_P%6!df2+Tvfcd8cwm z=ubr3k2M5<2O-0((B0NbKrT`vGK>=S0;2hn_jFbaXnN=qLU?f6Wy3K*FV*ob3xxXHpCt+jvXyj4%;fOTDN+8N4MHjc4 zY|@%H?Rr`p?5pav7(*ggZA$7eFyIU3oXnfB50H-`%(2C*d)Sw2CIpS-%_(6GB~_|S0qE%^DHA`KsB zX*t}!Kre(TP-enAk#5Ug5A}0gx}2IjjyW0R6ygHPn)PWQXHvS4aOWxoUYN}!2vC!`Z8i0@qy%0f@Q3YK+mlh-;8W4Q6ce)UDN z#gLy%wvNwTNL>d|B^td%RR?-I;Zf|cZMLtvL%Zm ze%RAK!&ZY>54^BwPL3*h9%6EgzR`c{sF4A zWKwJj)}GKuqcFK9;j%akHkM8Ir7l)!b6KxiJYVZxcDwn)b{NSjANzNTrM6l`Dmc@j8lO02zz9wH}6~RyYTmBP;uw#nLK< zyd7;RV_Zqn?u&C8dVXRPRiag`swG4_(!*viaUZM_yL8S-8h(=7&|j zTO;dHo-S{Mp9W~cJtV;ku9sqSqrIcVr{sLEZY()Vvax>juE~a$#7DGU`Zn48)}L4F zam|Fc>f`!VjJI9%FRS+kfGPb(aH8nix8J*C0uAJwkG;O!MT39<4Q&{#p~*WB1)34u z^{+o58x=@6WABf5-t8a9pftz(%10Jo!ehvD{~i;0Y2EbVHOUymmjBHHT4qD{Qo5~s zPD8XKLbS5}&b)A>uLi&nDCzn}^EGOg_2*aF3#AZ$@=tL|(F7P0a}Mat_7BWX;#J>1 z!wx9Pz#WC>h`!b}>8Ra+f%gsdF`AGc;XT7jZnHx-IOGS6AQ2JX$e66d1@8LmZ=;ZAg*>!C)hUu2i{8TEgh-rdVgS?dAfxuDeWqcNpBtbRd0`; z_nEz_5kM))N(nM5&_xvZ{i1m8i1k#Dt@ryXum4fe#x3n(PO<5Yzwg3@D~a#D!HXTN zfJ(PGd9K{KpVA1x@$ zm(`c4KaZ<7^g&7)`udJb2X`RcA_Q*5^emS3->W{c=TnzRV|UL?1HJ5RarA9zIw;P1 zvf<-P$jk}z53}$kxDa3-?KB6s5IvdRtw##oC1l69J{x5$)7^m4R4CeXcNo4p|eMhwt9u-eTcxbVDcNA2#pNKd>zlpZ!gTgR{b zkmmT~Vj*u0ERUsrF0m{u&M>2PApF~8{=tM@hW6CeFjo=dJZr|A_6di89jutDje|Oc6@`W4R+Pkz#JE8N8+a69k^RdeVf>0%4@ic1Y&G9N4Ya zqfV&XG^b}fokfp1VkV4lZ@G`lT+<9a^@vhi)XXb~O z=UP=|5!67rxjm(dNZycsg<95jS~tl=QHv|S-A}JS)S8;4tNdG|^=tA<*j)(GI>nPt zrsfWmGrsT%OPN zms>=K<6E<U%v%co{V?{2+9i=pUe{tTn205FeJ#bq5LA;ik9btIF_(sb`49 zd)imEA=>81VhTogt&#Q8gslam1M4_Z7yKiz;EA%ynmC?@(xf>?`@!pmF|w(o-kY1& za<h&$AlkfX>Bv>f zK|CkaLIssABxXJclaeWA8e zs8|cBS#y>*U8e@&&!0rIRlfPxQrDgg5Ve;CI*PoS`=+^Zz6-flENMAZyTTcZl~xyN`)~3YS>< zbiA`?jmiwtSd9v(_$y^Ha|fmYg}9SB%Tpo4aI=2wfP8;Cy;oL|!Tm&`xFE!YW2v<0eexdj zXvyp-Ut5c46QmV#?G03kFR*1P;kR0;lLcq*u`ul>Xr~Tol{qUmUrTgeGIp7# zGKuPQUroz~+{Day@uN)J+xLVG7G9_0y$8zNwAEqFC`-iCHv`r~>D~~(@|O7p+W4J$ z<|6Sh=^!AW9kaW;vnxgY9_BDMO?r7yrctz6F)q^VR~O`@2w;ZPVyT-TmG-&n^`EsB zzkjU^lI_mCl~b5$6B?*58viYwuzc}&ZT#fIrru_D*2ak?!`C94<-E6dc8bOD4|*Of z>XyD+{c@%Ap?lFq2O~6@DfB|Et9hiut zo`A=X9+r>N2g+y5Pt~uY#R^15$d-h3_=gW}EKg_*tR6oOpJr2YX?!zlR&~vi{1{P6 zPYJaU2eb8VG_?38v`&FG<|>8-g;jkdoGff;c3aE?#eYpt3!B?m4a#C= z+FqEi#`gG2={?!Cn%UVs(U!!S=m3%jlCr=3DXpiA?f}nRWa)-l3!&G)atPzK6uD{Z zRh)<1T)mZjHQFN9=&AedWxkI)_)eb2dlDGKY%G|=X!i5UT~87z2lz+tZk+>KJ~md+Urxc`5leawonv%Yi8`$td}JjH^(@uS(IE}D1f7;z zt=WAipJrh~NOpC^8W56^h?thZ8X&OUtfg_!^KjCDrotWn_+!J13azs^JBs`34mYDZ zfAhF`09+cG_>!pZ=$T2xe}0kmP4P+DyL3J^COOMw5HEKYb_pM%xUAqXzBN2-=5;D+Wpr_B|YDyk$EwNoeH_u!t-fH&pmZb}Cm(Ly<8x*Orw z>kvFyX+DcTrXM!lF&gF?GiJ#a3E%IjQM|kSC5QDl9b3{XK_hk6o1Ejza-#*DP4})D zxW}1zpS^pMG$_pWHY`n1QzGlL^7Y8n{JuMuE9;_`Mh4LEGJlXs6$T&RTdS*+X;axE zgjwm<5$u%~10QJ^Wwvy@PT7LPtYYuAROA~TJ)?T`n_@A!K=JG@qu6|b{Ps6W)q+u$ zf8XQtckF~CZl*>^gbU{^cz-A5Gu(~yxOIWoLJa}^1ah7nHZo}TNf`s~=1Kg}+P|y9 zczHc@nCP;o8@0eHMowp4M>E`c{Yx2W+S(j3|M9CUU-Bfwy>I5fWrq27#)cj`%Gt-= zXlgHrY_xwiS_Y(vfbA?Py-^8#qvJ4M#OkS#>^cDG$F0V$HO~o4pCLJkq205buX4$d zQ(xiF@KPbDlG0DZ2T>)sf;)ZehXVY0O37MR#kb)&bN*%|>R8bSbCUCF)@%mU!+rV* z_`Pe`!$iXT~Tm(&@XqW>sr?05K<={ShV-8NHro&@3>nz{L+Qc#lJ(hwDu zpP0{3jkVNGC91~>hnL0{{4wJVQ>eUJadOw%i~ao2UM`tNM8nq+sTA`A^-|Ug#`~{# z#ZojbUP>qxeV6F?@x$jQSUKjNyI%&0QQ+!s%l^^g+Lw?ErQiY7OVN|c)=ZnIK&xUG zgVPzBHnhb;*Su|05?!8KEt|dkoiU1A!Iio+>29lXAC-j4)=0WBT5{PQu&1cbmk9p( zc>SWA_>saQfdG}rgG3hhNnae7!1j+q`!u%`s>8)YtZ`mLscEJpVIq6kDaA1;(cOx4 zm2}w{viOUes^f!dgskc%I5;~{#M#HSOAyIYn7$5r>Fvt^b4-VL<-blYw}sF{M=e?p1fmhbm4+4=SH9e>tu=LzK-@=(*DX;AoPR-1_#uezz1^LE z`klgBJW+}RkMBe=0p&hu8dOsdXP}=7$7aW z{01=pEF7C!m5tJ|@F+TvtLQRbW@io1>q5Iq?H|Kw9cAD`NwMxJ0mv5Ltz(2p)Fz`N zyZVD6x35o%c%cQ_Wh`RGIqJZc7DcgZHxd4j2$E!jgy?SJkCtSmZl`7bQMa>?8Fw|C zucY+DqRsX+zJ)Suu(NLtA~T$L+kZoc9tnOhqwq`01_*^?c~^we?*2>(vYt4JK*aNe zTZ4z<$1S?@TLyTtD`K)jnJCid_gelsKc!EuxAoLY+pgfJnpU^Idcv*+1QzaAvbHp7 zx70T~jH=yAL&Maz<^Eagj7X(bpb;sFR{k~t)@v?**VX-0>s(h6;C|!#zh_8)_g+Qt z-YPsC!bz#M)|Cm`OBB47Y6%kJ>zG1XIr;K)S8slLF(qrzypPmxgnW0k`=A1Rd=X(& zpD1>#K5QeYyJWV{J1Aro1ol=>S5{E(8F*x;#zkDcTW3WXZ-f(ezZWxgEuG+N`anA* zMEpnToM3|b;lyy^O=h!q@gd&MNy!UaAcxgZmefD)mGP&3oIa&6N25@LKfOj4+v0JN+M)6t(ds!pc{X8=D?Z* z3-xRJ^oyRZaa?{H>h@tivZ3egqSDDL{wQqu`XlYfRkJtFWqRyku|PLM7gt z@Q$r?BH#$e<(8IAA}_jn8HA#K#mI=(vg#{U-+2BuN zj{9(J%RnyUL;pR&>@zpm?wGLMXHgyr5j-KW3x7lXGOP6gW&c8qzjqs1-r^nL_k_r| zzpQst+qdLT-0*TxFeXX5A+lJw@S8eLwmEH*_hb4N7HF-pWYe8TNA?7&?zgv#pUJe- zqs6TkI)j;VrGjj5ve7@ItX|p{|NGnO(6IV5&v^1<+_d=%6L|y2DiM5DyBqQ6fo!iT zbE{1WvA;K?c#W`MVd9gN4x-_H8~LPP6NMj=oG~-&dabWcl{6DLMJM{VcJQj#R0JC` z{m*pABZf+iBdW-2yK&~~LG_Wz>Q_XK@q-Rwf_|zU|8j3+@&1-v>ubvzX% z!gxIh^64_w`ds#xY3G4&toMHuoX{+b1K${LwiA~Sn~p3!%w8319Z;!%SG{S5ru7ap zHOQf%n+!#o?DM+6j%uA_H0`+aD*Lfcw$Wo9iLl2^4t){;bwN=wkoUN(R-9ZiN(?>9(qlI>kr{WOGAcsy|hS;wF0H zqb)DK={ldEj6j#GJV)J7Epy^Bb_R~ZvTG+-4cjy7R*9_Zto?FI3807mo|)CKWWR?i z_UGXajimRIWlL0d6>Ej)s_VP79 zPj{E?!w|7(_{b%^`mpCjb)9r2)&71&g-jae`G>B3aR01fAo=`KTaKUBGbJyizvGOw zW#r=OC_L>vgYVF8CS4@sD$m+3z^kVlS)$R^x82D=EjsV2!C!y<@P+VHix+-_68-Sf zPue=u$a}+cGtV^-z7_BxGp4p>3bY4XB8DWTzGt4#5l4P%4oR{fmD^}q?~q&mMmM#f zl6sQ!a^R-z!6+PkQi1QEIpkha*Su74M{iy_YRRCpOr~^Ins-z`WKJ%`qTwXjRnK6> zl^Zv|pi7o{^9=hvx8p7alPwGOWll~9wm^yVyUD zd;82Y24FEze-4?_hQLRI+rot;0K8S{S*oJaZBtt z;T1yn@B0mf^V98x4*&Qf=Y44;P={i#1VgdxcPfGop3Ki6M>@X!CyeN>5j-O`iOmdrE03-oVgj&ADl%s1{nxCcPvhHy#k%>QDr2sur4NOa0cKv z&w|Zz1;^-fJ_q?7AH(9lhTS_+iVK#$p%bM;K`C%UnbP^5d+zL& z-0(Z_t!dHb7ruw`^Ynw@wSkNBvnVeZ_26kPvs$uU7e3{ID#=L?7y zCZFV1rb&FIDj%6Q`!VGbpAp~m$d=+^Tz1^OYh&3VCpFYBilT2m^kO4j1VvDj%A|06z-(RLnc2NZ9Qp1lCcg+5|~z${BoAKI*L9~ z-V#9czmQa9&~;tNTg`OqFi=$~^j=1DDjq9&ZAJ#wu$~<6QjDlF__1-X-vxN`g`{0d zSyi>4{#4l|Sopa>woimBOO-!=(4oAMK*=`1y%^*l4}P>!Ajd<#e=tFGya%S~YtKWI zHawI45B~I9XJ7j97s^T`F0rw)cCOgN1x}71p7uT^V+3gMCX%Gmp|TvGgJ{5dBa%0o z9j>+=f99s6N=NP}eWaC?)HG11rCJI7rv8#Li99&(>%wPRx(LA!Yc3NyoFNS4)7AB5 z3J0MJd`2uSpJ^a(5#8k{;6+89TNQB#ucr3Nc4{XUQ-htlFDrRVl{1$};Fnh6l5LBi zj^z(?{b)`ek z?*2s6BHH`ezZmiKb{6`AaDT&wlo(K;Wc>2e#(@GSk1(UsL5WiJdcKEm6p#e($Gq^{ zzmBbp$X+$qU}Eq;?i#wdcDgO93J3r23G%7OAu_D@tJ(^zHA3u4p*DIZtz+anni}l$ z25q(9vRS&aV6JrPt6({9!OX;qa|G0UO2bkn12-mb0H;;S}S zZvxe8plbH33RJ#5gCJ!wYBwv~O30*}}Ege;!*qdLdx8DiaN8(IBd%+WJ zt_OmaI>;;P*IM0~W;W+V$M9GE#nI~x2{t=HCX;d<4Obk*ZH*@H`biQMPFYc_5z&^8 zr3U;pG}A2&Jl?aAI&6OuE@ZaWmiyq@*9?rrxVFboCd$nDV{+SDrIp#jtRg}6)z$BR zP1Fp`;;7S{@2zc_!1z~f?iC3S$n_!=1P@EJgpJ8fC#s=W;?O*k2@;E^Ed#GC%cdRS zI3OH(dt@Gmy$Y~g7{0D~^ycP+Gk6m(bM31??~}$=q#DrP!auO{Hz3}ntyA=!x9YJ$ z19a32=DM7J4`!9yN^+#lt~nMOrTucrT8<9)&#hU+doH=cID2=qu_KAhr6N;P{^2pL zW3O=zPsZUV)C($}a;*_kwGr1~|Cs2zRVqVxVAhkW)y*ymCv2^9neNj84$b-(LkodTLwVsq5OK$qedY|+kr zJtc9^9&6oDaJj3)ro+0JxrQH7oUd)XcjR=ha)5^5hhMW+m&Kn&`HGIcTj%dk$lyBQ zl0^75A3GSNDY(2!W1=-56f#_OX%gjWcGc$J8@s#^-;exqcrItAAy%1CR;B~1hsTsZ zohtHXcPnMrO6BlfbF&cS-N6cNr6&>^MS4$$hjY5Lg+YCfYfRGmhX{4BUgs%?6ibCN zD{0h|#%roRKjvyf8Fm>a`%VMddWOx$KJUA4KxdIk?Ff}>RLAFE2AJ;RwQ$a*-#u+&Ze1``&FU;tz@>R1 zq;H_F|8PQ&%c^qe)zACLYqB207}`4{uIY!XalB#7ul|;Gnn)+_j#uw^Xl2)aE)-+or4@c| zz?XyiP~h+*;fC`ZXMU2;`+rQ>!P_{%?-j9Gs8@2DS&L1k^2wZQeS123ZzG7YEI=p_ z={mgCE{X=s1lYW8_y3;JWG=}Opp?=u#%6TqpJbX_ziR9EkD*^n@)zUoHK=j?;kaY_ z>DxEp1A<#jM;qIXzwx!C2Q7SVcPz%5lHz*+2;$L-2*nwr_8q>|!=4B^-ouW!#?&b_ z(`aCaU*{uC20=J9Pmc)Rk6nU&ZM9;FUrYeuLB?bCiZo(t%5=c2?qFVY z{U~h~h$hoDFQ~lRn>GVn2;#8&YS)r=rcD$&MU$Y!TP{U1ahZtze$}u|7(5Ej+~1A& zBPSvVpPiQ{Pgr8?(DkLo(eE)3r5{%Vj=ULku3Ie}=R=o;st%BwP~D#D4Q>V{t3s$i zKY3%S;0^6hFc_CH=7ootkeyrVeSNqY-QnTlA7TZJU-m>QrBmCXu1g8>JR$W#a9UKU z4R?m!gxeldWTkbnU{|thJ=idfoxWVIPt2ej9S0Nc0yGt-tktRhP;%}?6?`#k#Mwna z17#=XG$#q}*-k@P9l_xXK3Q>l@24%jiuFlH5WM^Wi(WMvg5bj-e(*%EP`<$|5^dfy z-XF5_a@jrJ9;GEd03AqIObJ5IA+VGJ}&UzFo9{)=8?Y$p7wm{SvC4fz81qD zt3T-t=OPzdyTlVR;2fip)A(Q5ntxjc;F^D6Ndz*-&))qqvY0O$h1HqVkNOMQW*`Yn zxupG?YL#D}ll(Iza>{QdZUGK>- zvbcl;5<$)E;eRK6P*_d$^xR0)s>$HK8p9S#wR6O$hS&h!`%>{D(N3=y3`K4^7#I{O zNE)uy=a|Xz;y-3XSeOxOX>d`K_0X_k4>GPV_(2fo02p1+D>6AyN(TXvZ9BLT=^70ILtdez5brM$>fy9Lh33A z=iy!2oE6;MMBE5U^})7)PP%!em@9u{j3X&B^TqFh=fk3i%A!^j2Q14IJ3V6|!QIpl zBXeirMWF7!A~YD3^{K^=uU>Qw3y?4`ux%!jYVR+ME6dN~S}G@Iyh7|5B?^@Hz;s;@z`TA|cMMMCjqHVAC*B}bb`V_- zYmXa zLO&t3-4dj$0}g;Zbi5MZH|bb9@(#M)v`du%QpoCP%zPw|UFN{F)46$8e;v#n;cY_yH8S6)Bh&E)HUWsELM)*cH zX?^yJh0qdjuP>WMil0ED7U)`4i=`3^ptisNBa1ymE1`zCiM-Hyed!^G;Omo0R#n6s z-Fto_nHu5F!Q(ut{J<=n#}7^c z&>;+j6jlz;Osz7fUHGUim7Ls)CAbnj;n;0AfNjt(Xk9Nkc0wB&0271VhCvFgHx*Kk zdfngKl~_#AS-cQ?a^Gr`ka3`y8Q$vaG(gT_>K2EVh9g9D(0jqFUw^vX83R13WrC!#Slwt8T1mYCU z?3uM!7dT12w);1hLSkFhu?=6`Id{nwJapaX;<2K?nw#2)KfL)GYa8}^f|)UJDOLJ@ z2=ugFVp8mc?BpQ2cA>f!j1T4#%1g;v)5cv$!718#WP5L2b6s_3$h<^~7kGt|`crWn^gt^C2h19+-ZU{uubsCf&kKwhzP^UD z(0>(IITjv9)t~;a>bK&RsJB{{Sdu`0;-L z{9Z`TzhP4mvaih@I~7tllDBLV?W3TRRx;;wUcqkFK^U%T3W3~oyUF5--E6)&iBw3P zvQWy*O;dU>+m}A+AJ^PgkDA+TnDpgN33um+qv#W0TTfQgw7gHjWxk_9c`N#H-MPfY z(+w_ZOfbi0Iyap-$rwh=C(E-Z?JyO`c%4&nHFaP^Qh}~x+0ZX&NRO${RD6R8I(|pb zF=f`u((Lu2lWe-1?h#Q$hJ!mQ{GJt4RQIGelaoPe0eiGZLz&!G2DVveSo+iHC5K9{ z>F*Wd;6Eo+C&mqSSK6`T(*|1S;cRPZ(O|()t&^k=*z=rRFLGh~4;pD0#MAFDlL6aO zh{(IFxeK+oxte1~j|On%N)2)HLu$Zu6>qq)V&XfH6^yvlbVWLLcix9?5y1 zyC>d21(x-GTLgo_%>E(DQ;V}+aR6GOi7yME~`I@=x|~AMo9)~ zjS3tuWdra*2h6vBjxW)%+nZ-R_}FxF8`a;>6t|lD#7VNpQ$1Yk5GlN#>R6_mX%K1S zjj-LbiBjE9Av3sKTMZ2hE)A2eMd9{e;L>bj(xNiLiXXo{O&HQ?z^oy@V!MviF_Y9u zyn8|S3}5;>?cofZRGy$u;!oSXD+qMuSQWCV8q`g0bk8e@&0#m!jd}y0IT0>rdpyC$ zp@vEaZb#X6xM&@St|hFHTrTWLj{ETLQ7js_7p)|3zq~CTg?%{xu&Ma~7Rp~c9?e06OaE%2D{DSICLr(6vF6gMRAjYs$<~2w^@kfY^9?^1}LWwg` z&!-~f%-Q25H~n7yB5S#3MnOzGYe$t(Y%ap2h*e$A&LX(?)k14YihJ8~K*6QN?^Raf zcsCj<=5JiB-)C6L_H@u|omESJr3%-Cfpfja@6L&ml@op$CMn%Z`E_mk4V4cwO5Ob) zwlg3S);4!5uZ8nAjJs6gB+dJH!smA-M4Lf8Z?lrZ#lu#hfx0+VhH1xQYAbu-epULp zRjQkXSvO}Kw#5=03*oJGZp7qTF;DGu4O08f03=`fek)~JgYDoiT(-Gn_EqZgNk#|E zu?2zP{k1%mq9vLD6O@$K*p;+`HF*9pCQ$tO<`MDsOs9WuL*g%}XICzB?YMMZDcEAZ z$-A6Cr*c-~_7{Q2WCJhbfs#ddb~`^&k&FaR&*=J=JJDNgAru+MEv9>dSj{T}!fXr0Hj0<~L+YfWo-my48 zwn?@`RYs(SGTqTHVX_*=XtZB60n&;BvMLGmGdPSR4ZngzZ_; z-`95$@9T9{xSzi33-v7G?@D*&jKQe;RRk;1%g8$$o#G{g8`ZeILL*d8Hc#E^ckvzC zGRvu4pjQ-`p-x$q<|}Tm2K*~*nt15`1RL+pY#KRJD?!}cTA3#_EOtl0ysiQ58vQdx z&j+L{5FlCcL-V9n9+T_hF-d9;gtmBH=bu|^jafMZ@G=Li79-jvlMn8y0=VPF2#5>5 zTAjQ-Y6z&d-tD4o&BFdyjtO0xZfGKl>cj^#5W!J~9VxnvsdEE@U_=YLIpkS15XG;m zeJb$%OzqYy_QJeEOm;%|LwEeTZF3W%T28juLZA#qsNwA?AhxKjI}rE^Sz?fHTB5DL zs*SQcRp<LrTET zl>UVx>LKUtKHeE@TXhg$9oKy)WD>k7GY@KJdJMGx(~R9#zeVKsC-{oH4{vqN99-gy zakRlby@v9MzHuUm3c;4OpC4hX*$!(us;-*u%qA3(k}pX|d@Hf$zkvHn>x0Jq!yx3Ij3##4;e>$k9G#2ReQ%ek{F#e@QO zHJ9r8KtJa!`t)q!um<%Z1?ZA?5%i#Ng50CY%=aqat%|U%(kxzjpT(foJY)Z5@Un&` z;-^^elmVp0Rs>Jak4#?(#PRCXxL9AnH;I}pA6c4P_I%lDV%G&SFJ6tn5;o$$T9}Af zjE?1m{c8mun|isk&8Gidnq_TjNnW$K&vpP=jL9J*GY-y}RGc~=|E5?Y=3p#P%SW;O zD3D|_*;G7it{9aID@L2Sie;N9A&jr^`JF?Y5iF-{Bzv0c`&F_2lPJP232b)8nd(~5S)Pe0bskS|jUxemUpIut-ma;&ahJ7fmgFHb+hQV37LUaQ zG^-;=+l+sqE{nY3i{-o*{v=hc8J6z79CzeLiy2N(IY;jCGll}1%IM^WH0)np>N&$QkdM0Yfz{R zUwyf`YC%OpH-ayH77~^n`^qs}g?3*GW6X%Jf(`rXH-ALLH);=PVBtEMKDq(!ZYj#p zY}|eg!^G^zn@M}sADWT(^B@u#gBOshRklrfC>J zD#b#TVZ-e^knxP4YDGIR@+I2f)DJ~C@oQ)uV7xN7LCeo?>vHS_4ewfvbKqrr^~;gn zrN}WUd7X(s;-M>Y>_40no%TB}$^iw*lY#Eo3m0Zn&*uH{`?TI=P@1X0<;!2%<6t6m zak^tudM0D1iT4S7^}q>#rvK!4mHo!|IIOuMS(}r+&>&w{BD8#8KUiLH*r{p@S)YL5}>L zRa#chaZO}E)o``%pECc5EH19D6jPFNY{&Ca<`+M&UTtTAv=IJCm_ZDmNrG6j6Is*L1?8Cg6`iJSl=0YsDCu+c? zfE%5KI@HxOWq0Kh6AqGbx%D8}O5>`bcuUsE1D((A6N|;gH8NuKiLFaP5%BZDV!Ts_ zMR(Iq6~l;mF&`cZLJB#^QWHqSd`+qQNe6>Ai?t zEGS&ObJ&z!Cnu!?G<&J|4(P>*=JiUBRM4!zHpI)Mhs&eg8ns>dt_Yx^nXOLL8-^n0 z-;hY8BVdiCq$~;kC_^zJMRaNWTw{vwti2;$YtXbL5C9iTQyV{+9P9jXrU~Or*I#f& zt>+^Rz9E7#D_GmxwHkg=Dm%t~Y|1}^)733;Zd)a7Aw2kL9O}P0LX}y~wY{4xXv3?Y z?Ya7NNIz5g%<|#qVS?Y|$RXZQZ|SFavA=D>`kk(VUS=ifHCFntV|T-xZO@}Ul50Dt zvGggqyFI|TWL+me&s9Y-nu}|}S1B#f%r)>bXbzdT$|IzLPmP1=D0o9XDXoxqfokh~ zcB}zWD@k>5M@eMoJmn_(`00B?`qt=ACtvVyJMtNT-pH?Z=I<3quvW4j$SCjAD~hFW zeZ*f~ANf!-3CvAKPn2Zpzi*OL@UMU8YfMd!e7?P8pS(7>Gt%nPt2MWYm&EaHES8@v zvWq3YPJMlIS(3fFLIULYD829ako*-uJM> zZr>x+8U_fI!A@za3>FcA9NTu9YW>`J%)hDUA#nZS+_5Fy%JIr{EsaL=$Is1!ji8@5 z8!_-tazkUxM!oYOvD%LQ0gFP=Y__QeW^{N|WezXDCrzsFQKEZYTyt}ZZRa`u&Ug+L zd#XB@3Y##clLcw1N_g53XAq-&-04F|!T14#}L>G)|j6j^IDC6%92p z7#x`NQ8!3rY$?boSxGsQ7m^rH||3>a+w9vUUZ|6NXf+3X51QshtapFnz~!#KYT6 zj3Ri`mZsECO9klr64L4z7PGYA9BAijnrtr3gKt9=xbgIneY9N=S07=jK^ZT~sZ!ar zWpGc#O=CLaGQ0}F4?glTk*SbH^ujl{rwwy=GC~F3!$RF7AP7iK(&aMd%+kt2es(OH zkhh>Rp@EF4m(4}v+s21fE`v`$9q#7)R%37RqWs6a5*TTibLM;Xq;q?_2%g$wBN%%P zKMUYiGp9Wj6$Hdv5zTUva)`RGG!!)rX zCx$QCmZA#966p@`>bEJzwtMI?5plGn9GaCKvo?NNHyV$mKE)ftjG@eD7Zn2^%-=9B*v|sF7_j)H7<-d=z z4Q|VXSTR0pQyCd7Wm&4Q)bB|5*#YbR9Yfl&AM(oTh;1G_A;T{{muHvnb5{>dU98by zY)|ihI23Y9Z7bbu##ez7BW1y1eMn#~Mf7?EJrNpGLjzZ5J7Xd;bI;B%K%Jebd)7LH zSOCst>R(G!(fRaTUb4zd@4$4m#J>}qh@v+xSTR?1PDwN$Lk<5;e|3d}$*GjM*~!{W zT^56Uy-a1Hi=q26$t7TE^%2;yWW;eJ;ypy2pA(;Qfg~{>yLJ{3l!1D{TA6S#i4kGd1m5fYJ8R!4^ z`bYr}QrSHHoSITAjd?28$N45!`rjid25j|6;(RqDA$>7P-Dv0Es3|-AwaX!#JZv{1 z-pLIc`J<-qk1M1+dnlxK6B7$$9_1{<0~=E;9|FC~YT9bQofpXSx)dy9+YkMl{+_Ml zevN<=mnu$OV$j9I=@kYkAMpQ2qpCBz*jQgMp`AATdQV7Iez|yuJ3%+HJ<_`-_*;1>Vp`hMy_rL+Dcj{%ke^ zzeyFU6dj=ujN*$6AX?RNf2+C%e!%kE!iLFS7~1g9m^ zXY#7n9%sR8JB+co_MO`JgU|ku1@ZhON&ilyOaJ*l90G&Mcp)MK`jE{NorAp3BhpXk zMbUc|owV>P&pYJUSPgVhr%dcrKde*W_SVwvQr8l&yX;-%sY-Qu_w({F@7AY4bXS)| zh&5V@YLo6Z1#$kQOfJB8_w>1vSp-Rh#; zgX#W2z^YA@jX*jV?&hIIdSV_?aUI)6*_M^I%>0}(UZ5mTT^XZj z6_a*z)kw$dmJ8EqJLr^Wocgns{APnO1*}rCnO8S+T3Gh(A*5#4gMS8-PItLkL606< z6B1q8NsTX^OF%^WB<{3c^=zD1G&Sm*?K%U+f87gQv_jm5z@Wn$!F`jR%9*i2DaBat zh=)QgxX~4KacES1d9lzU*eR&@a zS^9<(n&-EgcX@Fe*#&uhff2n2)+t<|s%2^w9~DHj{f86#Hr{pvw*F4rGv|_D96nX1 zdar1n=zOtuYk#>vw2>Aetd}J}DKA5e?H%37@zD>#la@N%Ei}OFe)WC(dx)V~zV;aA zWvM9M3JI}zS(P?3cuaRvuDiOoe=f1Qs?Xjp6~B#FC_Z{ zSqtrl%FMK@FuL%?l@;CF!*XQOMZDGf_P@zhQLBtu#`5>wta>*SJv~&?8?3h*7emcr zwK^)QRugFZl%H3OAdzI3YOPF1gT3v94P$ z`nBKU>EJU(I>w>JC-BzJjNdU>~CyRZ_f+Q52H!*3R(|W6$?>7#lcVM%iY#}rLK!Z6^9s0JYC&+7-Rg7 zro%(%Ls0ic^nt;@=GBw#+T3gCbwlvT&}rCxs68ek!WH)?-Fe~9htl#a8^wfHOy?A9 z8Mgj2Cn3yP`grwXN*+rglO7FlfCZZI*K~H=g*UgGC4De%YVK$|XkPsF9}cUlBhHiW zqLY48^>X$p|KV72w`{H@2L65mlgC0HIU3)OKia8#*E31%71_U*+_CnjNmy!WHGy&a zIcF`9=pth!hgY&|xqE$a{!dn{IcI4OVDaJQy^Oq%lw4XzXhGL~=f#Ta+y{p8_>8F;SZ6(@6D^SUD04D|njZm^S7Zn~-?jD3Z4%TXNguKX*3CmRt5P2m`>xn z{10t*&)FlAb;4}CwLhAF3B5j|rMtTYDu9OXA&=%c{|enpG1jQ%#K@2;u4&<&DUJtL z8kq#Gn(x92y5pB7)^_0ebNQ6P7pvyAb=~%jukT&~-}T7f-1;iyR~lhmd_ntBx0|Ph z7LRo+YTvlA5p`c9NHD`?gztgD4+PzRc4mA`XexLuv60GsFR|PG(m^jmJpir1V&LVx zd4A4{{jsFZCutm;O_Joi^uiAssgS&TqdT6+MMau!`xFYdww>My{XV@DSOO|V7oC1m zJOG`Sf%RF($tYE+Kv&qNnOk6Y3Kfn7=}CLh10{or&DC5*Fm`HQL9uN@*+4RoYI5Ze)HgWuT}hc;bq48ntld3+OT4s!*dlq zS1}Yq*Qin%`+COA+7b;?J=7Iokm7$46sZmTA3iSJ{Z8Ov)rwN_q=eu97!PCJ1n=+S zxX+Rcsa$}?uQ$ig-=<)=yD65H=@?1EX_PX7L`#36;4&<-CA2Qq5xO9Tbq{w_b~{*x z_2$%834RhwQd&9JFi+_GA7>34%ZIqwx~z}7zNVjt0(|jF(Sf(u2gO_~bnt5Xct3Pp znR`x5D$u@imvTPGssg;S=qBR?F0<6OE#IBLN>}v(gq5uzA(DYXf#(Bs^%mxuboFh| z;-(vQ4|Wc)P~N95ZL=tNBz@#kC@`*z6Roevs)Oi~Ma#(ZC?-9;ZeFB^08nA(Qw{%C zDK8Q}G-%2M$8YGI=HeVPCJMe#wp$f8i?PqF(9e>56d0msU`EP5qe1gCRJXke$=-~7rD2GH4d!)E<}3uG+|Wk^Sbzh-(4l0Sbuly=sHo! z0CceizYxXsGyjNrhxV(fDeW%fwN)N>_3{z^yQ3?jyk!a7y6!*zJCAbyB5*0M*+)qe zu?(u7e|!kntZJ8~-=k3zgk;-ldue8}W@QL<#=kz-VSSPk+kaxL-v5%sI>ra`54C9h zail@GLZ^$t+xSEC`!dZi9dS~12x80mAdhn+#w$aUF!NO9ajA$HYJ+Ytv7+)cdSgsZ z`$gJT)!68a8$2lM3|4V2kHEjAqQ>>u(Z=oSeZHK*Df^k$=vyz4WSDB%(lMJC;Ix@a zbN>a409q0LJCe!t8O8=$lIr0sCC=Z=u};89iqyr6nYY+RGt35q`79?m&GO71sv9%RWTd<;tiB8!n$DU+=2;dA+0%ga)F!r4h#`s5!>5OWJtd)yMwV?&m~ z1su|^37`7LJ$6VBoRN=c)fWfC+oGaBa1X?ZSZ?biT)7nY*3M#-O`V%QHj3edsF$n ziiu}Td|^e1m{UTEa3ag0@GAnNg_F^UTUI-ckh7gjt1iROdh!HoQy^}MMy);8!a+g!9g1KBmvkx{p_ z6bA-QMbtJoYG1d_+>Slqcdq@#c-{G6sHcxEfW+?5TjShQ$^P@*E`BJibDHy^7j1;P zOOTC&RQ))znHBI~T+F4{80_zH%(?C5B*xmrx;qLX&V6-M3+^Vz>q+*et<&NOu62h8 zmxPLaw{TaPN32S$ttBI_+efQGx-Ub3H9T%nMw$2u(SVR1_3+^$^>fRwE% zpQg`3OuSZRnV^r*CG>HWi%sMXi&WMm&Rj1yOmYmiChLNh6dExC)N3_mm#vo@A1qE2 zn8V+GpYK_>mo_Pjt1}Zw*s9+96aQ=1ubCH-;Zc&a1@LNDBn&s_Xr9amI-ea!h@MWlGs0SkL)u|B#ga4)7zZ@evtwB96DF zfmkvs*Uw;VQAv+#s*eON33XNvKLq!gYGTpnv!w-hdbx(3r-Ps<@!2j=?Wzj}4d1mb zHAjqb{LV$wz$$^4|M+B6wa@Yd3o=B%!^)0)*^d-rd`-eXo~kzg$UfBx6tBuNIMy0Y zIoSPJVac&mg0d}Xu#_L1>AI2c5Z2zpq3Ltg3OZ<}LUPR^H}3TRsJioasM*|U9bDe~ zWcuv9+$Iw`8PFSpXXF~C8*$3SajB2Ybl5>cb#%uX9zvWMXnZ2AjXT}QPSeY?_g=mv{#M;Q=VW^gx%3Vaxq#$-hS5&zq+@$cK_iFJn&euszPUxjvrSd zRQnVtT07l&xobVm5BJyIHC?w;bn7J>+zgO>Qz!{D=a@*Ez0z$#68sKn)GkZ>@^MW- zJ62xXli`{nWjRLGaG-9E1s?|70ldo#!FE_)v)Fvi7U=b4PclL8i?xxTgT*>c<3o=}&ue5J`0q1)OiXWS^#qDna)} z!!y;P{4LCiso&k~sr6Ol%+Y~3D|mM}%Ud&O%XD$dl^uSQwP(7Ulbk*iiW_ zcS>JHTVW;17`IB*AzdD9J?Lk?2Ng9vc2AK0mC2MV*TBM*sXgHlI}Rg_`P!kh{DYTL zL_B2Sfi#bs=Wlp;17ryv37_ivgz_M4=n95@{HPI2y4rl`G(sxtN(EL z?0+REgjs^SvNXf0h$8;Oakdu1cW{o~dDFk1(WFLKKlv^?Qo)#QjnvzMmHG4U7rEcl z6oOPkN{o}5&PAG{*^ZbeW|Bfy~GqRk+tajxk zOm-dJ&F-&M4EIJCdfSB37~7uhW_;ySIqYv8d;E4s4o9u(8M~5Ug`sejV+vz?w1eZO z&v%W2cZ4nW1#YHm$~PIJTOgB1pGgUOFq^60|Jtd^$F2DRYy>Q+sXx9Sa_QRuC5n(n z>MMPYYUkv8^Yo3r#mJ(G`+l*Prsv@-`>Hjolo*(@7~x*yk$Kx(Tfu96QS>F1X^5C0 z?KMWNyMr@R%7~ef|9j9kZyZ55o;=tcKRH zlOvbwy0W3FeVG}Uu^DKICMd>nrdGgzUv{t^AubL>cOVi?2sgNG|831S$uzr6RQiKd zD%z`5jJOdQ23dUhxyDHsO~$vQbi~#PjSK8nrIdtp@0pFkQk8L&>gq~{7Ij>l?BmO6 z+l>nEPATIenfL-FC5%^?PL#I>lDc4y>-X0E#s%yrs&T9;^-x4}_Y*fOkyHTx#e}QC zB|cls)Q1H9W@n(xBN}bF!oY{INJ@0n+A`x{0qf~jL2A(|8oAL|Wn1>I4m-m|zIhY_t1fZswN=Jv(!GBR0hX#aF;J2=H0Q)6kuD!B1Gx`2iqm z*%c$Jt*YI0q8NQ7whD2hFfrjr@w@F9oocwbdtJ$^3@(II6BguVLq-H?SOh3l`@2sp z6u-757s~H^Rd^NdHrL@8M&-ia0SH-FBnXr)=^f$#EqB$SJjtFr2TKFu@E05X-?@D`6Lo1+N6Lr&VKp4YhuQD z=zN+sdAnjR-TYU~`qlH5WqyFU#;gKeu#+W?!xxF*qntDNvXlARDQ(MkYD3z@nAWxgAH9MFNvidmNNn7Y;ZhOFiXy5xRXOi-Uu&Q6 z>s6pe9LdRvXUn}~$mfV&cjw1P%G;e|*+WM~-4ZZL==TX1Yn|j%4*~?Ok0|EE)Z~4O zUDQP1D@$tfN0~Ea6Le9WZlYfH?c2Xcn27s?W}G!Lgf2ruisO0>rYp=0b0MwidOogf zaL--AkRxFDdcJj)V=|1VMw2%he^Aj$BhTo;07boV{y$c0W-X`7e! z8;fKRQD;2a>>X!G@y~Sxa<59OxTt7U2}piFpo%ZJw`={X>_gb`eZ|6540=ex8oZU7 z={;RO_V~Rs`$;_Q3!}dh4n%9d<55%k!AhEZ!)5ZpzaxE;`dCYO7SdEG++zLknM}!| z`K0V<`Om&eZ&BjXN#W!@{s5AxEQwg~bFE{wsN`1{g9WO~1H#z_dg=h>bUJRy}|HLIyf1i%+l4PH|-FCxDva`8VLDmm$*JsRTp z$*5Ct@m)cyWAknV03%*)-VsSfqw)#xbJ~Aw>ScSdU%!F+h9GPet$($>jbZ%7C_!CNzh*3AXx^lpeAWQhqy+t|{A z6>@2x^4i2ZINkj8WpH+`M)RNJZVAB->-A+JRr<>VO<&{nwWtXe<6t|xswU#|EI?(| zcr5Q(>9o-WVq=v?la7J-B;sH(euQvh#`iH1A5I^MHMzC|@?teOX6BuZ_QVKW@IM@;4(*L9dV_wmt-;jd z1yk@*d&Sbn-AG1g3r#?N`krX6`^)Eof&yg;+7M`(Y#3YXjF%_rbCao@5VFyS`E|y> zi&#_Z(OSAGJg;-a^sCYq>(XNKr38&_YddI@XIl+?)?f5lxO}_&L*!H7Zy`ZG8`ylf zGez$Dy#%g#9F}}5Mg#aNEI7%QJSdrVdGo@9Kg z@}YEZ-E}@mBO$d_3ZWz5X+)Mm#$RGzdVoaFFBuPf(n5qe}@Fs4BI^nSK-@#Bj5I~MgHHTP!tO=J-$!4P}c!(EX$(mk|AsQtG^!zo0>95Y0(^@@b+CWj7GWSP3fOw zAGvn(F~js1*tF7BD|WG%#)P6T=B+5ucDlVOj~~f*CY2_M2vp8_vcE|RyZiiztLHVY zkIEwjEtg39ODc=O&T!eD6Ha3Nof$~zX2g82cma4=&%E`lthm%mT=96 zPmhXR=1vp}VAIS(H`6NDltF26(;!cARj78NDL`L<_ftPZ0 z`d#8USL(@h&q;(dia8lY;DC;z*99Ryek)%SIy3fKuqDfv9X#ZoG4LEylh=xDi0M%> z^!=xbr(y&Un-{{ZsPrstX_6hh~4x-OfBaTtM2N$=18akXmYd z%)~$Yt_BzqyMT~B+U(A!UXfV0$vtWUompnT{ag7aS^e4eU+`qOYGefwlTQ^@y*+nIR*}lOmc$WirATG~>~rSIxtXddrLm03JR5$*W;(*#xy8Cw<-6q*U`tjL z#I-+O4cltBT)s5tCyz^Povno@00s|vyR0U#9U>rzN7~|toH_RRS=;3{*^D$t^C&Nt zqLh1jj%P@GRjHOU?LE2>6Ou2Z3mblkO{B{on=;u7N;V7BM|P;$^3v2LYsD6R#<7{i zpq@~HcA%N~cFH3!lHzdVH$&WZc?RFLKJ`h|XE7AYl~g#TzEoo#j1BD_J*`AbLABkzCA*>tJM(ecoWcGcrb;!I(i`Ugl>*GS8Wsm*^1C zMRej>fvWKGvIXC_9fFud8-$;~<<)=yOp*{7<#lvfHk6T72r zjpEs|Dq+UsRu?}v+jXc3gC72xKjX<{Fk*KZ)bF~5WFnytWNl@CcCc@|w>w%H(}lKn zb+zYk@gD+yrG*?h=DZ~neqUaKWdcQaGNCu3Z+2ipqjT4`5YwVD>(1_!Z|e2JOY=87XU&DIksFoE+4TLEJKLUmEq2(B z%mWE3Nj;9>8H$d$)-bKEMjM*PXM=Gu1d8rVdVk@*;h%c@OWw zI5KWJmr9|PS30`#Z4M9N8}x0byYY)I#IWwJkR$oY$YS~E_khkJ>qwc4A&;HKf==F< zXs%v~L_<<6=S4sb?C40JnT2?ucf8E^;l%pXDg*ZnAL_6K?Jl$`WSL`@U&e}Fz~2XlfsXfiK}cOh_om{H+gtIU8&Vtpa2Pti=rVL+u4}A0 z|3#LhY+<`_N`JI{dVWoo_?t;0Fw1gnK_2-y(tK7ZDnjY$)gQ7}(E%Fg>v69I= zCisYlr6f=;;P!ggY+EkvIcNIy=Z(eWmL;0peONvV# zAzuQl0%jY>H*GrCW2Sa4u1kMJq?F;>-<}>TnV7U8z?ZvcdnR&NqnkC$3m$91zdH!l zx=1y8S%e13QP}w^R#fF|xGDzSMC@bwas(?e-NG3L(E7uBAc%vw2vcEt_0U}!-xekt zr%a~jym!heKSNGSFv%T znq#Q4LqPNXKOE)!KQ{o#mys+B2QTMdx>sc!on7*@Ixg#XQkiPw|Gpr359JSbQt5U^ zDKl@uOFHfLsxO0MJ+zeQOMaA`Y;}|>a@>@p_J2=M>B^`M`M_etwhjzj&Wo|Tr8UBRWz2)(I(^Bw+ zVi(`0gd!vxv}~%P7x{rI0C&6qw}BvvE2;IfsVD!hh`lF`JTi|UpYA?3usxFfBXwz>?ot1?q2mU?L~1G)MHDTxxfQ4X@3eIMm8t6Hz|}q%sj1}6 z2zXh6-_q&Bpp&Ke+;jNmeZ^1Y*{_Dc){l?zKj=CfmlbNRRz?_@)yR!q!8;+L0bZ6A z2}g*o%zr5)x{ns6jN+x8R$)J?C;C1e{MNDw(Uzcf!+aimwza&C)9ierT>gE4IyK*D zbg{WnY2mT@v&+<&p|cGl7TU3x-j>mwe^G*29?1q{@96ffDPVoWrl?mP@F&l*U0t-^ zQiqQmvo(iAPEPK#^+k;FD_q_Dg2q$H?QU?;hRM=eH!t-&F}NSAH_I!b)@}31)i&G{ zer}VIXnJV4tfj+vcM&E{kJ`QA=_*}$; zmqsq(uGy~7J^b#2Y~GpzB_i!DSz1r>xFPF%wDrpKUQ(mjAN_Qg#SojvP5coC0qdf2 z#)rN+H47Bq$GfaS<)-X?pk#K$bwZ0LQ--C|zo#>9922?toX(EDZRqe{>>uZx`Zbs{ z0SaM8EN^+m)SoPAQhRT{qhaJ`Zh19Mv-MSv)&xEg`QBwYkh3vvx%h^5 z=F@_2b?&RKiLEc~iTG6CX?LkH&%Wc6jS(Krr%7A&E(qB3LmqX#7HdB-lbS;Er)K}1 zoQ@-5Ns$URe$u?rs9r)x&Hm+ijp`4__oSnq0v$hCv+0!Bg-Tpd#?R}>-kR2_v5(?s_^WI4O;=b345oRDrA9yaf&7JlUlAx}&#ULoH=f%QH z3wr+|g(}I^@=8QKFQh}!W5D4f=l8GUDb7B;%4BLs7I6ewdXgYsk7&Gw`At`X#JY5a z$$fX%$S%w4{n~sPh+u$eDF{otKc6oH6-K0Fa-0k!Eo+WQDA_l|0&I%nUbLq|H+^-j zbW{ipuo)OF^(Z2a6^Tlf*6_qeOgGaYm9r0<|HiYf+T1?eCSq2@N&A%WIlh5#Eyeq|?LG`qV;omIu8i?WpPQw2)WvMW2D^;kSJ zy)xrixpR#$xxhNfn9o(G#*bQ@(mr+RbM^*uJ#~E@ z){(}SO70{i;E*D)(Hoj+zw8`(7UTVT6wAxieD>xbrMWfwg_wpNC`!#ifF+q-x6%aW zUehU#Ib5Jo`gOEARhr-~P!RE8EudYjNyUD+8ci1+?f{j&{Cz#88#TzrM_R96-lQ0fDQnl(DuE&Ip7BRy08CCD7M$I-5uU} zjl(6_?}&Xg!bE*WzC+x@M(g ztiUupi0@K%J)N~R4r9`p)~X$b8^q z?q?yxLyA8xf9Z!qr`ug__pvrJYfYlX{rm94d(Twn@GsBlQciw9bap{TEeZ|PHRrbi z+7Vl`;^?QVnFX4dI0b##6XEp5pY->k1RJ%kv5KF6Ps;4DMamVPadVZxBLFu?P>jSG z{SBm1XYp`09J+fQ_~apMXSI_V_d*JTrKQRH-GsuYwdk6S)!C=bBRl7dFJ65LePG;) zcflpXIl{9lyqc8VQjEqjd{1F9~A%;gVn&2_&YjtfsJlwowKHXq8s+&|LrrRCr5 zCpz;9f0DhRmY3enoxgGZ4`+4?TL+m7D<2t}|9No>ysY48HWQTh4-G_^Ux~R%YGWbe zX2@%3+yiGxxG=i&RCH}M{^FQEocnY&zKa3ft&z$w)Nl1_?ij+a!<5DrgYQ(I`8vpv zJIQ!QxBc~B%R#N6Kt!_%+;s+u4=#VN`)I=(*OkwbsEQ=Ju5?^$sHROnusSO8ZTm)#ZlMe}qmo^_iUFQr4BJlhkp6;zmJz287?jm2$)kJtb}36E50Rwd zzlQ*&N2_sjv#;!m&pYLGB{41tMn%4Q7-eh*)J%5X(O|q!Qu+^#Pt9&O)=SF*$}o!P zMes9&jF}Ef6qWytobo1!BzHp0dT~kQP+Q5MIRy*A{13;b`!(9jVkR1+U5ZYdEzoS| zUFN`!)M%E78i(x@ycQnDr1<_awzjF8f4h#^xaqF%?nVe4HWSM1ZRmD4=I|!S?#ss2 z2=aR}`>+`-TJ-FSy;j)+b0p0{qGJc6=;D>-5eWG7)3*8MPi5xF&AP+D~M zV{{6x8d7q-!se>`5LP|~7Bj&}C__deGPhBRJ!5Tm#JES3Jkuol#yPqw*lMoBBBx5X zvskjup#GG&cZxn(#=u3mya_TUW}-JjexQ>?jsK8BlGMca=4M_ZuuzD*nG6popKH;L z&^p~~lix0kO_OHNXHT28cxC|In-!=TYf^&)zW1?wS2v`pL!>;xj*76WuMJ~TppdII zy#i6V>U}|ny7Zz%`})gV!31lfF$} zFI0FOIsHwb+gUfM`$ZSF8SFSYb-nJDYb5lC(XEoSCRRUitBdmmSQ7*Y@x8fHsN&v8dDY^Zmi$sU zCPYavYwvOq6k@O}YZQLnd>EpuT)KmjuWfSn5osvkUm$Hl6`EZN`yE1v$FA%xy`2i#RiHJ^E$o1jaDHN*r<%(=2AC9ZNvRU__X^{eS{lxE;FvPBL5t7;lY><==Zz zt^^xcoP2FWr>Hi~d(>PMlBjxcwnCa(!-8YV%BJiA<*r#^a6EjQJp|xv61;j@igm5N zy?f{S9}ZCmWf>B~b5i(Cfpyo4eEQ;;Hn?sulI8U2N;azS6*hhAiiCXwK$4yT34fPq zZ@53-nH87iS6CbQ2JAP|HCKb4xP}J`nJ^Ir?lhA z%9AF)#`_7PS^4w)7?b#5%+p4Ty;EWIh&O{$$$nmaZa@V!H`;&kJk_N%h{hrXeZxG#RfIZ6mKOEZK zF1d%1X@K)d^jZ@<{XP8BG(erUPl4ey;tvdAt=>2vZr~i)CTnqDS{4gjE4FR`CSwFq zmL?Arhbb{w$0dPlsyoe90t$fF-{$qLwx&6(G#=j98_IU8j}6t$RR;tg=wIuebS9UT zn@??8YWh)RB_ynFK`p(En^8NOt)}L_WMS&0PmS#+e_$!rpGSl%qq%-Vzn45RJ{~ZZ zlxmrI81mfzF^=eCZ{cuwb*N-x&7P|8ahyZ6Wd!0FSC{c0j^Sy`3(v$8(3f-Hn8`#OcvstueL=X+(ThbB&JV78Yu(m&Y8UndvD& zG#BXp?oQ{vKtUYCcwf|kCz;swY99;NB<+xNteA2Pu?7AN&O!8>5!Dc-{#;phbzQG{ zD@M_XZ!3^gwP>pR^uGPyeBgAj?}i?~pA#!Or4*xZYMfGI?S_TkL}HQa+QzyB=qTf? zft9D&OfzSV_*T-FVEg_oNy(r&v!@s&w94L|Ge(@%x!iKk3|!HaYP>xUJPo|vN~-(Y zOvq^5GTr>N0Et@En{Mt@Rc?z9Gi-x3bwG1p>n z-M*Q#)_=YIE0bijgB+g0X>6cZkT(~eS2?XCuQqTpMY!|PslX?xG&a5zi|32ze3lREHvV7;rCBV%fD`O z5+qC2yk&iS6wv+9krx9Z+Ch9>&gWR}<5QjcBo1^4Ma4!Pp{e*)oS5QCs^Zx$gAB{^e7>bH3NGzgd#ID$BZ+6W;aJ0LL-pJFXnGfQ*%mr zHGW?j{_f|VUNCH^O|kzxqI93a;O(hw?*rr9+{)O;lZoT#X0Ag|e|JVgO#%}dM-*&< zGjn@XUS$$tNWq8%`1u7~nyQldNDxyh=}#IvPO)p$@I}11C_2bPEmxYS8gA+A3Va-C z8Oj+|?ca`kd6MrYUY4~b=cDM~vx=vdUfCUUo^D| z^nF$@-G6w>&C&)TJA8z&dzt)($G<=JQ>ACIwfn*TNab!*ooC3fY!KA;A3oA3Om~;v zkP}|>uQGF7Pi@YZll6oU`nc^7GQS~R+5JBN3_rgoTMg%hl0*|Dx+q2&tv8(@%!CP~ova@@32x0H>_MGF9~217K` zNR5H8DNHyl4hMbk>&GMEkBvMf@fO2M({)X6!CooSJV|R~t!TP#yP;f1qTVIUkZM|9 zvjzT-eGS)`V|y$8KH}O_8EFudRX*YSWc+COar;F4bk;sM{2=%X;lJ7Y!#*dm)3ocq zhW-Vf3y%(4>iRu|I(6oyr`y}v>GoQDn&zEpXM1&TrdV5A{{U&V#lZm1O=a!n&ZBF> z+|r%7c~K~dL2s*8DVEz+9gxlC`O+vRW!A^TH5kWUFoi;h( zv6A5>iRMDgtV;gkDB^L4iCc1f;T?Dn4_h58T+=k$-H|7UbX$3DpjiZq9oM$AYhP{V#8>!Lci7QR`SwF+{14j%Up)Ik_d!lXZcZyk#bp3765_?a1IC+ z{NKlztZp+qtxF8+ydNu*P)$NpPN~%AMleyB-S$8T9TIXndF8!qn>#jrK+;BM2uBKKrtDF zI_`1i;YEDD4<^ql+0nt{Cl=<{xi%QMwNWeErnIf zCYB=$ImsuZ_ZxRt=H^=ZboM)!M!MBO23eNgXpZ@VF(%W=QZQAH7B&Qj!3XA20}8@2 zD(I3XNCpx{=Tb>O=?8iNfXWa=RA&kRE%NioOXAH+>Q|Q2!&=1eFp)`XIbpW~WMIhG zmjDmltFZ?mHkHWhTGkp*#2s$lIPJVD@W3M=%5EWL3nX4vL&YZ98C2xq2@+(GQ)sTd zCx={1Sw;Oz*}@el%}T9UX)0@%WSdW=n)zJvG2S-tCR&v_X7I#HF`QH=!c`h_X(+am zvujIPtuJ+PilZ@l&aK04gKJ2l%jsph^ zx63+`a@J07-fAoDJ1ti4uAd8;{UmsH5UUKgD$TPeeHAE1oD;H2`pK)lo2zN1t>BBV zXz(aAU%;|3mPY{YAeWHf1l`W&C3i77RXk&wx4tj2c_LdF=e#i(CLUUd!ZSn_hDnx5 zg0MrhMn(@%0X6!O;BWXR4y}J3yw`sWZtVkwcDV5!<-VE*6b54kWx7%cW^`zQAbh#t zSJ-|S{eXN0;d@oR@n)mozXsaDiDbSO`fPqoVInNw+M2|taX_kAC6+KVhAcqumkDq_ zSylf4YVjT$5mT4lp@+pORFtfnjA_!0=XYeR^mcc8tA2fo@$-yv-@3{;bzq}@Xw}3j zlb)7o%2Va1b#&6m1w~JKqH`GlED5 z9`)d_*%QVdJeDag?{yTqAyz9rCq%fqmQA8KGK*yD;QXwG=S4e!Vxce(>z9dsHGjc2 ze`ckW>z^3>KjPhf&Do~X>@_=|67HHH%J2;r!uF{cVsaDhFo>`eI~86&IryFb00rRq zci`x5G@seq;P}31!^dl_c#_W3!}?%w#4NGtwpqMvg^1=;6S9R8C}2%{R4Zk4C_)@3 z!gaGePr8<2j;9JZMayrsStli;Nv747n(BO3XT)4@pVfGb*FTmD4L0zYTtu9tn_4(f zlpvqH?zyDWTf4K`J{A7}!7RK+k=b9~_-Y7Dp;@(07+qM{<8Dcq*~Jykp|@cUVjf9w zjspf8YwGPs;dktR`z+~ess7L(8hjh18*~l*g{JE8>HcdXg0LmFn>^ap^I$Z4B{7B} zOQu!p`IGq7{{RJI{jV6 zg;B+RcWeG9@ehhG<<)#it?Ih|sXH@If2-;jT7}cGZN&MvQp&@V&=8{s3M<-%ACEIy zN{(fkWjPiVsNWBhVIxx&%VeA$BBG5rO4@TnnJ0J3&zz1?mny#B6Ff#|UA|`VEyA7d zn{QVsB=xhs?|Zg?R=*g3;J9D1@4{0o0$x30+mG^56w--sX0Azc{%mT&*P4~X0$A|JF5(vY2}Z0ccQTo$WI4+ zdD#4562Ou%&tawyfwEi_{;N;cBVO<$hZ^*sh(4qe_zZZ*A1{{T~zxROYg>C2bF`JPLKxbqo_ZS0Dq z<(Nnd)@9W3X_7UymYp4d3`dzHLVKAM@slLs{#*P^DC4OaVEn7|K{FU$cXT99c<)m*hy5-g- ze1dpK`JD$GDv+a`05grlNWLsH& zc)n6jVL=R6c4@;!c_a4Gi9c>y11kVnX7F~}es9DK~BH(+BJIZ`^1ab5Fwr|!*B zlGkr`-s;y!(*1OPO&)5DCGo|$zc!xfHm`lHeHQ*kwbiMBv}S0h^2STsJaR(W3(nxd z(B~nNL=p|TU;$0p48u6u1B?YZ$l#Ha&%SvhAcNdigro#%CAqbCP+Bl<%#Q8JVB$4U z&6nDxuzh||1!bk(x{^)2lWqWj^97A01Y{rGZjpEd;iD~_cBe+8QPcObTeOK8Wms^fB4*iK}WGY*rofDlIfm5OBm5?Ri0Ip)Lc);E8$iVMU4~BH$@! za?Hf4jFx5ufzuS8beClt+B@h2_(}<>~@IbRU4VfW!k%lB>wF=AYoEszrIWqd-Dq_8I)$~b?&3&Hc)+%U%9WIE zC8CkQWI)A0AhWuaT;#VH*0JlJC)6#peJ;ZLQ@*^ILuIAfEyexJu0pEA1VC<(u^ZGN zWo8Vj2h7#z8b`t>x3rH@@us>o8#y+-dJdc+)I3pmGBS;3vMsih4$@ZRRGB0I?-r7% zRc_#2*y(zEX+90pSHqfoi1A+E!9159Al1;8+?tNFl#pAnBXymGc6Ma$5=Az5G*G8G zJ5WkZyE)A`!EE(!;(gR~efB!0;cjY`6N>);muWt2lI7C&(P_4wb+O4W!;60fO0)b# zdt1FlM*DvO=vu|4-lWoyTW^WAZ9VTTJUIdozHXkfTFC? zE@HB=(e(Cz?9UG9wyCCQT49kDB$6vQWOuo|k#>3dmZ3e~qjUm`i?>xs(_wU+Zc;%9 zgOX2NXFQO31b}iB90gpHQZ|;nV2+(Jl5kE)J#oeWJpllEpH3JKSt-?$sVJ+(JtGM# zd=c8t*S@mR>8_rATvC$crFvAZ`QvxbB$DcycY5s4Jvw}#DcE=z_W)-eyZ`{e;9y__ zl4{9qBJfa*jnZ%=iE3Wsxs@MMjf#ssu;J(iNKs|jjdyE_qJ9`>Wv#|6% z#xQ-e*ZlOZ(oHuY>|uSKusAvFFgV8_pHc^>aaEoyWNjm-P)2zENAvaXTd!?5_Z)H0 z1dM`n(*veBAdouL4QzABAp7ND4;1li!c);}s*Bs!Ie+W!K9Bm-y)DNaHl0p9f_0Z|1Zl5&t z{X72vT3V{!&3b*^pL=!R&1sVG41L|dPCZTzJ9_(c=qfKHdwyoNyn@}At}~tvM?Ep0 zUP$O^{{UfQ({9n8HlA_nf04lB@T{dB)739uBUsjwTieS20O8xNy}Z6_0Ndv|$G7A8 zpXL2(7Pjg(j(Qv(f1ZEOLtQwsBxB_rbDjox$N(SHo^w!1X^a8M0CXP5jP}9p>(5RD zj2~6gM}JRU`mMftl^jI6wx7-ZUTXgU)|}&8Fym-Grx^W3L~Y2)!h^^h^Pc|zuj|*X zbVk*&_YbFY{D*$Lj`*mJsp+(g9(c#{!N=$Mia90Q^8WxcNaCMY+rMS<>E7QYj(f=U z9Q$qlw9^6p=*bPh9rE>-ir+>F%92(!WhNcj?;u z{NLtl99^ETe(A2OXZ?5F!TUaWE7v^%KVCS+Ms4}&*Per~(lY=OfazHZ@zPn!;#bVu87-UXJE%nj@hW1+po*={wD_>{{FrGwJs~uuV(d6%YXPN z)ne9{f0vhc{!RI6VhDO1DEha5$BcXb09s!ouM6Le*#5j`wtmZu_2ah#r*8iM%QX>$ zKA(;c<4H!{e?Kml^89;fQpH}{>DRAr-Szpd$zLn%`-dy^@A~pF^r*}r9)J&^I3D;X z{QB0xfR2C@^aGDiT+=?zdEoZ$c>D-C&-D7x;dguXzslV@cGl~$q%mLK(%N9z0X zmXe8HtC#`=cZ2oc;s+D`dby@A>|HeGmEMff0j|jE+0!C-gjG zp~2rqt<%3t{y&+laVhTCZM5mTPo}s304o_@R~&{Pm;V4?ABm3i#Lg~t$^*4p-W`@479 z^)q&#L;ioy;Ydb3KQMolXc)28PatEj{{XA}=A$tKpS|zNIOFsB^Ur@{k^cZ!^8Wxo zot}n@tY2Gt{-2NGswxG@&OrK~r})xUlL*fo{Ym56nqXo;9=Pj}IqgZsuG?RA<^F%< zQmGH-U()&i0AG3g8E>F!EgC$LUFo*7N)$-iCX0O(kF~Ar<&9&w(=IOJo!2g@Z#SIB z4RtHDYPH3I5=V=@9?e3+vD`kHYaEQNI6z~#((!W)(ZEQ#Qr9HPk;<-or-gE18jZ9o z9lUysNgB%Wi#L)e+0k~$tZj;@^CMFflOU33jDfJcOdfT=)&#P7XIFQbJe$C7FTC5B zL6Ic4xB#P1h?z=T%wt&g#*AiM2))*mvs?AEy0!J~b+T>uT4;PHTd5}Rt(#gt=`A%@ zd)esvn;&J6A}zeO6AVk3tlLz-oZCDSM(K99mj?0+N13E{wMaCZwVGJ-G?6TAaHc(8 z*JZ?!T3Fl8^W5&98(Rq?WS8v;93uY!P+OTIXw@MJaMuFk%v6!fE2=|nt==hDF=`-u z%JM@6sx*FDfo|~zP^%=8M}Uyr!*Z=5F*Ip9!z-Iup7L3mE1TGx29 zmy&yuuM~THsbiGICZ01Ad14{5CvUQufRaXOOwJ60d=Xketm-9Hv4P`_BnNC!KBQz> zO0r6pz}%+Al179`j)rHx%SUIwr_b;0W>d0h_g1%GFFWbieXfk8zL_3>wZ(fJ_X!*Z z2{i_^GZ(a(99{{p8e;x*UQF;cvMuBW=4+3#GTd9GRhIU4j3unoU?h7H-Hhd&86<(@ z%vS4t5->?)vY8|^urpjWyE)&FMu2VzwlBDdT1jJ$Rk(cZc_iL0e9MwUK_qssERmyI zO|m3QDe1`tzn2;{y@SA#Y!_ZbED^&i82s5bytfR}u@SAyTfF{dwB{90Fh?P4JNLEp z?$Y1%`PtYU?a{?Iy}Z)@0D;$`QVU0%MHS3itJ&M^c%@;eUBwEbmcu~OT*CzN%Q6Vo zIWA;|>S$V2U9RsbveTw`mgiTshF8j~>e@o>NiHOY7~{H>UZk-{Fflgh?21cg9mGfs z_fSP!31y}jeA~Nwi&<022?d6qr?4*^kV`7dH1b-?EaaBf+3nQDo$AkxiKZgx*EzIAb5$mTSPELad4stE)45AW_f4xuB4C23hwDWZ)JC{ZBj|u zD{Fl^>1GZxX-k^@uXg$_-_@_XAhXeQW>Br-ABRXIm`EVK(=|;xXOu&|Cj(lF}c_fp|Dj>DIQ#p#>A2!=cw~{;m03zs1 zi5ZzwLWcd_V(}M;$zrlK@7paMBWa*{3vIf+oi^EwPdYWly{vcAA1?2Ckyw1qwWGe? znk{eA&+qarxm#wr&{$twPje#L+G-K%HxU#>k_uzPJ`ju|+xUvsNyWlMVUJUu_9+;~Wr>sQ){vnS z+fSz>M#Re--N^gWO~{n*Gz&QQN;R7kAya_UXmJRqcrFAcAS0S-r@4YFd!61yD?FF7 zMRF8drPbae*@#pKHHoK;HK#V3#mlh~Trik<7LdwS58AFQ6wHQjXOy0hBfJ#2JuqxfDm^9PGG`JO9B#IouBAXEwFxp^gJ zlX-{9c&;5{@|HVh*up#8MoOx;-WAg11?JGTHHtQop}e`)p=l(J8@XhT;m)sXcWRQe z*j-O@C)2h@7JWA0OKYjwTl4R6HVQ7iu9Pyg&ANMwfG*^nOf$;qb0f(tn_|96rxvX% zOE|i?wGv4^Pnm+m>#b`O#DX#*wbbK=G@TYjicxiUb1tK9sdqEMEL*M8X&!q?Qd@h- zY^Q5Qqtjlc$;yIAZeJ6%=o$^G9<#~vSVX8+txL95Vh&9X2 zEBVVMtm>AN9Ink-Uh3b1eLS`9KWQ!h03Tjk^mbaWxT-Wu3FA*OC$L6@Ig9&KLAgd~ z748X^-e@FSXryfqO+FVSIMbJyQ-%DmD z@_UQJ{hZe69nd!xw>GoS6UzBlsb-cW#!|M4>h!luZEd&Hd-k`PN>8i4sp+k@()ww$f2U4L>*2qKB8qW$Wv5Fr zZHh@DxYTW$*_Jqb_MRBc&Ycs$&K00-Sz8eamT3&ThaY+H{{X`RMq7U*Ngy{d!8Q7{ z@Wewz5mBz$5iQZ9xR}X1ND4_15W5Iw_Dz~(k;GnLBl4DTmUlYBozlUX{{VF1?otMj zy|Xko5J@zm`eSo8p%?l~q>{x|V!4w0X=xZe<62xi*5)U;B4!%u+4&c7HNxCVv9u=U zZ#koKmNxc;l6G%prrwU}r1b2cYjx7O_4loA+BJTgEf?SZUp!s>FtByc*{t-tl{Iyia9M_ z7_SxHH$cEb%(FTn8`voN@wDwW;U=8Lsb4dg*5&4hPY5Jrc;>d3dtP}mEx~x>fdzz6 z-AgJ@B0)TtrscMsX8{csj?rC6@LWvx(ZI70B57xx8aQsXJ6m+RxDmxCn{OnN7?j+X zjxRDe_AX5)1!rq(Yp(sidX}X)=&ZHq+S5(8T4}AiYtZ;E{{Y}z6M}86LMtzxj-v5U zM64B&U80>>g0depAWngledEUJUjr{~q?uC@q%u5i<>Q<);JU0x78zt#L~ybQ$~)~? z_nqNCPzQvxi}YEAo~Dvak|SKhb1YwKL%s>^Y|`6AhTJ>FHJo#c$BmkKi^&r2kTD0t zi%ZBRgG{@-w1Oh9mAAdrts$B#V{;9uk4dwcVAL5*hTuClmA4m0RF>l0&(&0(wAIzL zy_;JtjcJC;!y z1zfajp^4mt0-!OjTIb=;y>4)9ZX6S}S`_op@)s=evB3;gNWtZo0|vilCh%MslF{aa zF-GQVnPbx|uJG*Bm_^LDT3n>uT1^b8E7-?$W_Tu%nT+ANsk{r}x#V>khMRpn#fz(I zmheDJLhUWkI<}ZD%(&Nu-<3b!&`X4lU{K`nRUrckA=q-kv(Tc5O)| zwf9JXFvvExc~Tt|@zax&)Mp~G-pb-5hKS z+S)EVS@<>KYwtedC5CAO`4rW(bhmN75C2^GefMUQHNyMAo628(EM$Zl`%;4?M3trn>SEkq1{u=IlE)|a;aoeZ((tcfW*1o*G{hMZvB$6#gcphEb zA-L1$ow8;5SI)6F5dx?SNF|LhWr-y6<@sBR)c*iy?-5!b-QHTbB~^aY1?`h7w(#o8 z&`5C;DyeWbGZ4Ggjs!eB)|{4aO)l@Ys_x4A+png^@W;@avuZwVE8k5UUAnv5UEb%< z6yEp*X9vDceLaV${RS)7FFp+T+Rig4_Hx}KgOhD@3;e-UkWt+oNG_;V!Z0<)-lVsuXU^rJR#S0sHw7+hbxx6tr zc|9sd`flv{Uwba;dH3Aoi6ggeNa>!P{{X=DsJJ=KbM4dh=k=|NjVDsKAHT4>hih$P zExhr7z;lwyy$&(cu5rc=YeMV6jE=cDJadfo?a0CI4NRkMlD?mXx6@1hXGAJfcC?k< zuV$@#Z=<%oEx8a}>u=hBs(uhaVf0EYDwYTUXulHX;rzP9h{euCg|a5(fG{{Z^j(ig@?Is8Aw_WuAp z@PM}`1n^I&C^z5tOoc=i@8UFx3pF>k^_t(wz zw#BD^>&ZV}zCpAeIUIX-1F7%+IrO9i2F7pzBc6HwnaAVxG^)dq$;M7jPao&DKU!%k z&jgd}o4$n^YqrUS|3j-+?z*BJWt6q)0nLynwseSP^j z$;V1K9Xa}e)AK*m>qXyvw*3JluWq`sRVSPik6wp7{v2fX9eL?iEw65Du41~gxSH1L z2@+UtZKi8!;gT{4k~yL)Dms-?uB;hIB}m0n1QCOg&UgS1$Nc?$mkWS?ZgJcH0ImLg z4JMOKG@6&hn!0!0H1uipLD#Bx($3wUk4C%b`|oW&bi00kudwmu9)ZDru^+7rk3 zdOe{*4~P6?s(-?Hp)4^KD{mg3;^_5w?QMz%jiIw^bn@AN11CRwcq9G`nd6Iy;<5dp zzh%#WpBn6UfpL9fr|O;n@eGJ?US+?rpINY5lKbY~np{X^a(1T}{3D{g3||WH_BN-s zt(D=UT|2Bs9Zw5ioB5qwG^t8WJ#QxO*7io8(p;`BsYUM@#Z5m|H7{RXR;TqX;NSQv zuly4)$Iz~wzZ$g zf8dut6=aHE2!7Z901otPi|?KtE8b*Jwn5J<=bf;Bc4aYEw z`o9xpxTz~$<8n$=-0f@g%7s~7yISdV(Ibw0Kafo*!v~7PB-EGH@p>oeI9;UgrP=)* z>)-HBFBn>+zijZgiWU)+4*ng7SVX|WlG;QUD!?}U5g=R>vg-6UtJAoDXRpGDrDX;C@;XG$8mqn-DbLtDv*rQp5I@;gqaXM}+v1(epB~=C+d`8w?uZ-YtBOM1BuLSY; z?91XED#l+sREWnMQ-HDR*YcT3$`E0m*$(1Q1d+I44i^>BLH_^++x@RzAs)5iPk`F- z=I)&w+elY}d=W)$Wb0%rhusG!x?5?C%X4lD4u- za~|@lvqG%d0E6#782AU{>uW7yNks7I(%it-?FNZ=t5{uql1GW%g)B8qJ+%Ay?BlnyylYD)iu_tf zeQ^H(ZJy$t7j-FvR6^ii`TiOjY8eQc;4Z zB$D@4q}!J(Z&cfTS>GSo>sg-ZiPR;xBg^wPcvDdVG*)HaLwnp6Rh5!id`Wy0&2*MKe+TL_$rOyCqlo79LZs7Y%6DQIBQXI;&L@XIXx|ce-&2D_ z@TP;I>)NH#PjoD7ZTv|!)OPkO4AWdo2BYFzRhBrGM?jHzvKY%crr4aPs>fsT=I}7n z{4TakN6mRZg!E-ai4m}4pTwRedvuIO=!+-bK3Ve{h`{NVGZp^;FD1ydc6BMH@2hRA zZ~l62d9lkWxg@F9l&_+x2X|(^DRU=n)~@Y$xs*R;y$;sRUsKk6VR-T~M$YV-#8~*?fPjH%5#q3LCW2ovjdd2)w z#~fDXBXMbMZ3N(4$2d?e?Ga*@BxH69Pjxnv@l#JC<5bu54L4GXCt!g5Ak*$3NWnAQ z!q-}*%d3@8Fh_((d)EPYUZ=CY7t` zHuKH@$1JhcTB@jW)~=~flAEacDoLwG z4snBwVRXIZot62Wj_NsT)7w*VS~RI^E>z;~<0-qe^|RM|Xwmvv@RR-tqpo;|!TuZ+5rKFKbX3={1<=r`_v=yZTv^@*GU6!mnNO? z`q7>(fkb{uy}!JUFo8i-Sj1zTrg^U)@gMvaC;kct;y*Mu$2*M@Id^6+4|rF?T3|rV z%)%)SjXd#!T#>eLM`8{u;^@bZqMTL(h2YzEm0FeR+Bf%a%SFD|OM5i5vFKv5EUy3&!$v4m}^R=R1u&)thJ_$77S#E}^O9Yd$>G3`3N$`qME+8vF} zgkNV|jjXo*RBBM;1du(eLjM4QUZtEc%dTDgHPEdP7n%!=Qc0x|=hMuV6;uZR7_dr} zAZEXl&l3LL{{Xf>iv)|Ue$n3+XO3W2NUi)=d#6G{2RMsN`y6YX$2d%rf=>e;3$6TF z_@UxgX*@&m6URE^IVJx9wY*ucY616hL0g;o7X*?{0LeVpps9F;S}qSb;mo~C$^Bm| zt%_?^v#RJV65h@E=#Z)K?+#O%sOV-DrKSC*A~gCd>mGR}qtg5O-2T$FFWGnYIrw^p zKOFpX_*bAyZZ=HuP2u>iVk$s8ds+LnEhJZ>}#DUbH%U-px40%Krc>X=Hy~`u_m@74!ZHsqox7 z{4w}V;{N~^T-%TIYnz`5*geBCwo^CWD7tA-{E3H*$BoB>+vRVFpYU)tw!(XVgnt0E z4J;BwH=Z%N)8z^jVF|F%te|GW=Wq72ZUAMyKbz9bbCzSCxg_W7&#?Tdx&Ht-6*Tw< zCX|&-#}%As6*|i@%0#-*SWG4l1x@PXg`pZ+_j1-v>AQa; z^>^Yo{1$Ka;PLc#7S?_>@aKT7Ck(z%f;=gu*v%3)c#iu~8l~E>2LeTvTw{aj`S0W3 zj$atQDBeqb@ekr}j(lTrGc!N-{{V^geL@8Mtn@-nU&d%29e=fIvW6X|8Ipp;{ zPi}V{woW>O>*{jSNjWDc)b&48-|?iPy_+lE$$Be)Uy&C4Gzuu9fC?z0fDD{twKzKt zgpQx3Hi`vg_e<_BCBeb$+i{i1KaV&d_s2Z;%{WfL^=tvtaX!5Ad;NIF9+h)O&^66^ zac!b#`j)FXDhzskmBrgAVgM{4N7$s1mtd+hl5vXltt;Rsjjoj@)=h_pEz2srch>^% zQYuH@k4~`j*;{aB+j}*ZN|4OIDJRO;@3r*r^0#d@>T^%oMYP;g-7BlxOX!`|wCUH* z@5iH;ZgJnBByvYl&j9oXo<=dHUjWS&icW4LY_ZM22uRx6N~7dKG?aL77WcJRND zws!tiwVYt8T3W*t7Lfop5SFkiK_5ZKmKdo8ln`@X#;mNAQrnfb)LOb}*>0_-pDyPd z@f4vZlv`=*t4pJ{o}KN|=Z3y%h$29ReS`dsBw@GWIx~=uKmG|$VfZ8gSB52k4 zW^LFCNjNw{2yjkM&$+j5ZlsfHKM&dv9h+b(Fba~*k$`%TcpFD-FUx=qbtIXVJ)*`& zXHu$U1iy2*g>$qF;9-tPVYiIdR?E31;1s|NH{^xe!9W>?dCBN=&JB7IrwGTEF;>y5 zB$chNWUaQ^e9k9UQEOK%b$wr+{{SoP-Rol-{{T#mCq7Cu3?6*E1AuYJILFF!kU>0S zrZEgR0Om^x8AlAt2wY=4eq?fgUTeCPUPc76z+EtlmY;Ia$;vI?Rpiss_PzAz_Vx2PnJn4C zWwW_b26n2G&NGrp$r)e>$GPiR@~XzbNo_i3kC+fgP&(uund}GGCcRxDj#HJq2*p&6 z5dh=vVdO25&Q5#dJpj(1N{V6@Nrlne2qGl=%2<{27GMAXf<_Jr$tN{3gs&UvZ|^sI zTgylH51Bo0tJ}X%yGQc!N1AyNOU4_5MW@;ejM@Juo>V zzg~W)vzteY??-BJ*oAO1KZhV=IXUV^N#}|Z%GCk}MvhksFfp_c><;6S2S37j>63#~ zCD}Xm-KV!#`gV6j#XGy~-ko&sZ%cXTb4{W{EMv=LXConY(KQBt~u>q-#xT5MmEl^E&wM4oRN+(fsw)I zxyCsLuwLF&IRuhPRo##YQ`aQq9AhK$;+uozT3M@g-)rx;ecqjVnYwUIr7bqmw{>-| zqW+ck^0TB~k%vYQ+ z7$-is&pc=70qSa;mOgPLbvu{^WgPH1!sF@(I3VQbg~;u<<>jr`z5OlcadKPXmEHc< z&uw~Q}<6EnZT?4lOA&ufWUF)C_D_2&;y^)9PyDti%H#nP42oc)6875=_Hrk zZC6k7)$8WZI1ph-Do}!O7#ts`e0S;wGsbELi9?ZsN2tl-q~mTlJu~lsK*oO$q4ewDMYy)f zXj#w#a;y$G$0KO(&}X>m(yPvjqiI5*V}@Ljm0kcCM26-3+9)p3-d-F-f{{Sxi-LJPswSB!b)!1>hljgU{>)Yht43rdPbqA>GLpqNDMg1IT#&toDh0~2OWn_ zImLY(l1eb-eb7!x{XjjiLEw5C9X+odUdeA|Zl0eze1n=vyIrk)UfS!^N4ve3Lyc=< zGq@=|GtcxtUr)f)UP)Yl2iKl|KK%y=w@T|J(XJGI(nd4ReNTK0bJGJIiO)4a>C@){ zPq`rA9^)jAI&w$9(i{_geRoz?UcQ$asV%kdt*z6uvClLmx`U3Lc<<}=KTpD%ZH7HM z@t#jybB|wKir;G&UKt1{k%FZ4;2aKwjz%-zJmQeq%6Y)YKHzhlaC&3;oC*{c+rI1i zWA^ilOYU}V-MaaFx^8n%Zo{^7>PJsZ;B)>J0f6+{-Fl3l@#4BSwqei#oci_T;Co~1 z?N!}9Uc2<~`fc~40ifpu4B-9XGta-j z`OQXP86ykRu5;_gbI)E!Pg941|< zw^+fEjnCNRw=Fi$+&i$HBUs;PRbb{^?jQy7@q*7JWFtzfia{#LvD7m(YEooS<0EKY zg;xv04k^*f6F~UG<*5L!#aTahD+N19S1zHlIL<5BlW&&EZLN}fwY8p_E5AOL zJQsVUn(Eg@cJABVYS-nV(8H)QHu&u)LS>6^x4pTF7TSy>hs-wxZvH^4X`iE`*kemDS`jGKMZ+aXkIK1%40_Fc4kzUUU3J6h`M>&yCmH@3Dm8brE|BYPFavjq?l6pJ)*#>iu2iYa0~ zRjb7&8c0$d(kdOUN0}^%rCFH++s_!5SzVS#KxCRY!v_sDznY=Kut?5g+KUo64;)P% z2iqoO+;wX?S9vM^iy9kuaHn}@9Fo~8A9z(CDHyo01=loNS`#0{u|6lM$MKbf~_ z2*9b?xklhymMv2ot#4&@boBeb;k)al%Sk;pdU-u9Yu#(=(nnrAKXV*yyh7|wB#IcU zK)J*yk(G@EO(7D9-(wdgw@D#pW4e^OW}>1$D%I`MMspC37TX%Sh^JEky0}1Hyw**~ z3werNQA%#aUliKLP~7O35;SaBoueta%R2&&S=F+iDLa)|=1kS5@k?G7iZ~k82?|yu zncdu!<&IP+-5yhE9PSKd995}DznkgVb^Hd^)~fAof7fmLqWRHv1VtWX2xS9{t9?E= zkdyPt81n=vxWuAJ;*Q;#Lh}g>g;>*lD(&2qy0?etW#mSYy}h?0f`Bcl>fg+<$uu#7cWhVsVY{F$OigP?bg76Dzt zNXi`*kch)GKG|AD4$-$_Svxyvds%Pk)%>=1du?%cPj$CT+Sm2BZ9O!)Y0z)wLWr0V zu_|I{BaBG#4>My=EU~CYjv~^kv2|_pnAit*9}nL_AZvIoWL9J|2Dx?HD}Lrg^5VFV zc{3t!RBMO}uipkX1+FHKX6%!T>Ee($XDu`++nozas$t80>xv55-1*)P( zZ{!lFcTLOx04&38O_8{Zao!}2H)o65UG)pu{h8WOnk+wwbgf{*QJ{Ho44GN*6 zRnd^xqE2NkaHT$I()#JnBwszhbu0!pTXl)-&_^|;w3Z9Cki|1dCL?U$Yq(d5(c^_) z*X<8F#~gA6c&E5{OnzF;6p4`DyK_E|90CZ}SBhZeyy#|Fkpbc;9xpn5!J=UfLaRx) zaa?Xkt|HOeII(}J30baJ%9hq^rL>N0f)Px~8r;PvmpLXTMvOUl*s6+`D6d|+`Dtag zop!zb1i*RBg(H$fQ2VZSEOijv!eglGD|$;kUR8 z0?B=M3o1C43sGqyWEqKLA{kJZ3Pj34hF0fw(l}wB`ef3mk~#H%HDqZRMAmB1i5RWQ z7)_rLzaEeuLf6k1t}-?QhU90YRT!>ZCR=RX{TWMsQ(|vaGIM>sy zMh)G|#k?d=(cVXM8J*%wOl>#ma5u*j+D^MAX12J4$Y^}HZ0+RRq1(JIZ>(L36{KgL zduN(xz-E}v5*ypMcYihS?qafaHz3U!o9zPLNcZE@ZT?j^dfaFuW-At-XA?4v#T!K% z&g=IkK>}on&H@BpPJ;a|Vok!z}MM)CiLjW-+Re8lfqtccr%c zH(i?a^c9;)^E<0q-%Yz&F7{u4mW{hFmv1bVm$P}h6>Y6Ajj)O)bTdW+U*6lBc~To_ z^Fop#4rGnRleZQOD^K|K9dZ?PWqLakhMaVYcBq9Z~)NQWbTXuLnw2J0txVE;2-b=ZzC%3nXnzr^^ z7|*NN>t;zNb&hy-X1g-^Wg}Mdg}gE}(lZFsTjG}PMZ_?t*&+?CW2x9k%LTyFoFavj zevfMv*4a(8%?eF+W45+rk|^AyKVxy^1$pMRxRT!KYqj>bMQ)GHHNDblbZ9Sk%X?dA zrkiM$uWu{ALmGWP=0#MD-m*xnRt8NK{K(~yI;^&a`rRg3Bye?0WyH!Z?Y_`Jvy7M} zwhFM%dj#q?$b~-BWo0p%JFsMHc^2bUWI<}NHR3~SXo#~jOKEW=8|Cfnu5=`wcU|Zc zs@#k%?vte!%q=6^ysd3}r#x))8)lR2nu8HL&E*KKrZ(rUwbgV)j#az5@U5IE(UrT< zyf<*QPHCi*ySG)P()>H^w`8o;bXISf zzN@t8H%FBwn>FO6WwNv~9gy7{(PWQo>u&^*y~e9$HOvk590^MVdHZx@{xF_o`#FmLP}BxQ60)y}T!N#3oOkLpsFKHsyUe ze0}06AQ9W!_&UPh$pPilJRjj}O-U}EwJB^C>7nvWwifds5nDwX-GepFxSf>T z-J+7aYTdeglG5wu(z8a%L8P3oCDWzuyY$mUue*2c;jQ2u5Tw!{5e7-*@`v_@p<${- zA)e5i2WY1)aUUz?|J)*#g(vMcvCRmge5QYJE>rya-a_%5N#9Xrxtvt|brlriT`m znvJEiLp1F)vP~jPmp2o`c&i(UHqvhoYIk5>S?W4Y_uS} zhvCGRN|CJgsc&&_bM}FCzFTFvI+RydbHO8<%W3Vt%OhHd6YUpQ_st{l+P}hY1ICjW zd{N;SW9P#xT6s2+`7m4m0Hj<-MZM{T;%nx({lY^mip>nje56@EfuF+H^Mhq2@>;A6 z7Ac^yvys7xCz1jZ)pZ7OXtCQhyO^2pB`8Y5PnP*|cn;F%dP(AI>uadS$NtibL7ELc zuFP$91-dL2*ZGd&r~5~lbsV=MaMHnUv7~Bpww9eOd%e}Kqtz{Tx1(a^Tj-X~_twta zZ)>}1)we!=m*6*q?~!D<*E};kmp2|?*;B+ekcg(Y{{Ta{iXp9qOO>*C*7Ehxz$9R7 zV|eG4WKJ(o{gw0!#+mfnO*>KoDT7-q8a4FN-FcT2AQReMqT5A0AL$lJIs*2>Gdz(? za|*ZBa{M`kU12^T@asqzP328xWj5tWCXyIub-%c@iJ*~Tj>6nLC8A+H$+*0RIU1vQ zTTj#3?V-8wQYe6%m$bLHu#M*s$#V=7H`-vj)TMP#En}2PYPXiw_wNPW)MM>a?4Fl` zY1_88Yfn|%1cm6nfP8}hf`rrMtnYd^9thi(am??|=NUN(s*ky6V^j>_s- zZs%KRuI{yIVwx+F93?J{aV!uYIsWNMyrSdwN$}>P>@<6QO7N_a5A;iyjUz`vJbq;N zmQhIH@^I@VYcMRd5cp5|C$yLfF%MG$L;GTmI5*;8!6l&Z~Z z9mIK3dm3+9K|8&)eO0zAZb3*@T9p$WGdx&okR9Q@%5{+S!$Y1?29jw_Uqo zSk?&Qby+g?+=WLWggTFUN0w<1DgXSa4(oHTNkNAl%U8>nzaaTad&jCjrRfMR8SP(-gAc7ckj%bMF2O)Z#bo_q+2P9_$zcu{}-26X=>f38v z+)Wb3?q5{W3u%~TxVpEvX$qJST?p<%O?bA-+iorZXd?SNdCsTsOTu^Zi2nfL8PPAK zS)-O2E_@xKTo$=$8r<0jmf2^!xAQi#tPdsbpwL6LESl%+!hWdUyvgmat(BdZ;lBPx zvCXXQDoSFAr)i+wH!{@ZR`)?1#&1n5RusOTH4%EV8>68k9Ei$7viQNkDCj=C}U< zvi|_Wsl~mkct1)F1?|K)lj%CYiW60lngzADfnrTcdm(6&$M&VTgGrtK*7q>YeRXRR z%3_TD7V($`|c^92$fQilb{A`+K_^StB=36fH0cfICTotCp9B zsnR`nySBFP>!+7jt+bA5g?GE0SNEddWur~2FI&CO&(02b?cIl8UfKFl&rJTjXY5&|)fIUCHL(&GLl!aA~mNh2!TWGJuY8qe(S@heHe z{?60y0~ZLkI;E779kTfix+x@zRK$ZDWJGPOyl&hUB|@ZAZW8Rfr={<{n(m*^s@^!< zJnYq2r1rj#Wx9KA?)KYV&k3TvA5r*4@h3__E$@Q-MI22hlqFp<;%JMOC=^LtlT8Gi(ilVo2s;> zs+?MWYp$QEnMF(^a1LW{#1YfioN=C+9D)uAsF)QvAdjfW*Vd=M_5FSYsV3S^{+4~a zdauw*D58Od6j4A06j4A0C?s_M06*dQQc*w?Tio1QOqUk3%WXVlnCF5=hG@wJNsd_A zT?tZDm0(CDcdaYG5bO8qR{LDl?^U-JTfIv5;ZE$*El1T%8k7k~=%Qx$SKxN#?VL2`=uMZf1&hUAEiE9AesS zE2nhrs&=-YCfBBcMHEmlqMzlt=#G7UQ~vJCv`$uCxsUW&RbE-{i7c>@f?Jo^lh_~M>4>ASo`{shPH;SCpE*1LI` zy405SBEDvQ6|S0E9C?>W3D5epFUETpXu&w-k3u=?R})RsLjfe$Qg^`eVh67o9(O`H zJBzal=TeV@v`G zGBPLx5H2X=mpUHloKIx=<3DQH4?Y|RUU67f3eHO|qRoob< zRK3)mTZuY!8ZaZd2OxT$kMQ5&=8Gg!TWIz-ld7p%d_d;$-)>21BD=U-43bexCYq`k zk{1IN!^PseVi#npu3J82ZdyT=2uy?pExQ;c*?<6J891^v_!u3RkR!Qf0oOL=m}QRk z`S+ZFLWV1`NpfyA;Z>aZGi`0i#O*$8vEVk~ahKXQ;I1)KL#|3U zZI0y`(L;zPg~1GYQL&kKDs0-tnScPD#}(5VQ?yn({x*x zQo1ZqOC*sHkz8Iu8i^NRWLIZrJCDu0N6G_|qn`~X1BgDZIpDBbdvLN_~a zRwr=DqfzjehOJ{W#Wu6%GP}xcp3YlXo;cUb3|N;`nZMPCmO~&yQS#eQA*XnvBts+L zU%=@jJSx{#LODFld0t+r2B+f5hXj&@xJ(M~P( zYpYW+VutqH1G5h?(8Qs(=0sRlU~`EiQS(-7cxQX=O?u2kGSBAQ-J>XI%La8sa-oWx z2a!kw94E>TdOS^VVU;76!ecM*)>d11XSj`7$lbH-@_Ece36Cmm#am?IfMFuv#O0l? ztyM&gBU`P#%(o3+SQjoR+_ zPTe%Olhes={SQ9>0E9mA$C(D9ZpyN3ZQ}3Cj1WFXbxV}p$Y89ha7K6_n-=~J*J6=l z`z@{ONWci-y0;SH`3DlkAKm#GnXq=aQI;65PLAV9LS||268Yv|D&jkGmcBzB%pTrI zFJzWngp7u>g;n2c?panwzIAw&S{SC#=4O>vGd`5BCBF3`W{AmeZ*H>*2y2yFb&&Y)Wn!Wn{%ja(-yS}2b*6Cff^V#X5(RKWK+l#mGuZN&Qb=W*W_bM7w4WQB_ zvQZj-@cp1&iJmavZD9*31da*ilG^w(!sSh#mv&^KXq$DH&y$qCBhfF;_cO zhB1SZdK>6<7G|Ac&~8!P!^fsw!uL3aAqq^!E5gX`KxY>6Oy!gxE+;`;<E9SjT?fxts2ogrM{`{uHILDTHOPZPSJ{1v%UA# zYuPW8+p*8<65dO4?PCSKtTHl-O9*C3RaiC;m?c?Vi{XgGsGCSp(>0WAwP~3xZ+tT) z^il>J?d>Oyd3GJmBt{_U#N_hFI75tao{=tKja6fPVkX}EBaZGiO{fBuM3Pk?I}!pm z#suf(U`1bsc0`RowI_yM?oeFY$UKw}CQ+ufzhzc*K+EzC$9rV3s!cuO_Dbz~Ztb@J z0GO1vZd>lOz4X<)ZP)SgTub;cy1K5BtlN>hXp+w8k^l_Ir)sEVE~I6C=q0-3VBB~n z^-sxZe(S?4v@epGU!9UgjIYc{E4+{5&uaFYyLn{{(s+i}Rz!DM5w&R2IM9S8n-90l zQqiO3k-k}_+{ z;1Esg1k^2M-1>4{?M;MFX}l8rM&!G0C5SyggafoQ5nhQlpRGW52WzBdU|ty-a3Ky{ z63aNZS!DAI#ysJIpfTQXxwAns?fv|bfaQ^8c@k3+Wy36yOFGEP#IXhh#tLCuklL53 zy3w`eYuzs0^}nssx^2gM>2|f(t=E4?eKpkPZe)A&9CK*a@GL+EcbEvHVOz1p?HN5!67NRqMCT(E<(8lT3I~3tL3XW0VG}iY4Zu( z0HUpSyL`P?n|1r&le zwGQwKZGRd_#Ii>uPUT-AFbG91xcPuN0OX+E$!MqRYbN{KRJZlNZA(&)nya_+ z>C?Zj+}X;#owQG};rWYx?c+z=yEqC)cL9JIzHa>nIUh`s{(FDjo)xlsGvtLkz}wiI zs{$Bv*19W^rxe{St>fgV4d$uH-0G!cj#A~YxY@o(LZRFgDuW_9ZKGl$Y0^M(^UV?3 zfG`s>vdO$|hDNE8jW!bB+h6tk!Zy8sgq# za0(V1U}bXH3d+b8i2$QIjIrDf;gtfM(P`4KSr+EpsTeVc2F4}Hb`L5{Vq$?;_rM;6 zhR#bXbx%$9>8`%F->+bjPgf+h>whm)^t#m^Zjea<8{tEhISw`w-0}ejBZ6G>$m%=a z786c^;hPvQRnC=+d|Kz9<`VV-!|k~SOv0CobRl?bdym#O5-GkLb%#FCz4J<1oSv3jxdJS-NNmRDQ;Dh?)AXS0>e23kUc@b$j{{Ir(Y`r+AUVJ-e1%EN&MIkh#DCO5l=CLu6#A zJpyre>b36tn^wPHmrVqvex8r3^S1WeeXett76=sXVxSykGcoUfb9lClJ zwOX}*ExLNUSmIj8DhUS%sTfiT9I4KD>F<&~4MJ=NKm-QqlBE0K5svxe1CFDSpFwMT zA1nzhT1zxI8{L-~3^R|E;I7bDu+B(sr|D4RqfKeo z@aywHxtqF{nsl?-KHoF+1X~6|&WCAbPmJg&`2Z`^I?%GQieHL z5_mguK}OrbKPXgNm&REHy+jil}Xg=6xa zxFwjjcmTcaYg_N?v|9S>t*xm(&R5l1-CB0}J$L*2mE*CA!pS5d*J{XCBH^V8@}}{; z<#V`zrCXuvkyj%STV+zpXH&Ei$-Jo`oQ08_AQmj&-UU8vhAmqQ8mh+3Bm}9!avW{- z8$y$~kO0AKoQxb=i&2A5Wow<%1v}N47Gve2wQaTAi7k_f><*k@*|E$$-#-+<^Z#*fB;{YfI-POVbiYF%$By!NNF2u zNxKZJSPlFP9ogHHg~1K;5^6t*?8XAx6jO#qbVXoS=OYTLR5KC5&PLytIW)%ceaIVD z-HdzA-dQ-uma1@0Q~(<%f^(in5zf~|ZoNHvjYi${*JitKe@#>G(AqqdV~i#Rx5_U-JYb@?U#8G7mAD8D)`7Y{Y!|RXJBaUQveF&~T#%fuF~>cd^L| zTOunnI08bLaM&D%IKlup&Or>UbH*R`rRCFad%09OB!euB0cF@h%8%Wi$`4|9a%rlI zv|gGe>+83tP__H%uigDG>AU+J+MbmgNNyvyhDM0TFj>aObSHBd&S4A}l^X%z5Kaa% zrSUI@RCy^Bqsx&*ax}Z+Wn{?>3_(zUFrq>;g-}@RT=`<#$nNqipJ>y=0ADN!OSl={;`s`?d0G zboSJhPETn&Y^{IzWp6fmCZDQklCnJP@8+-X7anYdaLpNvNrZ*sWiCf2Erns6p3=_q z!|_ zq3q^73Hc(Gx4rITorgbb)7lz>So=Cd<~ z0hTmjl_84%01*L~ek8n@Zne0Oo)Cj{Ssf!$7>F#9vH3~g$Z_)$7%#{sbrz{LB%Zc+ zvwXKs+TZYhiKHpMUw3=!X5Ve}>bKh7yJX#H%^H+~^5PIeN#)1(g@M{5<;bgUE*Tay zCvkn?U~bw}m2POoK1czlkPyar)U0F{F-{-JlpT+>AyOHM--1wqS{FVdy@W+Cn+)?i z1Y;ZSFB!=V&=53F zXQJBME~@%`ot^L4T(?TvwRP3KmiE%$ui>itMv!4yP37Qq^Eazs#u8SRJe7rvZ8E?} z3y(EqU88FOm26irTE1+quF@w+;*vyI-Pnzp^DY^KN%s;p5*&~|LaVh~rnK;Nv@-ty zq+Q%xCf_)I?6XM3s)$QFFbAqD89+xwjVCSIK2pk^+wq!j>cCb|8TJ zfDg4o{DpvOcGW$s_tjq8X|1~J`V-41Ca-0q)m`-IZkzgRz0Woa1hSz%MAE#luFI7( zKFHabw=^mpLa+{o86%Jf7%}7e-ggV&dTYnG+&C{Z{f$po7J0NFOTvl#?!XCaU)sM=#u zxXHA#fO5H0xQrD%f^xL4u9ml5_S0KgB>i>i>q?Tn?4PF3{Jm{`>_uq}^|Ww^0wOxM zn#{R$l*m<7r`o>Hu(KJqv|B+Dx0Z3vibt$EM26;QVscErOwq?4QA|&|-UgU6nATuS zk;cr7SeYG}n>kYA$UHGi2`=-oK+Bj3B2}_43o1ji%t@o%tlNoxP0I_5MVz*uu3W%3>|qw7BlA4C%yNk0^VEpt zjev7;Jg?>eR3f-h$DIuW!VaY}ISC?d26lbK22H|!k%P6KHDyzm$zsN?h$MwPscz<; z*>^NZw(*%&R5n^hY_{UX5apQc03s;^6z=uyW!Fn>_x}KxtokjwTj#EwZ~ZGCkqz|W zVz(DMq;dH>Cl+@$mN4C?nvklsvRTa%Bx@dJxRgjGnT(Q>uZMi{E$jWM^?gD02;>1; z=1W%cuC2}_WG`V9%_$5Dv~$F)qhrW0Gv%?~Ybf!gTC9kyhBBrg861)eGe{V=)gW$X z!73Rr>RzwFZsRbm)}wPfEQ;>p;!`k@@?v;^QlK-ehs(zH+@+i-2(q+y+V|T2U+`}1 zx**o~*6-H({{Wwt>UVcK?}@EmJ5<+H8))MR6|^v0Dx(1uYbW+}7RhkU6H3LVn(9cW zm7ScijjJYYcgAzfu-#ok?(;&SuVbF*yT-`7(frxu3SyJ}YY_fqe=|CiQ&!&dNn+pH z4LNw@GeaPGBo8BHmKMt^sZGoXU~mXka5pPRx{jK%1%R@w>n8!FW-TyOVij10Xn@?J zNeE@eNFnG=ZK77bx7BHO`q{qzZ4E+B$>^Kvnp>{ER`O5C>TIt~&y)SBCx+T)3T69k zjOwp9nyo+2Ycyspf;IBf%Z@$4zjRAss@!;cMVrf(&TT&4Symx#z%97^X7me zt1MSCxww%VW3sv?c)9KaD@ON5NZsa)IJaaw2I)MuRKxs^LwSXOC4%M7aZX$PMhpn= z(a8&LLq%{ENMc=N-67o%&Jj{VtFfI`w{9kRlG&?nl3H}x-rC!uYv-Y&gpyWzCb~OY zYhSm^bFG)dH@4v#1=8d($r`1#t>wC)GDuZ|DYu?j%xaL761=ara~zw9R;=0V?(N+~ zQ7mJ67HH+3Ng|q6bdez{@~e+IiW8@P_^VcSpykjZL;}+_b~xX z(V{p_s`3SLimK;~9s6BM_VP5hy`OYz=BkF4d)@N9XChB5s6|--kx629;hINc;*yfm z?(b{uy}dN~J-P=hp4Yqkwp~(MX>EOX-h%7LfYRLkpe3kB7uRhIPaKl(m8{-Xb!Cve zk>>e6&a7mCAXYo3i^RSlM|+4Z_OL!wGef7rD2b;<69Ctsh}iD)1;k(wP_%8hw5O}J zWN70r4xf6Hc|}@C7{1+-M(D^@5)=|kBdL{HuyWH97*^rdZ4+(1-LmbBtO7elK#smr zOXb8PY(p6NKyUSdq#@mgKz!-xZ7tr{`_j_;`6uWvXD+*IWv=etT5i8B&Su+P)uk)v z9YQCGUk?SSg6df!+bnZ$mf>M|<(GW3G;MP>p&Le*rc?{Gy1&$A9b=Lwki5hDJ_~!e z(TsN)oX%$2eCPwgEEg8#CbhRNL?DLTnAmCztsE?>v8L6T%I;W;IfYc2Wole9&BMc%m(FGhG;Gfy zn{$VfAu)LDog^(n1A0ja*xGGVt*chF zm11Q~?=Xp{NdwLWwX~NI$8S0Eg07cPS$T+C{XXjI?mKY+ zmSz4Mo6&OOLX5@cGMOBJ09b3?TjA!5q=dw%On+y#-72D(<5X2Bl1BJs{*8avCkcD^}hP-`E|XT zZ983U@(*I~?_XZ6HQQ9Jy{)6^x=P2EMW!pIxwX_*Ij&+!Qi<7{zTK@hfk zh*sPcXN6Fg%DEwdCav#>Bh%O|&X=jA_9-i^we8iszi4(_xZdRq(tV;Ixe=WhCByl< z6UxfSeO_Mz>9$L{(@@k5&Nl+)7;<)q=0-@`MFGYe%y%y+05fAOE0}dl7$bt#`|ScH zkqmMbf*AH9H?Lxl|HjQjKQvzZrWK&&m+V) z+-+1um8OWR82siKlXPHi$Crgv5Pxp8B)eOHidmj0?xiTr1Z)cVg@=|V-R1(UXJ>Lt zznFH{w2SL)F4p~@UZ1C(jNK_;YySY?O7^!+K7H3q*z;NZ2`H74Jv&iPCN!7KR*}GK zS>}=!m(6RndzJy^kUioAUzcKS5?o|IfG;4Cl>MIhl&Z-S!!^uSlE*LFWH&ICSR}dK zA&sF$eags5SHst--gvq#@FPt$$IOO8@|j8FV#h1Tx#KT077ZzqITy?lsY2nG7;BIz zi2a(~klZ3k4Xwn3%$7Eg`TLk{8EG>JPbo}^9`lJD1l2cdTjaF1*Vjb4ecD>Z#uAV7 zZK~I2Yb$os%KreLlwJHI(ls=eOZ^u?xsl=*Z)S9xTdA%J+)3s_i#?o=5|l5tG+7t- zE@1%31LF_bpW)u4F}QDrdJW`L%(6AS+FR+(v64XW69v|je6nwjQxhz4MDid%yh4iJ z?LUfb?aHOS)!Il>NFq=?TE!86W?N=t=p+m^HTRMXR!b$u<`-cH@RTgy!&Dv~3QzZ4%rI`u0_25Pu)x6twMj?$9EBq zJ+fi^>oXvQfRQ9*oe>1if>v0v(vYlMqb}T9o%Qmey1tfKWq+P!YnH^a#t~TglPSs~ zvN4k?%JCA!F{SLOwQEzp?MtT4`|H}zOW)0x98Gnit5Q2}DJ|{Q^wE0nXLf#F>%XwB zg>7p+^d2>zO_A>!-rGu_O4TkB6==ajHnR4s6tXO$T*5421`ByzZXalo{M%CfhkRKR zT#X;b8a}4h>3b_ebnQ+y5!m?xR(WEIWllOq+3q>6Xl%28$^ zBnV&*-zzXyaGRUop_H7S@JTia_^ma}9^@Q{DC4TMVD(BWD@O5osU6~kTr&;I}y>`==;fpw>d z5F@?4Bnc$peDFVXs96taKqqr4Kei3|7W>ilAc(O)z2!bsR{!Pu67zH38kWqmd z9FL}db?@x_Gj`F%bK#piDSvk&UBw8N=pr8bl?xXE`zkY~t|ruVpza+S*_K2Y$Z2 zjboT%SH(eVYiRYoyFXv+Q}B-Sz&<$B!TWE6{7-9!+I;;BQjZOQcDCzaRN#UE0FXf( zS2I1W)vL5uR@2)^rwttN$qT6+LnMl<2=pKt{qno;b^K@;Tx3Kj8lDNK2hoP)_~J_~D=2T{4wHIgNB8eCW#$flNE{%O34E@o>;;U?dA z%0Ut`09dY6@X?R_yt3}%-)|*+dnI{u+2kP?fy>&mFy%lp~RVDHJaDP`CQnWL0a1xMmKf zHzmL{X814gW_bfk@Rv{1qL4d_d2Y;8I;F8jk1FZqI)Y~mskO+Ag<^1W_9?qYq+0Id zDE<0BKKpbvS%!_v4>+Z*`J(jiWUt>#bUz#Duh;v}+4J^$Fhg-aghiV?ivTfdI*eqO z@}f=f{kv}xumWE#11V+$F%l`Ja|~KBx0EWcr`X*XTa6 z`!4)0Se31H{{RzOPQ!N1*0)in*p#w4Yc*o!&QOUqvgZS!t`h$M_E^#|CDXiZc(E6d zGF@oV%OWTQ$Ci%v+yca7=1-dk01?i9&G(M|+P|KwZ}>g5+BnKm-A+H^gV$}W-*ww_ z<6kkyM{)lE0zczNnJ4`8fBWsf#=fAx{h75WkpBQ@_?pV?%Bx4_+j#;*w=yVHx}AZK zAh8>`KD<{GsC)alz(?N@-t4yrmz?_kSyw z97PGQi7WJ!T75b-w$}9WJYZZ-qXJn!@1lQGlTZ6)$o~MA&-v&1=Dh;r;V+LNZL#Qc zU7kPV(p!1*NX`IBN#l&<05UU*p)bQ9h)}NSJQ?CGoc!sf+{&DF`Qk@Yj`%!xtob_f z@8$mh0JSPIdOB^t@ZJ8WC^ZX$Fw%3t$yFrt-0jb|CY*H%d+cMJkzz7?li ze7!urKXtQt^Tu|C)*`cqnMr{C+}zxAOH3mubN-{JK0>1{qsL#ItbWZ+2Zae@28 zoDO)v9{!-@@#`SfZh<4sZ%l@Kk&<~O&Tvnr2pHrXS2QJ%4oh*s1*^b=%6_pLeF+t!8HMQFqcV{{Zkd-rHNxu9iCZwVR>;04-Razu3RYxe1w8_w(@r51wWN}XnGV`=Bm z@P9w@YSmeRt$1O zFl?3JAHAKce;CXRhhPAZ>LY1lb#N4BNejO48!ffBFgt)?F`p?`VnN&PGJhYg5BSx% z=5fYbj1U!w;d9gi4}QO&0M?5T^uFrW?WMf`07IUp1`7PH-*%fV?%nkHeaE(1c-mA7 z8fhfubG?PfmKi`ICY~}Q0FE|o0P+W>^}mj%Tr_tR?{^`Lg4#Hce8@v0#ff~y%M&j0 zOBTq$uLWC)cJ29@a7GxGJx@9GEO_Ig;|8?hyJL;Zx1ItfI&D%LB;XJ~iy7;T16>fW z2_&1emd?+6ubN%_lfJgU4O$f-uA6G=+Ak}8&wXD_cRq}@@yjmJ=B#BhSi)nOSYSq^ z!-ygv1<6$b$s45e1CVtS#f*4qt{z3)v9m(agouLTOK~Gh6jA_~4-8@d0CqM=90K1t z!*?JmRE!2(##J&lfEkG6B=qM51x5gn+30QWXI>P|86%C-`9v&xfQ%yL0uaRVs>I+2 z88x(Ox4TVx%gbkfzx=La$$ee!*19F<)5`t#x$jVTf+i~FfJ#v^nBOJ-oM&gcxnctU0~B04grS24)uZ!maD zUr)6nSDHZ3xNjw-P-K!tLXO{Qz(orhs<_y}N*2e=y7pJI5Qn=88fDLu$Ik zByq-)xB^C5yyhs5Si2ToBRKA!k3{W$irs#8*4r+&6(^(^im`Sgh_? zNC9Mq?BRg|2aVs%VQh^lO}=Sx;f^vvA@jdSqgHn7*Iy^C$#If;rtSEB&rX|Z+f7el zTlSq3?N-vkZ!03qrVFAJ`KDM%lJ57(Sn$%cj*TGl)OA%m=7u{9nA^$n=lLQm(Y#T| z=SblIlg>dB0}9E#gn`{+{o6=6Z!ld#7}_#hQjS2y8dztu5=k7MTs)W}d8L(rk!{41 zxSAIzSvX<6Z>y_>HgibM*1Sn8+RG%^X4@Q+8$UK76}w2Ib;))tvU!T(0$P)`-m7Q6 zsanmY<>h_0S7h=#?Y{e2-K$+L*7&F<729X~f@Vmf}#7h#wN%N{ZMqG-Z}HlZA_2lRHw@ zd00##X{`M8x0WdYm7Ge`UOcLaDm2d4z|ZB(WRVb%mtogXq$It`Vv_u<*K>#_omWqNrsZ%D58Lv*@{PPFqR8RpUje36{0r}m}G^4XJ(E%(k`8A=9#~1$P6N+;he4wajY~NN$|TBS|fV^~rW0XBSe<3?du2n8zr4 zhFo08lBoM+&>4@DVhQxihD&pFV^Jf|2Hq zhusyaHj=VSeRpXsc6ZxdFV)#~A2!cz8_{`Q+S#b}(O%=`(zK~a-Fu0o+YpGuV+FKR zHc{B5dW=3_l`ro@w5`2-q?WPP%T}+gme<+eUzer4>U};|UCz?wq##8d$d_!>qle)O%!sTNS){XIoNr?@ zx5GcUVgSyM5UEk3j&Xo zLZ}M?8yKLul_WB}O&ewc3nR0!%w$uZJ%Nl?`kl(Lk`jjHnFiE%k)j*tKf5g}NQQLX zfB@RLZr$1AO>1y}&(?gOPOBLL(-^S1ThAkhGP9c(4L{iNDe%QpO*h6t3g(Pt0QQd02nr^k(}~ z`L7v`+ywJrk)k1gc}(0e$O;!WQ{;&mLWWm<=O~B!qF`Rgk1TF=3YY^ zN`Qg{l3uK$Cqo?Z&*euXl88wXZ}Q`5-+r6j^!I%CZ@!&2MDojPKK6cg{{Vr1#JrY1 zC%(Y8g62nu{TOVKSp-e?u`r%1c%C_* zD>Qy=Mr&>A%2#B!1%si^*!Bw0n&n82R*B1-mD((?CPWacmPp}}TU*&7o(EP@aV%vF zOiJ-C1tz?SmOR+8k|&N9^RBO&{UVW8aXha8xrnmJ#Zq{pwauC-c$L+h-IM6{(QRd> zmb&l0%KGdl7uo&ZNR!Ldtm9bcTPaW|kbR=dbbDfz!=E}dn{Z-JmZs$J3%aS|k}XR1 z$$!s)1DQ8)wNAv?vy5m&#eCEi8aQ z&m<;rv&S^52z$6=QnJL#vkVHV$pa=MXm`p;aBU}vV`%{0B!)ae=f>zHSsKzc;E=K@ zWiZrNe(z1MZSM44mwnqbijzsGU8kdJ_O+T$`ghx|`s!)w{v*`y;f4$SGeXfVttNJX zbgvJ=VC+^hn{KaTK{d>SZqORx)VjCb4h?d~;xuF?SSDf)=-$qC-T;uZ555`jRh5IJ zZIX&ys}<-ZlG-TtLwTz0CFGXY9Z6mjD#Wa0SP~G+Z1Uvqn$g?TBAlc7r;9L(d?H?>1%4X)h#xCe8%~#tebvH>!sG$)wSp5 zWVNW4LJa7Qmrz8hZn=$^x){pJ(XyR@Z;+B3_;52&>GHlFIg2!ffKfQWL>r{@9ivoI zgLqM#yK(^sBW8UvUDRAr%?gA1qCSu=65^ix?P>vr8?~ zPb;M3%)GQFFDf%`@r&poicxtOl5(JtYJf#6$n0be|BX&z1?I70Q*sYyp47V)F5<3L9wVb&_@`Ey5D#DXRwo7&~%Ge5U*)^RsEdvP> zJFzG$8?>@-R?A3@@;m`SP{`%>tZlVVmvewjx0mPl50+1(v(f1KSuHx+>fK7y z!6b+bk;YLn?<7kba#wRHD{uGXp2#T=6r`M~z>V2}$-qS|f)Fth4CPAl zz?$eV%e!Ks%E^#om0UOoLrjr5w?1o(tF(!gWdVDdu3WJF#7bSa08qpTcG&8MJEX02S|Ny}RnZ=3z-_ep2bQ0zs5E42(Bt1eV)?6czi& zAdCaecC(4&ELls84W>s96o7aeMtLogM?vXZaw0~gmCF{!6gg8M2Xhafr?%{mRa&6~vUFZ2e-pBhm&fTB8lc2-q z#%9JK9v%>g2lxZ+j)JZN-~QiTe@^oMb_U?+-4>AWUOo^Xh?nOyXpb-tuQ1PUI|u^w zlmFl62K~<$&mLYregW{_eftjpJ5(M9?cw3&-NVPr&(FsP>>Uei2k{B>A33FZSwO`4 z7Wj0qs9M~s_j_fod~Q8z)3+k4emmsRzWrjy#E+jib5>4X;hcu%#YTPGBz#nztuV3hcu<(e;D0uwiCr=apewLV$`Z_KB&D(bwIk|cH1-QbZ z4`t;Ql~vU>wRKlLiKd$Ulcirlu(~v%jfxwE5Mw^$o`67IT~R$1Wbg z&i}mrZP@>2moQ-09zH%^KJXvAc=kj9jaQhD|CFl0k;~TLTfriy)#CPwUU~KYbL&1C zb(@u=w?q2&i^*zComu^3+P^IOzccL7|0m1-%dr2pYXo$Vmj`%wyuu(TXcq)!$>%)W z{|{(q_N&gvMsdKw8}yO4Dpsll3YN2%!pL_ZfFPl4mJqkOQT=7?SCD08EWbwKFJ12{ zp>0B`4&p9mpUkU76@Bom;a*X=&^m)Sd(8`!b=P3y#HcJfMt>Ro-=jcQ2&MmgINUC?}!b5*? z!RrMzG)&}jJVz%v7Euw{abFc1v&!5BsU}{YkCNO45ku6mRKtzR^pYh;Woe!B&bAz4 zn%^e4y15$Gjc=xzi}2ktasSCSF;piHgfIAAHcDMpQVvwjsT!(eZ= z&&-|e`GZ<`N;8--m?jxgqB1lOowwnI)&LmGS&xUw@ z9$5MTTb<=C5w^%&wYU+gnV+6cD^1@8o#8mQgiU8whGykLFI(lLqp6loa?~ZUnkHtrt2f{*`Y8Ji-bUr2&{cBMK`GryRv1U& zF=$L*e-|X=J_8?M9Duw<3ks2OkT;^!qk){Non|~UINvL<{h^>1?s`_mP|j0-ajNK}gE4NpDhovaV-h#WI~d=)4PhD-v)$zqhJ4V_I2H&*>7>zy1-5SP@~-rUHe|3V<~r16x9vHDXp(P5$^0t&BFjQ9YSeAq8ro&>lw7h?0#afn$CbFJlbl$iKWte^FVax`QjBBvb)B zNqCe_N}5$*a2uK@cR>z{>09Mx!%8fA0D>{${&$kJ#7!RbD)WBi%=K^kz`PGbw~RqV zJaSFD2-=yiwIGD3(Svi~9If~D4|YLu^!lAt1=;39>}EXu%4wC{bNgEEy@c-B%LhSR zCNu@}co=FkxQ09|2HkOQhjx!K0yD^)94Y-^ejgpvz}N*DRHO!l)mg@N?Sh_9upduj zk!zzt^{X;psN%;v;7CTHuF3W0{0rc94xD6q8=eFYrK34WqWOC*dTfM+Ro5sTkvXAhgk_{DjnC?2cabDn5cYC z;+$S~PNF>MAJFy~>G3R?%)yw5SRIiw#@Vbw>A3m(FoPO8%K83128F(iUC9Pp8=YdS zb7N7ZLZ3B26@pC|>U$QP6&qQw)Y>W;j3OJLz1hALyeAp2|KZL;lV5jz;||g#&@O^T zMT{Zw{WBlzsNxVD0;*$tPpUnfqfTTZui0$y`bcnj*<8q^)348bli`~b_LihSq`sPg zq(%AMGvBuazM><@ZNQk|fxDl0866V3%tT_pq{lmb)eLXEw9t5Ar)kPa^t!KjNm$u7 zfRjpNUlN}+#`b7SJd9;AWO%FewS8nU+tlV#WDnSV%tu&X>b3Rd4~Y(Nyb^>l!TNj} zopeMCKsc!T!!U8S@8g>QtdLT_O3Qjnc0l*{A1y)OZ{Wc z8_QeEzuw73RCkT~1|0hUF*<9wq@Cw5h8esVy|J{h#;rf1lPI4zSj{8!iD*y*^lFNn z_>iGrTO@&LzsW^%bFcAgL8$D+q5WN~8(b`D7o;MxfeY6|^9*=Pnzi=mBb^Zfzg8z+ zk@Q$$pwxL)>zNIr6q}oXT3NKqTJG;@xiB3$r~k)A_dJo44rV52Arct4WVlp(DjE~o zO4!h*F%Dg$YESMF0`QhZqb*-C?>6dVa~IiL8%ky&3#CB)TH>Qnv@LMM$ZW*t;N)HSNOA zri_Tj9Utz>VNbmz)cTS_9sqif@5oo?JlX`@HlfM1pm_|MuzvKfM(r$?Ta@oEh$rZ? zaiV-_eCI!bj{NDPoO^r{!ilXq%3dFOc{BB)J_pv^%WXvDyfg%DKwg|x8wRhjPbP(H zQ?;ngTG`+}BT*ia*r}hM*!Oap%2dqd#d)pG(;00^EMzJZPKu*$bD`ZMsb(V_DNG%* z&83j+MTWV>Y%(NZAa98~cXmM$GQ4q%re=B>u>7Owj8SB#u54A~LR!j;s0~GJ)leqHf5^}2Y%G&kw+aWmB@p_bQ<*d2Uo9@@x%hjK%a%Ft zB`M4VmCfN7wKn{cGad_`)@Dc1Z88%0UcDmYx3#ttw26qH+0QtcQQU`ajYwr~v&Q?M z2+3{YIxav`1@6sWPg*DAT%(QclAEc(T)BM6%#X|Au3bJ0M+G)hdDp+{Nlk8Oo=Daf zr>^S%t-ZLo2$R(2K#9!jikJH88RcGa-@pU=o&Ppa5i-=*<|1A%QlvQAQe*H9;=qul z0Xdcgrv)I1m)9CK8aMq}B1MKkdNNpV6*$CZz2YE9ABLC| zG-#e7-52s8HHR1^NbJ~xa^kn)Hh1<2nCKVsEq;(Nlja@8ZL<~RbK>s|rl&V`5xcts zB7hHUJE~udP?VJYHdK6fUJ@Z6pf% zC$!m{jV9C3H#PZV>GTehUWj{cJaIDC_w{vtREg-r_?8VyQt;xUg(3f0aCUyqL#bj6 z3?Meb9HUd>GI(3YQ360n~%8V zaiUWI$2QA_OS8Nm&rJHUgdc^AovuGaCU#ZEr3Uq0Y|#=0thBAZ=h9X<*eNo-6_HGt7X^(zc)t z3cx)mMZV{TomAxm=>WW}9P7Rdda6!t*3#H#rmyJ|6;w3_6>30(45wgHSa-N!v-x#Z zE|R#tRT%$jnIJWgPYi_0a1;$pn2qDpz-sU}+4E}ARCm5U@Riv;NjMp?&?oYIy zcnNOyXe(k(r^NdNj1bukj}qmx-*@dJLa3t?+Xy>OZAbLMFz#DAll$O8J6ahx;Iv06Pp4Ddvz_b%_ z8cDX`7W57ypya7}Er|yJS?O%;Q0;-HBQN$D!%EEhs~p+%@{uA6=FPJMy#F+st8YrvWgrP_2FZ3ILvG+aWCACU@nZ!nN>?%*rc;d-W_wlA(kn^Faioj85 zGi$+&k@L3XRXiEMS_YHGB+Z@hExGvbr+3SQi3Ec4A~+I@r_)IJd{hZfUWhXkPY1YP z+<|w?m79aHV;&i!IpK9jfTvyN1(D}NKwez65olTN-4b7dudm16hsB`n9vo%_o7Ix96N*eEuwg>qb+wLz6Dq8c=W<;xT;$CL0)`poGhB%?8!p-nB} zogF7SdXa)GVm>xBSy=syZHAJQR%rm*e>pfwsUf(-QKShRzM(Cf)(b>b`tlJp<~z;1 zH`BrUHi2hlMUDH^1q{=8H01lYedznaSD=y5&78xEi3*CBptjGuWK6YCL{6hsRJt zgihkc#D1d`ASx~esuF&~(a|CLjS5{S=XBwl6dJ)w-Mr;yXi~HY#|lif=OEpXQyhV; zI=T5$RV$%e=+HPiiAJv3+zJpq=#8d~mIyqfg*9a;;fF6)xb1jYx_=OWZL^{7&=Y$J z_YnyiD~967Wk?dq(VGOyE@;UAaBy5Q05k>zhqN!1TM*Z|&BhloA45Ckl0%}AsB1{Z z+Hu3<)8(nIo#7Ky>TL5ymmK})di=&r#J8E)NCNdha;$nhArOwha{S(4g8@aPlF?(z zUhga%E!A2ity4zjwrx-@O(@G9|IzEJJ~@etdiVbULEnD`rbTuKdE>Cz99?byB6Z}m@64-!No;OKMQHt=Xm5#D|)Fg`vSrJJBINDhZDz@88k-`?x=AV1SvUT+a zg&;lf0L>{OicWo#nv7Ux@tBH>pwev>6TD~eB8g;NU zIFr8%f~f#@3M`E-Juq@(-FPBuZTj;+qgml{M=&>*+mxVZV^i1(+{?+-pF%Oc2f{dr zzp(0p@nFECRZ}KNxSD+MXL0=~0@NLyA+W?`_aLRTp=o?akVIIZmH`*T;SGowY*c>m z#viX3bZ2XvQkavtpZBZAMJttP#&Yt6ho5aPFdVukNWBBnldH=E0Of)T!S|(>1CdOe zzNlb4i^2BE{+FT!4AU%mSt%%y!7h@|ein3ej86S9(aiW2EkYo%;USSSD|*q_FaRdK_FMPRZ^BLx*0gOhyZ*lH}q@khn=yPkF>_nG1ZQe7Ll+nlUuo zxLM608O=5|68cPa1#7_i(f7^r3!j%eSClqhqOTpUPu5w{MZ#>Lu>Oap0J1~5_%&5C zBmc;z5qba=q9S|S6r3$XLhphuld$^11&fAzX*<-ppAm{xN>umxYTdUTwXGb(0mPU z*SSzH+x&g#VpCDG;k{P`ARLJ&zar4tH1wSS#^eeQ6$5`YN=jCTee1ANWg!}yv!rjK zgLk(qHdh0B|5T0`X74`cG;5dGr84u{SS{@7YJ;3!^0=t#n8t&BtlX zu%gQZjm)x|{`yaoD(cDbWRu`lg7y+p(6=IcQaFx?r;yh3K6)v#n@hiqs}7%`?}GS% zd11Wj;PIRR(8f4mru^4!5OS5cgF%NfB=t@1MSJG+B_%x|gfghZ<(S&e88``cnJ6-1TfWv;EpnVE$ZV}UlLt452DNmw)VoE}Ht7>o zq&GwWTx8HhSS?7B2;CNj{o(-~7O)Z;*9)YhT*JgS3J*WNzn9RYPh6v*NJ+OU)n10u zFzTooU3eJo`pF>f)jf{{LVKfQO{~ysp+tT8pSmKL;SQ*j!p4tZ6scM&Nt-Y`0gQ4J zB!R`PUe`!)LwJNYHdIOWXtyo`p$f2x%`CVi%R`id;%Id8TyWy`N%VsSb!NEKE{NOY zn}i62^CoLiNNZg0N`Vz;mNFAk2#+V~9X6xzF*;PqB;3pgZAmzKm2j1u`i<*R+@acG zB2FJTtglOH@*Om{JX<}6fB;HDRn?2liQoFF6YKgqs2Sh#2hhvxIq>l<$_j9kh7x4% z>QeAh35k}Pb#u+Ide&#_%B^aADr}Y9O9cRL+2HS2=;<|3Iq5Cs(teO*; zc9kN-EJWeZNvKC3F#T_wyt0Kvy#+Lm6aVW>_%|@*)^6}Y+7CmCjo{-Hz_)6#>#y(m zj~rr`I4m8?#Qfw&u~uODCgwUQ{5FGYGUsz5+<&&(EnE(uub1}oU(hF9qp)I;L@QtU zJzrIyQ6&>71Mw3-Sv&AJr^Dc20-(c}KxN1iD~!VMzVL91rMWGbKYQW(osV2+T^D&lsK4FC>!93PcR$3C*8%>S_K@}1kWTP_}Sm_?lEy2G#lP|F` zcX^S$rp0DGz)?O+JfIlhCgS2q6UPe_Q870?-&4^WTP^d5ij~MEuqy_vpHPjHBWcE2 zEe*NIrs12gD8_HCwY`iFROuBs^0W}GCzexgn>wmTK>;BVd6WM23LLuz6$*j{Ip;@f zj=2-9irpTNS#x&E;SKnpdJh7t_i`#m6*c>lYmnumZyaKFe3@{3hNH?Z%$Jq=3Gkm< zHXLy_rQE;TJxi0@EaMYn(L;$7*M&b+CrG3+Xz?VJhvEA*b8l`0d@2jb4 zFA2u#V6Sb`jg74w!FcycZ(1iec0R4HfX$sPAiKC!ZqDDU?DI!LHG|x^j@Qy3i6(_E z_a-3#H-_#r2g!jYR@8#Y^j4O=SwRIocB`LAB70aYNU}yv0s^)q7=UB&CjOt};J*>_ z-{a!{Ki`F{a5RpQg>?rUv4nulXN2 z;~)~92q*@Bz8(bl3X$!T%jW7AS@BHH0OQ;6xEABj#y<>26l9YGcpk@X3MPu$q@WP| z5=z`kM#MJ(Dc8gM;=XZ&hLVy1T&K`G{50=*0@qH~xkDYrwtqXnkI|v8&(VTXz6vD5 zWw)A20A{Y{42YP9e95oxurmI2ejYD?rM;2Dp@2N(C=QY)pmc-Qhfg1OM+7yo8l4WJ z2%o6EAz&PRB=68ms47~*TfbHUQ0USGpb|Uq)d>mjq)q4(^W68m$E{m7AydoS4z|v? zl35^M5#sN3!7u zL$tr?ckpy*5w$lpR#d>Sd*LjpCP3e+cG+e)Jl_Q=MtSs#ra00+?1K7(%4mJz&F{s8 zT!WV<0Col$N~@9f#DqjG_JX24^(fW0wzemIWwg1CoU$m|C<P0w zn>G?rRkxVC(-iyk0`lOa5Z#-o0v*P3|Lc%QiQuG%R>lI6Y#1MJ{IXT6IHh@vs6}jU z(rTd;eWQ#c4j_6UqD@*q3dbWYj4M8^yh%vAyXxJpEan&9B*sKeSva(c_%|sIx=R`y zH$S}Mn;sPPah#{B&8j}Mtai2bsgQEpz*o=D8ux2_Le}j|95klH#$HDi^oPDK5&v@R zb>8-E^hYc{eYWU? zVU*VO>~b+Z{{1>xKc}u9*++@<@Mo)Xl9wT{z9wmIzm#e<2itUXexKO;no67N$%BD_v7Bwer?00lGU&fenut={$nM$U1o=>wB;-X83 z*gEA{k_IVsWx2KP5n7$Cx}rI+=zqzfpJx+!G_p|FOx8d2R_?HoLUPlsL4ymC%N%3!K#qZ7Erk3pi=P!Ql`ZChLH)oyy<3)PVp#tGsrW9Ay%XSJg zK@X=jtCDW?rbp?j#@GIW^?R=NjSJ1n?WC;p60&KziQkI`3b#|A@?3C6Exvy=g^(%| z_dYt6_4~eWw_?lCF6i+uNn=XsEmZ!6d-kT?(``5Jk`Q`-1l@m1 z(+Bbb19p|J5{F|2{l5OyU&+F+Yd$3cydOUR%?I#B(s~#!olmLZVz4BGU%yil1^y4y zvZIr0sO*ic#l@i%G){^@KF;DMK%ap4JSCE&C~T@!mT#p2k7VdFA$Wsu_4=zvCi$Q< z04vQbYb+I=G={>yU$Rn9j^f&lC~UCVRUEhGsRa{*=az8p2{z+cl3)}S+8+nVyxmY@ zGNzUlvCoQ5fJARoe&x$tWZQPEuaAyc_aFanNDveV z5dy6z?IbrPpcxCg{k61jw9#M4^N0rzcR}aF36!{BJJgBBgToukC>(%2uK+#FVYH-f z7v%OmU#xT)u?*0rxNHXBBGkj`En!=NTB2{Iv!U%SVA{zNdJ{ML3u4D7%r&XD8Xri| z^Te3YQfc(WZim4Q$F;s77UNVC=h&nf_RYM2Hg#E*NE(kL^Q}(ERckL3J=WB(5pNO2 zd6R`Bwk846PFEcKhTiee(s}>0QGL*9%VVbBf<93a^Wd` zJH}SiD^vN9 zo}(Kn?U>;!^GuSw5X8qNWJEk}(Dhusv{|*9Mr_#y?Qv_BdY{ca+uyHbLV>lLs>r$o z9g4J>dL4PYXEFfAJpwsO;BTyXb>TEAY;T_Bw!1#3ba-b9lMDJh zw5*YJ#m!?Hg$l3}JrcP-Ejz96Jg=DNogTnz#O+*}Ew?!DFyi-R=2Ay@qSw2D;`ph1 z8lmvlA9S>mM)I;G;`z1et&}BF)4iNinV;Ud`WODtar$T_=!~!XvXZ7(CHfidmKdeK z?~A67*X!vI-ZgV`Q{p%MoV9eqbZ!UtB-y#7owHx;VqIbyt$;VZ9*!e=>waggW={XI zcx%8Dqq(XP8tKw@tR>J1aW2N9?+#|<_u7c{>^Re-^;m@ZW!ZqE6MvufJX6O6e?^Tz zrcFA6Z{_)@7lY*m%6@3=!(7kJl1*FGsWyyM--jh?3K@qR@i*^-61_Vh8U`)`ZY;a z@x()-Mv{u~DVrATTe+S#*9#U`4>)T-4SHUb`TNCqx}3<~j;DvZ({!S&JdT|c7ay*v zn`rD9O7w8*aQHR%mC8gLOWn9@@&uRabwQ%C=;o|)sb^Zo?;oLx##IUW!CTK}E{IMFMz2Nl_bog)b%^}8?2hW0JI^g21`gak z&KGDXG(0eq=FNkZ<1w4Iz#ny@sm5a4(rarJt1KOsv_`_tAQ%-8J%`~l4{wvcflu3M zAN^{&bu6XwM|%oP4;Pd2Z8q!qVJmjJthe}#r{0633x(toy-{9IG z)wU9u~?2JAiAs^|?21=-J#OAUYn@E#?5#kU*qz@XwK8YfRSMpKu)7 zlc?Sz^^OB%YW|hgwTX|5 z?+(*YRS4cXiu)o2Tx`?+m8J)3q$+-uI?bu@T14N#zYrX6oz zQ-+23uQ)!+!xGcg#okYw28>wTXbQSCeNEtogO>b<+Nb{R7o6_p^6Z^fWu%mCraYm* zz)zb}Iz0WRR$d|KC5sZblyf_4OjLf*ERH)oQ2SK?Xv#i6%J*3a#pS(epqxln!^jDH zElqv;RN@{hof{q*(E=SlFij==fZDAh(!BE`Ayb#0T3kvpP>(SgytR_hh7u%59sGn0 z^b-#Vy0I4;Hnj^9beXSfFI`1_J|7a5OM4+hfh`R0sL!X@U0Udz@?yrXo*T<88-V&Q zC)Ua8py5XJqsep!rsYbP^_lc12i3$;?S8CypOI+NOf8#dpj zoOIF^uk#&JUXnRrG5zISWDMTSw)n}{5l!si)cUXDr)P{4_TKbNCK!je2VV?&jMMp1 zZ*1N9DQLvHyJ&7q&l2W~s<(M^P1iNyC$b7ry?w|i*>cm*rQ+%P4hvyX z@@(4bRtrL8WdT}_e}=1hv*01f&_7LgU%7YKgXrrC`Km1Fd#A{HOGD@kB#me>9{<22F)L9Hu$%!%iF~`o17bOj((XxfhqbpcCwiMV&+5M{V> zHtZGP3tur7(<0HH-sZXe-K^ln#p}j%-{fi!n(;jn(tXIs>5ZCv7$t7@yRys%a>OF( zZvtNy4wTwLyh_$;l?^fIK9uk{>Vvk-9`tvKS9TQP`mH60g?)RI6Ra3!?9+-vr0)+ z{B;Visp>3+lcGbZoe@dx9SRs^4ED9DB&&e-=RfRNVE>$MSR36Y!HBHElg5_tFwPaA ze$tl+NRRPj&U;I*+FMl{c6|I4-HO2UJ;f%Nr%R|uhKtbf%pUJu>{&2NEO zNOZq_NWI*|8jZzunfnXp?a!}mY}TO@K|~0_);Xa2s=$7olDA5wEEiaJbLdS%=;AA`Xg1G7 zGb$+#dmFSt!?tPOk~yztC7>TX@qRH`9ivKg4c@%8K-&?HapGiaG+rf?b-!nyXUa@X z1N9RxkRlhnd-a5Hgac1%D*Jw`SRkiM?!@$&6!GoSgUk%&?e0*3&btOGWeZ z&my@q=1FHRm>S`92K_XO`f@GZ21*>R=krIIn=4=?FZ&0Fop;z=u?*H*lT~Ts3(zRH zkl_Oq;-q6ylEe1GqUm=*2PYxD$bE>mArC>eem>ihQ_j96*Fpr(Uo83%89If)9;(8v zZcU#lmQNSoz=FGO=m{0L71;*~Gl!K%hTYCq_g0F}yvQ8GBQ&{0kI&)nq|$ceB5yQF zv)wX=a~nB0guKtika>p`(}H7}Q_#32=Vi+k`&{i%-wzWOADHQr+R4AS1AdN}Yqc!I3zB*Hc@Es*%Nx`aU;3lyXr}*j@21wHMdAK6-U4-1=mTOK_;XX6aOG$nqpi zROSs~jt?}6A%1Z80V!i|Ac|)tDwTfrp6Y&w*F#e3Bac58iMhgzQ$6v!y3uVW_Uwqi z{*ke)>FQ5Trq0Z@Lk7R+ZPvgMch6f0+_nfYRcct0lN%6>cFd0qZP6(x`&m(a*Iw#Q z>Nf}ZQ-%gna%sb-UmQMI>#L#-N;bMjEM^9^rs%=Vog?44K3Cj)iu&GnFP}JW6y`8+ zLQQb&!>3};2y|jZtbpSiuP7y*nwWB-b2S;HFjadmoyyN|>xLXl-g>Sc$%-*DZl0a> zD-U;lRbgX6`2KmgDw0P25iHflpI{|!u4>(O^L|ARS?QplzIaUlIpKxIQfKX(b>p{lE*< zN7ui-2J*FLr_L4Vp1JpFR5;2|T7#a6&D=moWiSf$#%7)Vi-#!HKVnSQ!@$Rox0;`*o(SCEaDzr}Pr{n9D zjUVf4cS<&f2x+z__XpdRu|o1{1N1EaYWjRBe-@U$`u=3Vof&-bU#hLax_aazKQ#JN z*31;&gx}RI``USzKS4%TMOwHzehanWvg7IxDI>HisqMIBtlwbXDk`QS)K{iI>Le1U z#;zzRG2~D6SMEDzIVf}B(x|O@(^_`=G-Lw^qnBnT@NLI*2D3hh2Rw59C0u=9rqgQp zuDIYYG=B$#T&)`%AxrpP_wuEVysn*aJ&0#O_*H6LJVDcGp)B3|X{7V(+y&X!Q46({ zZm;8{=g*V8z#rWjwzNOJ!ze1Za{^yP?F72pFL$S#5ym(BZEP~&xCjLK-p)EDsBIhR z`L6Ppk5Nzp6`j$H&H_ajTFg z71}e;9m|?i&Zz%*&tLa>XfdnO@`S&>mEw=1?7E}#cSLgEOmo<^YosrpA407@-d#vL z?`39IurO+ybi2abp--yPRc%^A|JvRC%c^;4uEvKniUty0%Znf9^UW*_c%4zWIGSoc zf_?E!H2Hq}2Nva^$z|eotxk$$g6n}k!w-8$F~<9PqKM<2bfPu|YTg`%8}r?A6pIKi zA8{N0p;S3o(r$A#I6zOZ?+1UoT8@S2s@9!!Iim+*iqZ$QaI#-blh3TXQh06{^GMHN z9`bVgmUPxV+^mALG$>j%6}2ZS^TTk8K`s+Sljfk5BC7}UR+=J7(<86%X84(Re*HS1 zwdL`?wa@5i?d+5PCHeYCjQS_EBZ`~)b#{p@$tuxn+APTW(z!;_8{tZpB}&mT&#!{< zV0s+89`22`HZ>LkYo2J9*px_R?}FYm8w~Ulw1D(i%&X+_jgM7j>}KV^Y%=KO@Cf(1 zn622lBYmcVh6WXtuXBT7^pGupcI5RRz`JZCEmnZf@rFPK<6q@gY)*5DsI`5a^9{M; z%AGI^@)fT$N5e&}&6bHc$;Q}vq+)77;vuykpuRPy$t zk&$u!C>+MuO(s#kFE4G_{&EP9P0?Os+sq_8`O8xEdjI-Si+uAEvoE4k z3ImyD@@rgWJ53zA;@3B+n6dhG_xCHQlN0UB$q0>pHqT0KD|{+qgPtQ^b+u1bToI3$BHVrJQ_GL*q%v2p zZtkpZGmlPLWd1d%0eOUxN@=^n$<>Q|aV#s~4n{0g6W8`!_j9G(U_-#n#Lt=S44w&5 zoXm9dVtF|CXcJR&=Nwz74|x~*=+Zf*FeUXb$3(_sjF|C!(J6}fXV@c4Sq&!BW>k|D zGmU||%D#Yu_yA9wk>3?a4}G=Kb-eN(m~TpfYOi3~*B&fzHZ;FYeE+kx9@UPvt#>`A zQ~Rbu@@*0`AFOIE$X0RW_O)t+z%|sRG&}6NeC!|LpLVLOzOa%eT(11qRBY4RT{uu~ zA)FliM!6X#WUq->B2QK?l<$bjW}p^%OPIQwdCV=JwjJmsvaJNU<1z((6edoNgdEWe zy<6-*z3AM(ax!}2fX_aI=YA`lQty!^mxE_o*N+ikBbgM~;;9cb6y-&@F600+>2bDNy^F2;{fS_OY!!;+iT@1 zPUT`Dgp-}?5-B$b4t$S7lP#kIQ&%?0rez5?R=sB6Vi}hsEx&oyHrkw=DX$zUH;0W0 zXkLG~biVfdyPH};LUA2!+QiQc^#w-JIW2a8*4oY5+Ni=iQLYl7hP^I9!b9^`?DN$mfm?;VCBgb zC7F%PO=)KS&Ly@n(=lvE9x;U3Kcu|z!f)Lcs0|ETJ=QvYqH?goYciU1^GB2>H~n+b zAYQp5%k|`_q!fQm_0YZ2ppD`4&XM)RR^|jzPSfK*MpKssxH$&>t2=kRx71h!Zx;38;+DB?3@-}J7ndM z9P5q*)DA1mE_?{EjIGXMJQBdr*f`}4+py6Obo#_v8e)vC__$O5u<)crwr*(B0kpj;?mI@ZW?*7-<&bwQviAM{#+cq&FCFw-r@WN>t4GZb2Z=-}en9s*j?d4rKd(YimCZ*wSYBw)zk1WE zzUDjKmVG7DL5fnFcIkv48~@96d-TXbk*}CYAY=L8+ozDDT)gLeGE&b~y-^X0g+i$xdJ2eC5_qVi) z`-u9pUvH|`I7cQmw)TA(%fpN1l^nnFu{z8y)z%UZXUR~@KZySlJNqE?LQs&v0y@P8 z=hd~c(wL>4A6aw3QLHjt*_G&@Uv%W5TQ2EScVt>`RQSykDrtP~sb-6o*Ea%^mLXxXFNs_xC=Ehod# zdTDRj$vE^u%0yx7w@Kl6_eDV8f6GkWQHe1o8OX$(TRqB6ExAzYTq zBj3~aiM+=2uR+u_&Zn4p>z0hwh_{-1uBu8(rW z6Ny%8FFy9aC|RO?h_H-sfVwsW@8|+W7}auZFiFH9gfGU-GkVn+Dl##~He^a<1eB!L zPZcYSjdxi5FxM7lbpN<5p4U*mYUAugbFSz<`!3Y~R%B?$kv$3(3+y~NK#FSV9DPnv#fXE$ zAcL*JMyvva)$Hu%S(~cNrlu=N54Mie(V?ki2_e6$9l<^N+C*eQbnsW@0dJBvP%g#b zYIw?#5B*)6dpx$Q&{<0Wu#>NmwU=oTLnxC`v1a;4w(^|R(HH&<{Ap*x2-n5Cs%kP)YB7v#IBrp-HY z)eo|Hi|JDOXwNs9#%h!uv#rEu{ps4>`V)>%4o=W3{BhOQwa6F58nRMXu*JDAHu$Vn zep3bOZ)@!zrr#eo>dK1gC`USUuGj!8i|!G6lDt3O?`yX=Pi3*=#6i1dZ zW%C^ey9>JWx@LvEpgMV+A@sLu>&46>E>K41h9M>{EBK*RVXc8fl5$ z8S|X(^LzDLmCbXvE9~r8PV>UfDzOb%oPi?*7a&HPbTgfMV}f(%r9}GJCez3x^zp+h zs4qV(>?@-!PrCNyuJmXe5`YR3Wx>YPgB8Viuvy3}qv>cTjo%oSfy*Y4{(Te_W6Me7 zo^hcCCIA2;q-P&>iW$3l@>)gYf}R-&rhk6vv|~+z6sfRlHQt8w7+(5He>T2r z1ra%wH0?TF1xAJLz20_CrTvzcBdOo~wzurZOB79JHg^ zJl@=!>!>)@POz?yyti%Nkop%)gs;o^w4nb)|5>V&2L` zTQTSM6$je?I)VHxoOH4{zwzJG4?aqRkG~@yi%$ zSBZ4FmgV{C%*mcbm+LZJPc>uTRguz{mfU*EEpNriL=uw>&PFD5(8V(MU(I2L?>SWZ zB+u~t$HAu;e}ueD^RK;cb_4HKlNmk@k(1kSmGrU7(z^&tcp`B~^MuBH-2>W9nz3-= zW~9z_YultFvsMa5vL8nr40I*0Jn$nP#ZDJbhe}u$!w%V0S9RE@nfzE()s$1v)AK&N zG&5$2I2wwpUBy1+LauHGfqhpa@$Fri9_`15KGZ3pbET`Yyj9kNj^C)3EzhqL0R8PD z!Q=w^A*w^?bq1!saBTh(>9Die#AEkkU5TQnq~WiIDYwrrUG_W4<82Sc zm_xsPW~p{ChBP$6JEW34B8wp}Mb@Cb%m>o6Z1W#~!6CiOYQBEeEHS&JFqk!3 zo?4xjn0`V$&aTeD@YlX?zoLj*EhB1I1KE+3v+M0cRqB;hS!HX}7kPh}sq$S=Qv(3sTy2Jx zg?~t8=^Ikd5)1O)qs*HilprO?L`^~-PgDz3PQ%0y-EV$Om+W7MUD{GpZj-d=$N+D; zzoRS*)-4S@=wvHRD?;`&pH4k^p6Oi&gd~jyONUI12EwvLoK}}dh?{nUP;bad)0j(e z?nS2UwAiCvP|L(&4RYCF#k+;dpelFTh!nnb?udKjeP#~nTIDgF7wMUWW+&UHr?mpQ zE&T)5ElVDkzmi=L4G?}}e=DxGwo@jU=dD`G(NFKo_9SwE61YbQ?uh%|6`?0#06>{+ z7LtTe&0f%F{$bt`IrF}ogUpChzq+ScQF2KdVE&*7nQ2X=d!-jjD|{Ej4g^h1I6uc; zsRlD`S zV=Xiba~<*|RNiHog$}h@38&zU^Kf$99~Zapr36=!UARj5$@iBNQi~-Zw}s@yJp#Aq z`7Prh=dV1}mYd;;lE4^_^-2lVXyF^0gOrC4BRZS(%4%2Ao3Mwu`Q+L97k=c`rPemm)if7dsy3(LvNHSm%pS)*n1@8b3qeoxt#Zj~@SVW}-Sp_25jDSf zgC9AuCWV)DAJx#l9UWQp?#hk6SHg*<9`Nh2>O2$vCauZ?ipgs}?^&(Sq=K-vNe6ie zkStFRzgJhxjm69iWlmO0FLt_m*LF~P6i;v2Wz3YxElrQLfPV+Z|CTvEx3@(qL63S4 zZEN8HRG)0ec4vg)^E8%5Jjf;N<>*uky>eCW+h&UxaIc-l#tU?k;J%J%`)^ZwFKfwy zLQJlhb@0sn59kBdw|-c`{92Rf$jfN!2WM}`RBW$lk8$QUTiBw=26PtI^E3u z&Ng?=Q{dPFut%;!{)jEir|G%hO5aNznk=mF_JJMC$0Bc~4-?dPh~Y)qydG}u$+V^d zX%~Cf07vPu`;f;ks!dNY`{?a!pOoUmbNN7NLhNzbbFx|;>8&ZY))RSh>8*q}wLvTo zQdISihO8G`KyjJvUHsXGljT~EXS@0qb=r5vp=PN|WLEM(=g5sJ18dwM#fHh^fanB* z?Q5yYdEV_2mUmQ;mt=aLFByj2zwSUvfC`N8*cC%Huu8cY3c(+&>rjOc!y0A2wWhBN z4dlxHK*$+`vbO|cd%>}loUr(CZddvjFo|hjME$mV0!AyGFO_!z`d9(OpB+;N1s-_! zq?jmmOEnjywY#}GbN=?NVVer|X_E&G{Qve@Kc9ii2RV0GhDZx4=XueINby(SHfFRe z=XtJNW$+F@YW&DdOSf+#<+$3+GvUY|aNPq2i3fW`zG>fOvOXEXY7A?DNykT>312t5 z-aW%g_T;)!F37gTWtFYdid!}2Y^!h9 zYd}7>H=p`gB1_ioaW999@Is>9^l9#aGIwY0zZ9a-b`aEn~!F~gUx?-ArCwC?9=-Jn>ex~(G%r?!U+}zw>+*=bNe{N5`Rn?k7m`^`^tuq z=5&1bvhRl?JL52Cc0nwQontiOTPQhJ(`*Lq+K)7s7hHiy;-X1C zU{;l7o*EG$l*d~0H^v@s8}u7g?Aer4x@6YVZaL~d%5h-$s$I*~r5a>d9apJWvpA#Y zFGrYV&GVu`CyzDWeTVf$Ggv!wGBL=|yqk!A&>>XLrdClhWvwBsEwP!V@n#8d?y%na zzTg|qi%$)KF*a*edh?wfG6d4pnYT^FR&!l8a*GTe!8`QIN5Z(A5=)NsWRRg`;PJww7t zF~5V*=jA~^`EBbRDS~iWrrOG(zrO;I`-qGHMt;%?yu^W3YB9~#hpzuZP4P-Nvx)V7 z&>f<@soBy%5kYYrV=}P$HH13#hLdqkm0h-og`Bhh!~Q4K*E9TiD7>t}L+QFpVM6mUOLb7NB5Ku$5McTD@j z%`vcr)w9?5ohz9of;29+e^mYy60^!I$48c;KoRu0JOISnU~h*ePs0~T(f2e}Has?b$5Tart48jdwyB5NczfrTbHEzY#*aIO z<%uTKp{9OfZXRfSu1+&cSe3F$d#1sIOuc(AW53z3y%Cm9uH#F}qI!-T_&ca>_wLt( zaF!{h_rOQ{zivb9pCdkg-z%GF9%qf>GG0a=+F#g^+L3%&n0WjHZNTU2z-lzBW&1Q| zr}Lt5D(N<8KZV9NbImS{Z+~aJ$vwTH8NNJRRy&O-nhpwwugzoUeqy;1GnVCh2lhxYXz02ZL z`m=}EwcRuX1?(pBN<4hJfJ`R=+Gw1DM0RA2ye-%aIf}V#t}eIQHcL$;yqL@0pUtY< zeY7il{bA0<$k@MyK1YBE3kwQ9@20p43m?u2*!RLEfbVUu@YUlS`(Vu5xWILEY#jXP zK%5alV66=Dp5we8P2lW2e>=eceD;sh1Nve@faU#I=iSb32zGHyMpL-O{ruT&+}*suxrt$ zYn`zQ4wGxjD@-XlyF|e|g)5&BuH{k!-!Dk*a|ZtDn>Mrp-)C4Ucvds3Xm$<0ICR$7_dWZh;a^oB?nT|iDdU$Np$eMe; zFYlFH5%}XtneEMI1tDVO)LbbyUIV1Fbk{h=gT^U|H1X6*3VBcK#ky4nzhMw*i+ zhoOr;m4dZLuiK&Dt-=xhBIRo88+d@}13&=uig=I76v`2&L)~DIMq1%m(G`$kIF_kI zH~We2jZAJ4U*ouzupb^cO09WHNuO_hoZQjy)DC2q0}Z7F|GS)g`CXdhbHUbyBMLJ3 zWh^Nep%2rUCA-;>)giXr6kHoG(N4JB_N(M%HrLKJG9S`TSO~rJ69w$IJO6uuEdEcG z^?&()gAjE@WF!QUhL<1P^8j)aK$8jnm!m<#qY8n%UqAhJ(`QH#HYwhM9-|2SIIwV- zjz-*f$|;ZQRI1&j%P~qUbjqSPt3_1182{t!%7T?U&j@P;goFgh#Zz=4J4Lj_YU_uX z8*husWbC~1bD4^k@m=Tn?UNQ|d$-nELoc(KVUVYJQJrJ)&qO9~=I*OZCZB4fk_?{7 zaz<^RjQsz3`=?fOn!3cwpc>0f(Xm_QQxQ|=zeRKa$wTSP6Yx#Q5T^_HTCpuX2vSSe z&(6ZCL6|YRT}ir2`VXDtCBn8`E$bePyA9^s3apdGDLf^K2Q7&~6>>t(CG)%V2dpKq zGBzM67x|vRbDeo23yOzeb;p=?ayhKg3cENumdY%Kw);evryLu)O)pgVz(v+(P@Ch~jR;JXU6 z3&X{M{>Jwn`GFtrdNu5>NaJXKc@17>wPBcZI~Mn%A6qm{)_)-y#^Y|$_tREwtbnYa zZ>G@ND?J`y*q)B1d{;`BQ5xmxTfK#kldb5xB@;+@F!p6dF#TGS?7P&PtYnsZ?11Zp2#+`aSj{bLqgq-H ztR3kO{SNecL%{PPXq8r2hjXYb`dW{{qnp>o%yQf>)dDA8BP0GNW#ym7A79p2Gkh1a z(3sUb3cS!BD_@Vq70H=!1+B0vJ%VIID^4&SiyCTazI2T4bX;?d{O)yF7ss0~}= zv!vePnh*q8My~cf+GR?Oo;9EKRYE9-P;H=M6j=7Gp0%kvreL;Z-5>VRBy*&w89f;C zd1CP)VbPf53F(8`oz(sHY8OyFcd{HS?((X?ojcMGa(7iZz_Aoka#^)kZ}Dn;#YrYL zw&o)$PVB%@JI$Qc{3W&4SuS6793nZhsX+%6Z63{IuMaQ4G|H)j4C14QV@7@4%}#Ay z67)vAmndYsdN)ih&3|TW+n+eebdFbA!Oi{{>eLkXd%WoD%oZ4VaUpcC!r%N?gVy6@vXiws_jT~X4u1l%Dol#)(Ky&5M7+W?~iCS z8bvvV*liEbExr%lnpy3+>{_W0U07JvglmO(iktd*G$~a0-QBcni@`%2wk>6 zLl7E=wDAKpwk7&YR1-Eewm&P_j;=oKNy0&9_iU9~h2e7TGJL^vqR*B5smh&*wII&9 z&`3>NcbdP{A>EV{B{#Ky-Tv{T2Vv!L&xy!12{V`#bUPVQQ*`F;?01ynv{hc17!!-V z+dQ);-dA@o&hy5x$3ucfCu+GoP=@>@Up_v;(gDLkoM?X~OpGO2$?gDS69)Rr|ulwEB3W zEj z4W?)!5;HH?apo#7CdE@c-^j0Q*l>GluWm_UNm%7Rb>1h@7zHF&>C7Krc=a;yKN5Ak z2Nr@}O;q3wRl~`p%viBu%kl-QE0fJqkNlxQVmC+NgFNU{IC39cpZ;Y(! zbi0Fc1izzNs6K<@+pxQ{XEeYmo@R+Jg3c3lsCU~}zoX(W6%YzJu*RcAf=7uC8XlrM z^=(m%DK^GBNKEIEbGBr2_6|B<|8?7^=YRb2{TJ4cZ!T&gBRLG>jZ*?xvbc{PcO0=0 zdg8~}Sw-IKggKV>ZE5I<8(rM2x=7`wtfW2_ktLydhv4R}tPSlGC{HdOmj0dTG^`!- zEP355V^SNJmfj?$;fZ%>${g>$1u`cy+nb;2J3cn*lfB~olX;P;+2O-+#OT46V+nE& zUj^5JQc>@Yl8qsha_SWW>!6$X$WfqwgkqYrodgJA92k8tRqA^X-1j5vaADE7;i>O` zB#)iOSC;Z+b(1W5fx)dzR<_*g&1DN!cRjIX{(a9+<(GpCBI=|sl8sq99!kD*{DxRX z&554%U;_>Uu)z>Km*fGmN|8R2pn`J&HBt?M=yqr7tU_t=#bss|s^|lHa~$n9z51HR zLshY0)=ugX-z>?T%z-`zLLae zX@*=4+6IOudbgSf<{b_}R({-3xBk7F;rLDd&4?RCgWKzS!l{`rZGzBWK7Su#R9ME( zgES@_BEt^wrXXP+@4d0ZmCMDi7p6{UJMLXI?hwer{Gb)aE?!0uqwc`S@r0yN zlI(_I+;8(+96>Xs7{0`!@kIv)?{J@Azo|B#k<~uTCi}ETjg0pT@CxF|!KkDu4Vs+o ze2}@ZNJ1%9HI<7xy=E`)v&c_(4!8aKHJ)Fc<8OMJcks2(QTj#Rx7#Ts+&elZBeoS= zt(PZ+RC#&4xD1I%>ktEX-rqB67RPe*N$*KZ=5kiIO}W;X`Fz094l#^W?Iq)TVfnW8 zlrU*Vw$)nBq4y6Q3AiL+@Xyv{=RZ6sJ#;ZvIUpGzB~6m*>2tKL0E1cB9nN+VCU+)_ zj`x}`Ee?~cNi)PeY725&px}SV*mVLCvaZpkI(vEm$ZZl^f1i-#PAc#VuL2k?GX7;Wga{8>hObb9Xa3=w?;s0$S)c?=V z`jQbKV1#Fo=ttH|k)&_m(biGK15ATJL!!37U<^dnt)k?`WzLO{>h4YFpO z>VTV#7fU>84k-`1)jlTBgP`mf_}R=N4A8k}AUC152NHYV0X1DGI(6-c!D4R7Dd#_u z17#em*eY%KxWe<4O>#E`RrC?5h!g5gQ$)k9g29l~QJq_%Br}V~_06d|9i1~ChjOJ!eL@S}<9rPq z&*+UZgg=E=(bDPJ8R|w-^(fs+#$4j_Agr4i))76!;ypnQ&$?KOU<-z#Zo;&EpAxbO14mRC(+uDP{!$<9pu15Li)i)N-GH%zQo z%<)m`-G-OO{g*;L;Q6#3Fxt+AjwlQmp3>~_Zs?H?%gfgXOj;zkvJU!O*TOCT)jEy< znWmB;=)0G41Nb2fXaE!kWAy+x628biU1OM!M#O~5lPidj&kXtD*(BGs zhbBe7dUe-D)*B%A81tB3l*erud?hC%hF3+LcNB?eM513Yt?&xZT&@}gN!9qhHx`gq zVc@^5;Nciud_XHzmd(GX{!<^W%Q2PL6h>{Vxd^uNh*tn#e-0N26kX5mUAED>H9)*O zrF9J-*cb3Ag)C^fiN_#|To;@JZKs+90@T{O$NfUM3Zwkq3xv&_Oxo z=;LZjYE&rX%8obyy2CjG@K%lcE*0vpObDWQ*HTUHKKXkT&wgGCF%T^3WA$>VnDMEG zNZ0>JZs}C(6gd?uq5cTUsbXA5Lo8w6iM%+0qcvE3r}{dG?K5RDud@u}C&U>gj05HP znPj=)@<6W5kCNQW9m5BfQVC7^%o)ac#S}gReh6LzOfjHNa@^5cO4$ri1iM-6?1rJb z*Tl8ghk6)#-*?p(rxQtVE6oVx8V^+}T5@6XhTN7JiapwF!f{22ch_5c_;>r;f0}{w zN;lKx%b1ptmukpOrp{nTE2h8O>?+m<8b-BMuHp@Y?Do@Tu%^=wA@>X@b&~b@*sbSo3Gw8sf<6Bc!EXn5tPAdtWnC$uNBD zgZZ|1jXN{z$0#)ID$52xFWOK2Z{yX74mZheuNL)Pk{nh0#&FxJb{e3!MLoh=8X9?kNvYrn*^d<^^b@uBJW0=K388@!~<4aF?+oO7|a zHW>zN1aqrgDH~m2+y391M`c!CjWtCxw6`gr#DBmr^wr z+d`>6QBmGX(pWOyAO78ncTjJLLV&!Z*C~!0Ipc=R7oSyN4-o(&qrA6ErcV<{K=bZy z`r))Q%T(AXxMl~eWHe8vYngkz(tPJV-iudX`>5SVkG{f8a1*Ce0i+R|Lg$py;!fc{ zd@fUznqn$JQ9tG_-R*a3_FBIcK{9I}w`vCBxzp4+{-x(Ra{Mh&2``zw!za|Y4vYli z%6Y|~8fAPtkkS?unQ%4q?>aPxbeKD9io&C!T>>4_5E=$95(s*2|4nsChgJWYrt!I% zDZc|v1Lc%mbdmtsGf*h3R{{`rgeCxTukC;E|(iJ{`m37dXn8%xk5g$fI#6>O5S<_DsF5O3bD$tJP2@~71xqS-k2;{ z)&YL{QY8<_hX4jM5xRw-*?md&jWmSnm!5c{n?P{asT-ecxDb}(!BE7$=ng<^-@DLP zmzM!bF?rEEVD3Fvswaw11;*#Qdpm=aJmg#Ki~mTVW=59TOXA$+xvrD0{zqFx(cz31DZ|gJVQ+C%qtPeBXAyP5!fUMb2v|6M=zvdY`^RFcTHFd zieYpkza>7jW#D%{7S<#2qni_7Sj)>nd@b|Z-wKqrxez9^)!!T(r)i99TzNX&>Uv9V zNbc8jd%W84E0L-VUgYlZ0?muoV6Osp`nZad^4LDTYO~@An)yAuc{;a#h9B>|Ln%W2 zxu6b7%+XTtU8AZ4?PMvqy-Zq?-gM)?>^>sPY^QOJa{(K6FtIu?(P{<(Z(0Vu{&RBG zWo|s}$2@FwUz0*st1ba^e0IExo?s3!cPc3evb2e3dUfNv4DSXUy&YKk{f&|x5FL1} zf=#9!uW29PdSs2b(tXt01-S&sPt%0b(MYO!cruO{JJ&V>0b3){itJdr9tJaOu!Wlb9r;@TRF1brrGy z`*cIgY<&}~X;3@wB52!s$=P&RqXdrl17bvZjIrTYdz8+?uJby@zlD#kHd;3QcI$o^ z`lK#haYCF{t+>T}j5Y9!OSHZ}3^GAP%N&e8=1V&xM?nylKN@80^J7Zxhu3%LKdyrN? zC7!Hd0v9MkCy{exD?UX!Z<)AFItQtz`})sPKG4cshb@HkfbZ3oVqxD`sRY|Ftp!e~ z7T{yhFPLB4dVl7BF2Gq9ll#|c<)205KYif~Z|8;Ebw0k`GpcEJOX9CgEK&u_^=YmA z_-wsIy%9-6Hg=e;gkSa3LG=tdNRA^Jq>DlKES+1pu;x7HB!xUMGG92>3?^;Ll&s(V6k10ujWqw>PpEYPto@mV;^orH8saR_0IA6#ks)Vy zW0}N0@+Z%R;Z36ysbTwTE#T_Y&50vclvrZ=l@+lk*zJ5kC=x|~D$AU&syNXpUIn^I z9PO6FMJ4;#u0dGwRfF><6l`OrQz&E&ffg+#gq}GNYN9ai?EoUlzW3YyBe^ehK(NNq z8+y>-xAfX({RUMeitHcl1alV9gey-p=qB?F4DhIa9h})7V`hvgk3bk@Ko_chKFZ^3{+pH) zwKEGh{H>dt=jXdK+$A#35mgR^G-Tk9%F6% zon@pL>W;QMw8_sr1~tX{Qt0V}PlGq^Q*?DR@dfI0(mgkP$TQ;pMEcT6H&VUz=P0+m zJy#7}UVu+>Ck(0jQKq(J!>O%He(O*_w$G8F?69SAw)C$z-4T3`m#$ZGg5Ue+xyWF0 zg~e-adK(qHgzs)P;VL=0nfGuqNq#y05svl@#~8*DxwIEchlc^8jk0u(0i<>B5BYD{ zkdHyGVH8b4&uN56A4Q~*FZgdg@Ybg1{IEQDM=Duo;L`=%8vO%|JTh$7eCD32gM4o* zN&n=LX!Sd}7irt7W6vI{ue?xqraLiO*+VzZ2DpY-EhxA?-xIK3Rap$JIt%7I2{@UA zj_b^+67Stw_n5nnF<6lpula_9_Kne+4WUs9sC(kMi5viEuRoRiw_Qu;B&U|9_VoVy z(+*eW#f?8mqsc>vj%4;(i^QyqAfjd``y7Dn6u}xCqkY39`(Vu;`_3%csCw=LvTA(f zRj-8Sf+a9?n*Wc)bOK2MQk(5&4K*0ICC)TsDLSo$rcMRu(Z7JO9WuRUTgHOQHOx11 z0(1V4lH&f`t~N_0vu@Yw`maw?#7w@``;&ofqp0H+O+VLi7^S_9@0yEdKZOy=JFWtD zKn+GM>wv$T$rm7I5Pv|}io>YZ%ljOg8)n!e5GNflDkU7KFGmHz&ty23BqqRi8A2Di z86u8jiyA9hhRgwHA03V?Mj?PXbGpx#$Kk@qv%je@sdu+x9eb8AEx?{oGQFc!t=>XD zuP%PDhMRIhyR6mko@|lUofaP%_5P$7QT|mtEIVJZn>n$v^*1>-#?2R>6k(UMX=p0w z!F9d=FFo@2@el9Tcb*?UP`>4j_|PIiTP6DgBenkE_x_wgvQO9Yu%V&ih$st3ki$Ah znD|xT4y4_{1E_n)qj(wm0aUaCN5jVfFvZp%WJuz2fFky=7UtA|MWn#}G-WN# zm1caE?VA;=;RD1{o96bU&)O5}KHv>RyqsHYV3s=F=KB8GoA0I3l}>BDpME+>uX?Y2 zxX4U$<+5TZ{7u#oQ&Z0nOuNpgZ|MB*O1k%LC579t5jCFa0DcgL45t)UqA)UWDB9A{ z7LJz4=gQA>Sk7_RH0L^>E!-yZ;6FRxNSjnK?EGq)vD~a&^m$O%fc>|^nZ$+qB*nA8 zAlmLJA#uiq%`=Sprn|_{z3S^9>lUgswoP7D-}Z|t$IVI*;Rt9SAyvXBW2Ig2=NZBL zo~K^0?`e4zJNT(8 z#gnn}t<>7vN{L~eO)VahrAOVfAv_YWb%hTpu((5#K_|wYF~+^wkE#Fgewz_#WVWjWN*|&){gZXpArzxLSX8my!w)(Q z&HgI>REqE&Ahl6}zg*uHqm)G$USt5~m2J7T|HTOM|BK)MfB*G%CpQ{I6L{1g%>9u- zk3Mi6DB#6$l{*(Zv9VwezlPN8<;=jLBIa{D?M9j9N?u_Vkma#wN^Z`sq>W>I{9eV4 zH+1z%WyH3OYS0>)QW~WinH+`pJR`j`wxq=w28FeLYL%q9b^~BUKuyKw9#e6x5QF;WG#}Q?Y8|LNvIbRebpv z<>@)br&3afPhlUpGLsXH$TQRP6}~5&6=X%_!azQB@4P^PLdN5SP~Eo>Xhzeh{bFc{ z=lk#Mmg1~&uL8d>s{4b{wJUaGXAiEf ztma-?jcFt>1IAK2ov7dwt&Qx2nX?HB+x6d-rP{TKpi1YnmAmZ$$M3NJEX)+)lH;&? z&KW?ezU_&>t|3SQFr+Y?PEYt#Acb?F*#lfic0a{4Et$UWY&Y?+V0)e0&gTj@{ghm> z+h0x&$Ta^DqybcjEBz(>5AIHfLz;7T4zw417iCXHvnTm>uRt;%ameZ0>1xxV+x^aF zgkBeBsO}% zp5e+@npB#LMw?p*nar?%+pvd|f$Dal;K=f{zlM*KgMAlGI^8Ca7UA;0MG%IHrsHMn zT4ui${(1BRoqeP~K^uPq*Ek5htsoruY)={Awq|L(AH13F;Vo{?C>Atr2RwBX39=#X ziPx2DV>Hg20IFmkjg!bkR!5D7z3wOYy*0@Gh}|BdD>W(9F85s{b|u-j zal2V^FD7NyVCtme@b9z`O*9XB_5M(W%hQbJ>aZen`VLS@H}iE(w={5my^|Bgz#@Tw z5$J;-)dB>4^zjt_Key!(2*Z|-wgeU@7&d33m#KRF3&dx>&G>1VuahN};_N?TQ;HpJ zol6No?x`#=R})vB*cn!c_ff-zcTuga6UcF@u>?!R4ve}9ZnKEdj;M7ZGT_4VF(DGj z*-&{571i#!jANXfFlRc~GLt39tf{+U%6E|?;dWbd&@G*-HehpjLAP_xbfv09>2;cYpa!~PL`rDfW$KnR!JHx~2aI%a3l5GVJAPJw!Y{mQD^Pj)c0C5xI? zY|lH_%2G)$Yi5aEGLz$XA=PLO5wV^cm;DHp%$=z7XU0B6h}2o{$3mz%^Jt8g*ood<)MO#QU9&2u}hRW6lR_Oi^ojP<(w zU(reF9Uto9A7)-ua|(s3V#<=7vLxB)CN%D*l!vp+Tu<4@3?Xapq>#Yjg=Q?Gi-J9C(gAY@3#9ErWBa`|vq+?M|8vo1N>8 zuWIgjOrh}H^aL7(ku%mQIWH_T2G%Ffe3o<#Fsz*=S|-9}iKAwDW`6xR3mtcXCjffm zBdXc4<#kJup2Fq_Hn=b@5Q;$fOvSm*#acHw=tOonP7n_!}PdjVPJlsID(tM;M+ zwhZxJybJU;Wp!heuh&c=Tkae)x4L_t(lnpyD7@-Of8(r7bjzz8oPbW^8joPN%G00d>gEpH93C;I0oK*Z1UdIE} zvK7oZV17D~Fuo7dTnQJ;3RcZ6o4e!beqZP;`e)sfjq$Gn?9yZ-5q~o>Z`W$n$A=!7 z%$~aW9~_Cx4huSjrudh5RqnC87_6juvGAU5QssdJ|VDU{_Z3o)_+izfGllh)-xW)GC_1%HB8 z5(6)Dyd%<&3+66UI#2e-0FOD%8kyA=SuIpByz{D{DEro*a08O2s83Ri0FQZnCM$u2 z_aXT^8NbVbAD4c#>~ySTJ20iaN$f69Liv+_gTcVoj6I)=%@3Ua|GN84%2!~=8#M0Q z1eM>lYxzYO@nheMqYGfY=UBIjbk8ZP^uCS)Y$g|2_sPp56ymptyhOoHH;Rbx%4aQP z(sEn>4u*GwfUE_W@yR6=_V3a*ub1-f$=ElbSplY5x_|T&CBjst)=o|je#^@S`w#f^5|pdrW%p3- z`B3=J|Ir0lo&sCtZ~VXd7cA758U=kEF68PN7=VUFbZV_zT44<11w!RZtXyPS+k=jK z9xJ+2s*cKiMz9ySUQ%4ALf7U|i|l6~h{Ll)zNNWP7HsBLy4+d%>+==v5N8qx#Rm~? z?>Fy3H;ODiD7=42`JytuSpE2S`1$dGhPUy!rLuzgswyA5nqH;;TB5VdGMuKP`9u?P z49;02-zL9&Fk2a_fCu4HFIgY!ezO{t4O-K`i8@Zv8Bba-==jv? zC?_lcP+N5mh=fQI%HH%*2M@)fdfWLW;#oYy5>@J(O!{qI_8*yl>v>xqG3ZV5tge8o zQA@X&p4;72TW`a-xgjCJ-*`tTM*gVB$QZ_-9)8S-=iZatp#fqOgjq zc%GI)MMtkP;+PpC>SV9^4Fo@_TR#!yB|)Bf;P$t><1NkM9Cq;U%@@oh#QacM;Ay4- zbpufgG!=;8tFi07Hw}|FB3b#&rvD~--cJ7|>WpiAKKA6HXRsISga`U)%!4uV=Y36v z3~RlG+gcwUx8T)Shi-9@NcV`RD%6L0`*2Q;rfE}~J|_7f!*fG%oq>!c$78rl$um9QL0KlQf0(dqfnnTOEr|g zvDFKzFF#*yfd?Ye?lSy6zVV|3LhagYu3XSqY5ra|Lp6XWsgi_byn_Lk$@oM1w^XgV zz4Qr90Vv+J()V(PjLb}6r?gl@qGK7}tolZjr7GBHxUSOAw;JO-QZ{PnI;(v>PP7Jt zP;0ADJTGkj+%=%e71rqYA4%#7vsjv`_-a%;F?qe>fpDwA^D9a+VEHV z!vo>UfkS9u(NH++-s8ZKp%p5eWF&IY!M=68)3DGb_)a;w%G`>5R<*0M47x$&#~l^X z3Di7h5fc#4|5a;p-lhIExxF0?N zZgd1dC~PJcWC`Y}5Ai%Eow`w_z4Ll|<$$uR(3ortxM9uFrE*gwUF2WvZwCoHwO_kFwOS zW`kR$r+Lm<&iE5nC{c)#^g zM+2Nk-__1sQ=%>11rJ?V^bD)9y=&=Rc zwb?j1dfSiy@v?~Z5D<4ifCPSvyA$ffCO&Sqr`+1+WIX2f>@Y;Yd*&u0taRaUz~7$5 zIc>8wZsT92G4E(@hLL_wuhbiRRjS0@*^G*HS_B`O&&Y-Rr&n~2#oP+(FVBpP`0~59 zbzVt!xIjjklR`$0$!dmDz2w@Ad^Htb?Vs8^s92|BQa^^G?k4Q3|8*N_UX{s*Z)sj1 zWYWAzZguOhgkW8FspfUgM6XMLZvqm>hh04Lz?&louV>xX%nw4|HeX3(qJ_wI9@tUU z1}+Zf{5oT!$Ht@-@w{5uTY#roYB4r7&`UNbyKx_!e+(xh_JFZ(GE$9jZxrqVwQ>}3 z?(&UJ7t+Kb_e>c76hq2)AL{5N>1DpV+Qc328#K@lT~J{EsD>4JGb{j$H8!3&IMv7H zDGxDfD_Kd~a~exw?hW%xC}nY)GjmI|-22kTH!)I&P}h8%lquCJv7^#-Kz90-jBGRL zFK1Hd*Kl3s^7v6N#2ngLj==xmxv?{B&GabD3ntIil=UX@6$h0|I0h-^AaMX_~S z7KH-^eM8g)UmvaafRwz~IWDDrx6TpDIDh2C&d33;z`B7Ua5m31X zm(h~Yl3XKxt<=~Qc0(sR9d03Ab)n_8Ev{^Ja-suZTCgj4F#yvEq6X$9eI_&Fq^r{p7Bt5GM7_0@XIejz46c9j!y4fu4!u z1&W=Bph>Z@#o{x0Y!(cSAjK!@Pr>x3!Oq~wZl)0AlmgQpQ#aDjCwxT~E6_C+oc&=a zUP!#HAWTroS0F(BPxuppa%>L>wl0!%6z|BQ6DPG`&=3sQq3V@(b5?o|z|xXL-`iIj z|H4slb3QN@yaR}2nq=h1KOx`r`|UzyRp+n;5IL)Nu=;*4E=P^5XH}hk@T_;4JLqlh zqW<9!wMrHDw@DmO?ggE`ql8tK(+(6vsNSr2$6}ZNS;)1r5WX-;vk#JtE(h z40yh-0~=s_-eewsRI7J<#}!6_mym~;wY8>bYF@z~Z9YSR35Gb?b;yAhT-D!QP!5bX zc@2*=W3CUzb>{N|j;lg!bNj z__lN(edvv3XbwzW2EsE{W zndGP5^T(=sPAoV-T-*s~nEar2a((X+(~{=N`3JD$DrKO|jQT-M_dKvE=d4TLXo@RL z$zbXz>3{S*z3z-rxk*|6RPHaf5ij(f-O&Ld5^d|6t$j{JGVGFT zMPT|{BV(r$*SAkUs!tAd>WjK8bj`rZ8En7YpSMryRY<4$Solg|!eY9f3IpdH;SQV+ z5mcKuh0`8!*TUH-%ue}Awix~t)BD}#D#}djETuovlHE-=^ON<6n6=`$E+9bAsqwG} zr_1`^SNO2X7#A}(RH4O4nWgjZ&&;l0GTmNk<|_~fHtME)uLfG{r%pPmM-?t7E_-)( zS0Llyg`suO2cXF={*UAi@k#jXY6G}WfF3AZQhOk`w{@-zLWL&W?Iz?ns{$pJ+Ho=I z;Gv_~W^2w_1tD-$Qx~YWfCWcPMPHk&0wb~xtQ=ETTXk8s`@+zgWIPg_1f}0d(}@GU z!v;jy*$5~w1qQtRKZtwJpr+pV+cyddNJn~CK%|4T&_M+Rq)Qi~B0@lVi}a3k=}Hyp zB_O@`4nm{_2{javo=`%h#JhiU-~8v?nfvCg{FKawl+U9QuC&Xd30Yx!IaNxi`+>YfY6>@%)6((J7x8-%9&`mwmvm1 z;uqzkAYmU9qXzUB^lQB+yYR3GK11CO8@8-`8OA!7?38S?h$Xmg((?t%?fk)NHGo8{IKB{HcR}>5Z-Vx*fB; zVZ;5(oYP~P;z_FCDH#)r7MMG_SNf6%AL`3PftEfCaNH5IOsSh!aFnSGs;J_?)pLD9 zo5Y#%N7=)JQhYBp~XQ&#fKY9gI?fAyF`6R4!kvnCX zM&vKZH%B_(J>k*A;IfPQzV9I2P(9_z^t2HgcZeN)ACPZ@2&acO#P{od?*DE>4}u$}UAI-oF#80)g?Pma!t5{rPi^bPg`S(+U-=L{?zb6>K^zs+Sc0F0J zAU{y0nVN76QAiYA?3s4V3UeYnYG?iZ-B%0hOxM6F8kPDuVB~aB(^pd4cbpAk&6NI` z_xqsBn*E$`10~brIvpjMA!Hx%JvwsORr;;O-wL!QR_RObp&2~9DRUF}`~j3^v~X$n ztgG|>f%E9HaQs+E%Hs$FxX`n;$S5J$W|l@ztiVg>_YYcKkNN~BJW5)vm%LKUIvZB@ zyvqdos7_LxEi_j4ZTn__ES3U4y`tDeRO>w(?!|c_47@X^Io<2(zqR5yPxPsZCfKy`0Vxe z$8%gg`2w2Ht|f}hMOc55PWw1_(qs5Yf;U5sx0auuU-1NQcAJ{)O#WAlars0vd>m{5 zwM>UJKOD7MN@;F&=FMwzre;V;aOhQ2h7D(UbHI5Ufp+80L!3YAy!$JDaosgW(Mh;= zd5MjKFGtExDZ9;zCW0BYGy2G8gp}&}k2e--u-6fvNOBD|R4!KjfwcFp^kpyR4OMy9 zD6)bxG>!k$L+Dg@CKN$nBCc)hl_Y^aJCp^nJwJ1GX+ZpzMh--!BuU^ulR_nr>>y5u zPq+y$iOv#39vCN|ZU72NB##8K=P=3N%ix&Pvfkn6;ebBl_gG6#>V_ym0h`z|ia0$d z0xJm+(FJzaCJ%SJT+0(Qm$aN>BZzQ)=$ia^)g8ncFr@l_<~8^I$K} z@8nuwEp-RanYSztgp;oLZTIDlj`ngc0GUyvN)5NG3B6wJ!+O#j0iB+lDJ3F)h4}mwjl)ILrcXkZH+gOzmu04&7A<3TW4}h{2oChVF zlvDIeCJ@!=L;SKK#ZCTJE|B)d#>KXqjr4{uJpZpD@)^nt9kRMVHYzBwsm+KrCRiEd zDL9G9>NaK_<90tV3u@l#AmdGulmOi_PApAyx(EVx{{L>dS|H3S4uG`-s4y*I1fb66 z{a;Wke--&Dj2^UBEQ-?!o1M_W9qKfHeCmz1IcHNdzFW@fcpS{veO9i0H>KkZ>M$eU ze@3q}X&bVZw10pt#KmFNn!Q-aAmoJy2>P-Z|U7&Wq{Gl)m#Q`}dOp}<#P1(SYvr|6xr-weo<*Y5NeafQP3HmoktY+e~ zmQK2oui3o675oxckGvLr;WMhFp(Y2SO$pTEPZ}<(psQ6IlJ(nWCgH*EGH?qT8*VXBJ9`rwVP6?ASziRMwmdYvcpd7XrFMSE$(u(rCrQZ&4yab@*W>#9iG z`DHhU%6&2}qC5@vK&nC4-ST+(0om3QD4ubY-(1EP{UfooyqIqp+51;+z z(+8pJb3%YpZqAPQa}IogBnIXJHgfZI(+6|)c_KV+`>{3(-7KP9X<6H}tD_FMfwv_} zTu5zYr%|PlV`iRIf7Y?$Y_o7rrdZg;~|3%{oSE>8CmDTQ_T7ykt)~mlm0Hg zVOdfAPKK^_1p48mWH?eppux^XafE9ZF8+H&~`FB9WAO}nPl z-G0HMWF7k0QC^pVsoBbh+@XXa8wz|W9M7#;y3`9?MTkYPsKBea zd=2%ujWeIWW<@uXp`BM839P{G>8Y|7ra~F~{^%w?8u#lu#!E?34Nnk01nedNm{x!? zDh~V2{QgNJxi!Gyu!Q-pS6Nv*H->Q6W2HC9#ps$*q6Yz*c3Ap)itSLxev$!LR%;FA zXdm-ST+z$gzt7*!+Oq#P3~2mL(_wpdDgVn`^u3uh{qFRIex+TG#Vy6A1jQPaEswlg z+TuO$oP}yC1++S3WGbiWUH63$OJT)^W#d;HWpEDLXLC}NW=22HI_1xwA*K8;J0(q~ z&x9=Yy(tw8zvt;#Ewb$?6vh6YKA!$9Aadwj&6DWxAYnb7VJ^+yY{xLoo_UhaD1N<| zMZJ_oLmQiBIaQJcg|p6a(Sr4Iw)Kka?tDrs0BeEA=;9m=)2y@7ETJXUS@m}W#v(^i za{DAk`f8(Ba(h4D&hM`7s{?{h3V!R-683Im!#C;55UsLcjMMzNrH_Bs4TU6B2A04) z4b?k!gmNX(zEM8`mFsSY2A^cV>#azjN62K>*>1|)mBr!W2hvp5#>P8ui(M(K{PVW? zl`NiS|Y??8)0lcSslRX5l*F5G!b#Mna*vwPRLEX_<}o zCxA|m3XC^iv01U!+q?DuGJ&d+hpP7J3CCB!^-!4dl_H)GEk+pt1s)UzSk4me{M!5Z zpnlEu*AY50P5J(HMUa4%x|8%;-Tb|lyAJ-;&U~|?XF6PTyBF$(s|)zL{vM_& zHJI`~rWu$lF9;FH((TKxB(EbnD9fFK={t;F`J-oW#aRAmMHQ?Nt^}X#b@AG1TqVke zuBADtSA{5m%)3nQO$y7*%Q?8zC0IYH0m8a>0l^vhF&&fwAHocFVtXK;_{t}9og}8i z`cfunE{J(LhzD;x#Jbrwfrxi$WP|hTbz#N&xMDd4undEUxDK^-E})LB8BQGZE`064 z5;bNGd5m!hrHn+TzyABSB{~kg&B89KDc`}-H>XtbVdZ{2gl1d3bU$rp3mjk~@cOvT zD8Y+RYnms-@*uy?TwrkI+KRewNum$@!DL;NQ0IQv!0QovGhJ6fNN(EfN&NHIABJ|y z(SPP5{@NPn4i0kN4|smv3UE_^=rQi)bwU?C-V>F6wzV*P&DO87{0| zE9ml|uL9xeMR@5#$B?yI)_>DdOQ@e9M?iH`chN2_!erO@BaS*=Z&)=-{K-6TlJQmM zYs(zTQTgb#O06&HkViEoa#$Qc2#59Qd`6;F`l5Qi|8F`iI$j2 z*pEPqu_oKN0Yo}-z}B6?&iJlPqv@P>dgW|RDSvgAmb3kA{w?xa1fmDSq4HP0h)6&Wrg6B2@|RqH=&NuF^<5LGGBV6(^XA+~Ay4 zayik76+x6~xq6BeSAQuQb|jv5;=I>hH?7#L^Kt8Qhui#MTg|}{)@hKSh-px%bN&rS zQ!)Wlj`)To`WnHHjKhyf!Y@$CSB|R&!pLgIp3h^vyOc^zT2pMu?%>@ zi`r(|L5HkZE13Orh>Qro)-&d3K~o}K^mda?z?~Sc}r?fK!@Xww{dLz_XE$LFW#pb8|$F-bi2&##hf(fc2ddG?8KR2%ox^6syb< zt#e)4kk5>7+ZzVB)(V%Z2|>FX1Aawyj`xuqOnq(nAHDroZ%qJ)iX0lmiHVLn^g@u> z;LV;i1O8*v6J5NeHNP5O7u|A(V6lOAG5%bS(sDlI&~VK(h5eL>d;Go5DnWC=tnRl| zQ~i{)Yc)lSU~ETCdk~@QV zX9K<#zPT=W8x#xxP!2BNQsxVqxHyXLcv7>6V?F90tzK(zCK^PoG*&sGX09G%?9x{w zXNE60^Vh9Cdq%z2C&Y}V8kd8gBM&SQi1Ff&ed{W96|!dz{MY%hIBluUcq52uMox8+ zmA2H9EvJds%I@A!T=7}t!^!IVa2tmq7ZW~dCi(P=$KO(1Qq$-%C5@9h*_7V~SZ%1F zWY?(&Qe{FhzK>@+$k6U??~l6f;Vb5!XAWc{$KG0{VQM1Q{r8kat%_qNO5p4M2ad4m zx3=hP@*z$Ahn!Rxv%YJY?Lp=Hb1Boi{@n^jSpJV0N5)vj@`|NCi`+xeJZDdfSyz$S zzKkY=Wyb#Nyk3z-hduA$7&6Kem=5}OXekhzYB+{hH#%8mt7DiVO?3K@ti`{-@TRUf zHbru4UCDk6Wmg?IZ=1~8)R=(J<=KBp3?d{z<>GO zf$380{66KSx+Yh2mjwRx2H;$RM7I&XW@PzB2T8*?S4K*j0WS0%E!PsYbt3e;xB*{z z#xEs%D9XlvpqLJZuRB@IJ&>mPUKLKlcraIh4o2)r<19bMy`c{4+UJ_6e1GO%oIZX5 zV?U6@n@5bV#hhq0$+qbgm+r~iYC4tg4x4pM-^WUKm9oo|#y&e;q|O7pMR)d^eW#oV zQpm!2>0h#1uboQzypAaG{*&=6cb|X%@E`-4YhA!vU3AWb7sEknH6<6dF5#EluuJst z!Q7>ad2p{(H}r`1&k7elb1i+gu?ElYdqB3nmzfwGy&~4qyy|}m#`jxDE-pE8Q7S?y z>n!ma)5rS_GQY(rpvg}v@b+lO;msF?XY9`J<|xZ0!4$0~Q&Hp|-?oh6O!fLr}x^dM|$0qg7~N6g`kZQ~C4g zGxA(n!|(a}$ptCIQG_uVdiJQecIJrNytL`dKr)$%WRO5W5Y}u!j{kctB|4u142w#& zbF0;HzxgEd7#TH)8(LSxusod+E=%@&Ce2d zSW}v6R0KUShVrw3Thu+8kO{ht-}Da0{(*u@r}ODm96E{mot3|!NA?@9eePo!!|bxP z>XNmr=Y2B{b!W>qj~eRJtsYKIcskt&BsB_H>5vT%Huutz^WJQ6XR2odTgIXCm2D)jRiV$+rkiyNLl3@t{No1Gxvz}vDi*;;&cki>JpNYLHsyfXclp%?il zdsn;9DQp|>->&dW3`YDV9;;Bh&o@67eB=?>I;325=?B=N${&6Oe3A|+KGlA3>@ zD(peh_Gt<5q;`1tCzatng8vNJcA~^^!9Nf?p=D1S9-^V&%%KzvIYEBb`|#Cwv29T= zuk#3~e+Sd4f$T#Uza#c$xb$t{g-V?cUll$CL*}n;y8rYAoMedkpVQM+dHLJj-EfiH zdv@1BuXSxhk9L4>_xxi@`OnuXh@B(ER=)Nv{W=Dd zNkZ_KKguOt3)cxMuac7fftnDBr-(ZNLYTa-7gF=d{gtq$-D$h2(?5!X7V(}8FWOqw zg`Yk|)5q)Fr>pn}D&@jx>*Mcf4nY=O&3<P-Kn8q}#KPCvDsO<(_0P&fY*J)H4f~a;Ka9T{tMXCAwyiB{&v6W6J}4;POE&^C zQICJ{NJpGF=z#xMRYB~q4&c+O3nezRvU*ypQC30!kT#MT6#gr4_z2 zy7_oBbr|TVxbS5u5wcB`IGV3I;^u3fJZ<5jAUo7MQXAdeP_!*j+)$h|T97;V6$UT@0=)L{FWztUa`RbkROjiGUr!)K1A?3y9g?R1cn6Tt? zknyG_6ulLD@(a7Ow7rtPT0pp)2pZ<^_ME8!54!;U%K^As8U~+8d3ax4-`I7}`;7B3 z^y@UX6iWrxWY0t;WZd6RZ0G!a38J+X%puvsr$t1Zb4tS3@`v=4{&zY(WeYJyIzPXQ ze0ccex(Ah;0>x~d%%LhTO(5y}x9ncSK+i^Cpl3*Wmt-SNZD^BnWCyU#Fg_4Zg7 zt+jB83lEpd4ZR5S{K=VP5@W~Dr+1tDRfwJf$SgTb67fcL&D6R--rkK_p)H`@kAYiE zL9KU`;~57TT;y-*xz$zIhRl9;v+IQO1AbHz+??dy znT?|qv@?jmD}+*}s1h??w(Ja#`M*F2C7+w$c=3VT$UmzbFaG7SC@%-?!C|JR5G3%AKl2anX50qWu~U=$Z-&9Cw?7?qRN~fKK)I zH*e+gdrc-J~-i}D}Enfgg({Xz8A;K4!!(j;^~%D7jV z@47?9mWz0hX$WZK+NlG0S0w#OB)@3?drV^W6!I zC@hoW6(Ml_QkZ=o(ip*pTF`>;X6RQyBBmS4j=ZhnoCLaO``29$KA@?8ZS?=tk;uYiuw|qg4vcq13-~a z_=edaWD#^_f)~R0_nvbRE2`J*Kp4Bk0Wqj{c;B=1PY^TKbx_w=>$^TX>|7gw`9D#E zelte}Xk$Cm{gsUBuT9+(hnaw@#nciiC@uoUG^ZqL=g}Bf<7$;RvX4xgMB( zhStVo9PgKIq5NLj5#}Jb;eg&b){Ei<$3ObEz3=!&U>fHRshdW>uUAN*;$9ap8QBT6 zF{w2V@-rB=XDDzQOA{P3D%sVR<}eo7rLYj?p1NMOI>du{HJ=w z0d-64f~eAd6>42~yGxd!iLQH18AK29{Tm|MY+m^6bzN3i>0KBj0mYYpcZX8|?_0uS zfsg3N@~_VitS)*E$y_8hu5&!uxZU_oeuuy@2N!W^;98hpgU6QsTAS%&fH96bD@v9@ zpltyX3#d5Hs!2?h_@4a4K#);$1HgPs7WF>h>7Twbn)0G#>NT|3@#~HXx&;#zsua5g zZDK+engAr{i~#!uHG(JI-+TGOtSLJhtLBnEwKVN*u-|;w4gQ5jI!O~|{8iJKTL)1I==ikk> zzd)$g#21vU;PQ>OOu{yN8u|;f@YwBABmMNsw#Ctsvf*@TG#7FA+an^Fc+n9W-(j`E zp$*okS+{o8kG4df$v#)~`TK=cDDc5T+MwMxsA)!)UDg{U`8$*3z0*~6=D|3I2OS&< z^e|&DH5~IOW(dsqbECP&B$9wkY|eM5Gi%MZ#LTixdn4Xy!W$i{E_->zOA!=*$MUgM7gwVWJSF}<*RMo zMQb9bxwb@UM1h9*MYU)e+%jFye26N7qk!2s=}}qH7R&I{RIPjleKuX4Jg2>x^f^Co z!MWeD#xG}bol1VsZQt%JUY<=2hn_$h%@VquToV8Q8({4P!Mc0$l&`bAYAA9U5C4Js zx@k_Io$7N!Y4L>`Gt!q*n9R^x(a5!Ng-+#5)&~U@!|>f1Xp-+H3S~X$356D8PH-+5 zM3{5dvnt+}u8uFRu4hUb9~voLExNdGbt2Ccn%ZW?_(wiPx28S)ShB(w#b*Nf(>~B9 z8`-_~b+t|#@D3XP1k$yO{x~5Fs2-os|IwRLMKgcHY<~+qvfbK*&B?c$sn zJS_9heYeh6hYgI54N$5~qITe-^P;9*{0EZZ6ud4ztNDl>EeM*-pppV6Jh2-akQgtg zaV0+P3~+`}O|W<+1IaNe}#N zWY>wX6EGc6SN4^UX_b=`^UrfGO6y`w?dS`bD;Chx9sg3+3xKYrnU5b!02cyenkkM& zA70KhWTn|L>~zx+gsvp;0=91zbzpDjrOjh7=V8F+{-ATimA1ighwcx7Q!C|I2O|Ac z7rsje&0?s`Wb(^-*zUA`L}MM`h5zdb%cm24i?_gJn5MAlM=Dd!rUz)PvoVS{*sfD2 zoUYd^b^PHwIi;r5E&ZjJsdKCU2X4A^Ufp?(>-LrOjCcM=PRaS#^(i>@cC73`KBr^- zuI2ehX}*{&sV<~g-jONtOeg#XP{t&M_T-KaOnpA{M)m&lVEi+JK!EAT9WJVd@$Sf# z8zNh)z&1?TAhv;E_%&8}nNI@qdF|98oO;ouGBE@TC$|c*N`_{znzlc zFgP}5SV}^l^*gqswb8vj2p7XQm&c*Kqm!B|pdhWMIB99o`XUP{WHJ%7Q!;n-2I!cf zP^S8WT%o|cOJLZJh1-mt0`1Zy^|2y0wr;l6<*O@-kcGAYkH_UoL#68$2Pub|x9r+F z9MNb<`MHOc$& z8M~Rd^Niz{i=!E`RC`8-rtv!hdU1eqC@Ly4B-yPZw1rQp&+L5HjEYv$GuK_#(w0bo zvy~pUwwJ8W52b3&r0Om&o!r7d2Lx~LRT`ipnK}d!qG-KF8Ek|}ioIee|JCnWj&~aH z6Y00ul~><4oo=kkWXu$==R0Uf*+HdOWuU6lJ-tgH=F3aR!89G7XzD1x7xI}gN5zRw zxD-nACo|6ZM)Oyi0fho34sA-cC)I}(6BI0OGMXlYoqgS1s5UO|UOEP-hZFAjUy7Ap z(fi`uF#M78K*_MsSBn6l>kg*p-R;v}ltTS^T+s)Fo7eCw1X zvo*K~iygMaILEWPB$e+fi(s1j;toEjP%84TkyA2WY!6t@odFWOVqkeMGg1+{&hoko z$sakKd!1V(>^@kE_wUC|i_2Jw#@)(Ib0d|_{=$Ti3>(yEdUBrZwf9(C+SahwL+QiI zG}B1|nJg{eS@X04p+OC@Rr6*(690$Rf2J=5M&&dR?>uD9IOXs~2Yk3pcz`g*N&P)l z3@6Z47~l9c`+4`GEYeh$I;u*P(NwG9`u^70{I9s{`jTOG%YjVOWkj>w@eOW}z z|7iP^|6_+fAk$MoeJv*&%Pn^-?NXTXaDNFCuC#Kbl`TgfiWQ8=tzeriS;ll$PoySm z&9*fM5vXC4IWc2>yoG!4S4;EdelJCv;Gbug*?U4Ct3|}5q&^<~yx-gsrV!_Jux*+0 z3|^hy0HxCr{F^--OsDu7%LbfPv5jAja0-p-5pNfFEFGVDOzm9w(Ncioc~ifq9Bf&{mNmRh;jGX6%MtZ*_wR5=2%fIq#%HIX9KPo_ zALE^%KcLJrcLu06$fN2;U3)8J&0(W8#B}zk#6Npk(|ER~IPaKnalEd@-`3uiWfd2b zyOp8o^G?poK<-+9YeHj@{qpdkk$dPoKo=`kahX;~2}aoB^IaB-O-YheRShKkF?7Qu{*<>0b@g{|B=C_Vwof z%vJpNd(z3@ssDk?E_y|PlznCQK>$_K7k){|FwbAqU%!&Q*bGv+4n6_Oq)Y7qohyIK zu#zeoXn4N3yu`@=&LdTfrTli7QGuK9-oADbkq8+%=jJ-uyOuwrzj&<}dRUrYDBF}^Xq)%PTED-ZPB zo955^eR%j=J(e7HU)4s-E;*gy1)bK{JGiE1*?Dn`g~bVPUvDWN91@A`m|4;nB93K# z6E6w)NqP+#bR=m&54x*Y@jTR5G~^ce=3sO%iX2xm^?N3O-&v%j9({Ccm-Z1HIcybY z1=nU&hw`Get;Q%MnkUD3W3!bjfy;QV;9g?q4i)FGgc(SqOQf@J^*B3gX`~`s*#PJK z)5x$1ig|;PD!bXq8*dn%YHL5_P64LV3<+J?-^{HXP$D_Kh3nL<{IiUz8J!-v&k4}E(KewI5=5=86 zUx8Vqv-tS$>4Cv(MDrnjNq;2r(lE=9o)Nh9YYI+D_(Q-fH>=0%c3ed(kXI2k?=Jn0 zyqk6Qp~9^Q47Qor_b3m>0UG7_tCTi!gH4TtbUW(hXveCd&p`jz2kag91iU z^PWz!cNT2@l{1STp+w6oMlO^Pe{@^Z@OaO(4yf>?db+H6eQ_M48Jy4ow3#Qgb7x;NXQ z+so}S-Mr;0eIJG%i7Uy|E}e|_OoA(UFl58bBZ~Gs3aXr+nYVdgxjDSs_3Q!nDn=3& z48J6N-gPV-q1FH;zDNuwAyGVuPYf?p#6H%QF7?UHZEQ-a(6PR_pp?nL?RMaf7o2u+ zoe{pwlb(}vL?tAxn>qH$iAA{eoSB-3WvV2+;dy?XDl{Y<9uo1i^mVt1qm<-9&xG~l zHYxn6+|MeE!Jxo3wUwJ;kBa@jD@21?c82{j83J7nXDlstXJ)Kcy`6lz)?GE4+uMT^ zsy&T# zBp?3Oq0La_l;xyy(`Or!`1FB2HD~I}?5EqLydXF6@kr*&)}B!w75^?(`2Aw0!nP|{ zB=W>6s4X=pv$HL5eg?8T=rO(J@#5{nC3=uqwU*q=8)15KN{?=tq-osV;;yys-)2#; z5<0G7X3seL>!twDxAO6LY}AEA!W6Mj_w(Ur7d2 zsc!j%_Easf@P2P0j{imTT26A?`W2g%hNk5%#nxE?Q zot~f&Xrc3|JXp(drlX+`yOaD$A~ZEQuQA<|R+afx;8F@b1?8Xy35bFBcszVk+{p(i z;IbWyT9M;#{en|>rTfC`@oeO&sT^6Oj@$$BxQ-2{?KORrFEFgel&-ozMqQ za9^*Br2P5YkwLTpV5C>O3VDEN=<^UKl?Ig|g`MFL0*wP>0;iZpW4UNeC;WaE?og(@Xq;G9VqjpZz01s z__fw_-;`bn4@XR}S)W0~%WRJtzLCw=w}r$@r9v74f0C-CubrM^CS$7bg###L3_AY~ z-eYzJpAGOEkirdIRCr(gp<9I3%3aUJUpq~k@xs$Dx%pV`FLU4P<_vZK0?U)#cE!A_ z^&HL7iqvcEe|eMiuPcMZ@j>TSsRI)fs#U9XtNTZimaw>Wmook=>3Tp~dipbn!+hdB z|A~#jLCxw=5HDU9*K`dJes`&|Xmmc1PaO=cp}pe5S8j-r!G_lWx7&E1N`3Ht@7I^m z3-%Q{d>p!)8rC6&w4%!%iG^h+Jki`kiL^V2bG&c9E5RvMrJFVqMHTiMoJHIWreE_fc z>+JOpJ9obAKF3cxr=KKZUL@sLAj8<7}C<*lhE!(5SGhmt5TH(-jZ~jV}H8;o!{!U4y z*M_z&RmjPHy@qC>`ee@-Y<{443+?0#8ElqSbJk0Lv;UajtFrx zxAE4muv!JMdFv^v7%$=C&vMyluD)C~yIM@&ORJHwE=g?j;+3H|9i^mh)Ax3-)C2J^ zrgy2MqPWPSil30l3Yx}7*d9GBme%s{ckyNLiy18@c~_PC_qm2`4BUEl@J+>fEyIIv zyV`}`Y~>HO=yP(Q{a?nHfL5pX*ZS9;|3Hp4AiRAaC-ZfA5XqIo&$FbcRfYhwb^Yir zC9Gk%)m(=XCK?xKzJIpt+Aq)43zzTfA2`;gstyaxvk6_^po{qdmuQWE&AiW7u@5+4+g8f2oghlg z55tkicOa3GCwNQG$q8h0K=jrfPgxWIxy~f;(^_-q?r$-TuJeQzlZh)loc?Og$$iQR?JiMi@keL*R3f< zyJDMPHc5D`>ievmWvH6ygTzkdw7M1Hda~$oo;wV?V@C0{ROyxgz1cW^n~!w4OQ+n! zICU#LUhaMkquuA(yn8KzP~!x46@FnmIb<4CgP}r0>+&#NlNpf>0F4@4R~2j2FtQO> z)aYLg6GTsbUP+=mseaKiRLNv%B$PakCCT>m(1oX$9KHpYlo42}$7z={paM<)hopZ)#0pNhnnt69{-;s zjC@J`oojUmb%h8a^8;34Kvophhp!y?4%y2fFtq~JO6pUukuKc9(JE_bG3KC&?pwi* z|3DEJD*el>{RVh=RRCG4I+mojJAzdsSEiI68Ke+xj^RKyqn%lWbgBDg{SFgq@I${( z1_<}E^*%IEl51W*uUoMCv&TPWnBU~JC8v?YSm6_&FBH2K7oQqG)7FN(aP>mundCTL zf>C=*o~Z#VyU;;3-uRM>91;Cy z!ZLvzFNL`YtIGq`wMFfs5Zc(u(6t1k?LJQOnd*l8q&IjctmOJtLPfwEMjLue zVWbmRcpm#KZ`Ta(vrXtHV8}t6xT4Q${r*$c#hqcNwQRRK9Y6^oln04;OI-uA>@XiZ zVy&z4D<0s0E?lY}VUBtsD0^$n>Xo4DM@Cmy_IwcF0E18tZw5TX4#kS`Mj;nE)PkLh z@G{tsdHs;CdQ5(Jz?0Gy7|#GfbYV2Hkktgb@x3-3{IkOe>9Gm7$@$AxJ`M->X9>!d zGowUCiwaA<1?#;Wr#eaxXVc{sr_+k%Jmhp+^`^9Q-mPc-PD>3l%bj1JjJs5Z#hD2E)spzJ(`>7DDPr`=M{q=EE%yLtzb6~}Sx~Fnd zHD7gm!Cn&*!U!3~+Hbfq89k}GqQIL76{2>Mmo1xzYM6Is`ZKH@3Cq=|t5KHDzcQ%t zX*)){%A(}-Q@Z6lk_TpI-;d*W1RLPeM$>w_veI%EV@8fw^Onm+IbMc}f5&oVHt6%< z9_1dxrKqM#_@ZyyoDh?uKX$R-h8bC{NQ<_9biQss(0?;|EuYfba?rVe?1sZpNAUVW zM4N1wR2jVn-=%ryyvvHegNT_5p3~`9N8s3M1Fe%6&Wq;!uD;pn+7qkK7DT)p zFPvVP6u#TyV_uM2$!X(7;k}Tf5YwY~`$@p9>zi&AWPqzSY1oxK;Puo#^~Wov&1KjV zV7n%bc^||VAb=%T%@f50Uft!YMM(X8!dQdesfqV#gTzX~MR$WGb)B^*&$l3pM}XhD zwse2t^6`pIz+L=IaljM2H^T2Ifnn~7lH@^euY9gMMM@IS`-5*6_~#zJ&KzbfF3Q00)%Ecl zE2U+Mrn5*E|pT+>DC+UF_-k!Czs?+UDhw%`!q1nX!Jj z`$YQ3vGUI!C)yJ{o5>xUwz0>1hOQj!F9gB<@*bt&{>+R{l)E=a=aK!p0-%!SxUn5# zWl(Gx8}Fo1Q93TLGW(a~@7ENY6CnID1xLo@8w9)s5R;x*>7#}TDp`zKWc7+k#!%md ze}a=?Q>viznYF_QYMjMgA<^98-cs`)iBl`;em6S4yWlyx%`HHu0x3XY z1sOb(+c~|!?d=#7%>eBYHJsrgKq${L`if9m!#>k*4so$u5lhxyW^ht8H3_#$j5x>iNNr8b4?;+5qUxDoJgj2xT zl+^s#MQK+A;D)-b_J585wPot_Lfzi?Raq>#q$CZ4i7MZh7!ZhzH{`a%&56j!!*YKp zP(WP23R!)r?qqN8ba%qt(_Nv;t(U?u>H}Yj#*3#We4j&Z)EtZxNC8ESSTRmdndQ1X z7;1e-<=|sSu2ml=(;W9omJ#5|@>P5k76#1Bx15U$iT7QK{`y|g$P!2k-Pipm$Z_@8 zMP4!uwaqlUHa9UoaJ!6H{+l|1ju!$U0-l02KUH_ym`6`QZ%n(J*Vo0pEQ^VxY%N4Tsm>-hcbiF91hJc$C+&c-?!J%Zm9^B|tP*ldYC54a z>+pO#Q0@)Q4>gA`O%=EW9`JK!0@KHH=v) zd>5A-RRRxtcz_Tk05+*A*|Ys;4req^{EZRi9NIkh7D1-1GkSl7tV*ah&W~ z4ROGOnx?#V7NAYIv&SAD&YjCOL5t2a>IHQv6z=hlHdwaVbG$cF5gXdmRQXI;it z%SwXAmoz#pj+Wt?a>U>Biv5igWej(~0DIEcKW?69N_#4ZrR9+~KIm4GPo8-p@$U1< zJ(~va5Jv9(5?nAkKU@A1D&T*xRBV}PAMROscg3hESS~898d!^+h{ni!PLi=4{W{$V z(@-KMinX1jchffl6M+uKL7sW~EW4zCs2TER4*O0L-Io)!E(fU9@@`AyY=#<0<-AS2 z{e+{XA4IwfZ8R~YdCyN@$d+XNtvnC%XVnlmTlGFyaGFwHMivicbDuPaFNwXh z<=(_7ogj*hQ}kM1Cx7bini+x-QyTFCnq{R+#0YY(OMBj|zI9uynOj zsze52nAD&&%+uier~(6pEyO+;86?9@5)iJb2X^=jSYn^BQ=qbua8nR6hgxh zG!3CqM54#!<*#}UN%%f*FryyFhdooCy9)*{r$Z#(-pKZMCD{_De>lXDY;e`-)(U1Q z&JPTfcP+_Y4Q!)2vUj#_g!&yV>^LQ)9rld!uHC-%=|k+G&TBIlh8H0oS}fdW6-M7# z4CG!xxHD8_4vLd*G+{&ZJca?4#ylBQ9D>rD-fOA6%@-R|!F-@dLEAGV+0K)L6^rRm zLW|rr!Scs;JSo6i^~*C<+BkLbVr`mBV6Odbx3X2zGTRP2tCmpEHl;W{o)By6rJltx zHCOt1idwDT8=k_PkmyPXTTF2@P(gN5X=E7xn$2Nuwd3O9pd3W^REgpN(cQT6JK*<9 zmS+#HQC>T(V|rRv>FP3#b)EkYZ|4=&)E0hw6aYsZkLjARs+L z2ny1hQje5GdIyoFw9pZe-Xzo{3Q_`zQnrxf+p~I(;9lUA8C#Y%SZnT4EgLcb~Sm zwu0y8Br%e0JlQ`HY^O9_9PM{wXaQgZ4nCLxTRONXmSAw#r)V4&L2%Jy`&k4NsiD91 zI^rf!R@_^@g{9@YSIauXoW?(&i!HAx+iEu`VXV*`YTw*lIdw)D0`F?J-4v)Lotor5 zLoACiX<=9_HmY?awcH!)nF3uGO9QPJwcwMYdyuk8KA32OYf+qAC$$Dwrkgt|-;;O~ zIpXBi9;l5L2LA59L&0M%ZVE%Ltpnb%&qNtprTCpb&nrWiZL9+V8|2$lop=hZobKiB zH*##TEA=@0OG%@pYfWDl>yP4u>0pQrWJ8nA*0k;M zef(NFzIj$5>gfdgHbak}p3)_W9;(Z1Rd~(Pco%rg7;bBZN}4- zOY1@r{~RiS)jH8^MATdLlTMY}^#H-8qaBRX1`wFtD9%;h?IVG{&3_M0Z^_T> zrpH5@z+@Mfbef_Jy*QS9dci}F2ZR-FJTu_nrZrdO)vT{Ld_(jyP=o&jww}mIzohY%l2^6_ z??(R?(;O1x{7E8a@%}c8V$2U?2zWYHn6k5>zNU`oYiO=Y8n|x{DkL&? z)makQn81t_;VhTOe;wZClNmMDK(Jq|aFcwAqB*~?geR-SXzU2bR(fa}?)wC9bmhw|dFtLk@18 z23#F;4g=SFaoXi%UqW|Hxl^zDaDo)*TG5K~@y7-cn4%3Nm3AvgkX{GUGSJ^|->nDu z;=QiSH`f^QgK%lzjx{(7!7!y;;%~CAKdwOpcEfcGbrH}Esob{p3B_*4BWwwE8j*Z1 zlO7~z$l?+xn-P_xIFd15EL{#gDDL)ml7<(8#rV7h+Y%|J3G=jjKn+=EURS89&Pg>$ z7A}q(M}t26#W8sYJ}jy%xHNrvg%9Tt12T6e7Nh#Q=}9K9n)4ypm?H@wECfcnZ8fDv zX8%l9I&zwpYD^x4(yN_o3*{5se1-o&qSdUksXBe`m~DxuF=U6$pQN^fJ~D$Q*i=%V zyDUNco!!rVTmj6cCbohbb!D)BaXuU77GQn+FI|{K_MN)UTFQ6A^Q`N8Nyj_pDk%Z# zl4F91YMb(G(ct_IKXzM;Y?DvUJ0OzOf22U7gq=vIc58V{<2Ta|K7&~L17BV1rg$p= zw(k7yXT;A|lHtp`#A)BMkDv2A;vHw*yE_JyNB!F2+1a#iG9-y6j1VQEN(fO2NO>@g zw$J3%__}MMWoKZf8Q6R{#+dKP4O6F;RIjSY!cIg}{Ud8vO_hBswB-ALg7K4o>Dt7i zpY8tyk^3sJP_gEyA!ZL=2dA7wWEAceoPF;}Yzj>gNG*m0)6_n{l8*BN3pd~Is4i!r zrvIfI#PTe2VKJFom@^0?f=KuhK9{JBj|ED|^taOXZKfv@-5Z+#UsC<>)$P5R-c`nw z-t~zKMqVFkyq$)cLtI1e#4&@+o4wuUhCSQz?aEKa7ZkTIrAnLKx(@p@`02Nf%NR_= zwd_fOU#G(3nTq{S^`0^O1L4 zP{RJMv_GC`Xgh__KYbk4tB4SgPV5YeAoxB8!&yqhnD1xx-S5q*Lj)ipmGaoOq{FpW zGS%LmmY;ZO;&Wbx%XW%E?1HrwQJ#ALqO*0tlfXBrL%w*&=(JSrhOcEf8BvvAV&n168@$0NKZ#G zP^+H#@9O!I34Pejqq2o0JqwYd_yGgKxr3cG4p0v&cw^)lR0iDcMaq)KtLlC!50*X{ zqrQr)bl#aSCOA$%EZpRIRhHaeIhj=DXlGkzZ+3dHAm?3xc{^h4^H%G#QCp-XY@tr( z_FC)sSYTBJ@<|o+&X3vqd7ZxB^1Xh8ZoFm;5o`;fT}eNB0)PSFqnm&uSsW6#G$g7x z-JtLuXd`Fd%Fx$w6?dMdTwl=Xjv?jIMy)P6{-PP6EcTO*1$75Y#}s4V_xo3j`uDCe z>&dOV*Q_~8)zrf)2J*63+XzY`K+}WSPFn(+&u76uIn{j-skq>$*b?b>wDrb#L~`1x zryF6-d1*lCp#NxviZT#FD3h7`_pxF};Z2zkYIc-&g!38~MR$6YUw)!*EfHjWeg^*% zdVNi-qVaeI@l#p+g8f{ug33@tvW0G>?jTKc=BF=TZ%$a)+B-2GFs|i*19J+m)sjV= z@f?G$PZx+t5x{x92o{Fd_LX?j5(6dk5Wj7e0z!S0cSBuvR;5tbsn=ojmTj|pk9<6q z&g{xODzOR3o=NexDlMoEs=1YCsp)m9&Thx^jqr5Z$3=EXZ_m51%-+h%yRcf@n3P@c z;zzDZMhn)`jVK=Gf@zsnP*U8hU!U0}DtLVALcN$@#bT$=ubR~>dKL@|^R`ZvSSb9M zDXYCcBpLOV#i8He8jwh)C(wPGF*pMY*jg3HB=WXFMJcxKl9+hkZ#K8mgTQ4WNM0vB z-M`KQwq!{@TbCaFcy?FQsA_wp1yUyV8mt~}3{+1~KhD#rtEl_tkmujq!0zg1N$NMr zz=nKk1C`N__}{ud=%l>Enrc6^YXV$n^}a$eVDo*bEi)o>>#g&RHF^5 zvG46)uSVm9x1}tCS8sFQQnRVP^f-HQMq9QKHl!G1dF@lZQ}d6EA5~1;bGu764%^Mf z%Av=$KKGYw5fgS_|7L%7Jq}y@N~C5-klOoc7c5T|enoMHu-zUI<2GEcHvHi5dhang zK8a!(1&bs^VP}r+G|h#Gn4ehcOgi862qQ$r^J3efF#Gn%ESa5+cL!V5 z$#}DE5ZSSbg4iDF|EiO=vGI5CJPNib+1kj>NyPplWHkh5mry#EJi8j&K_!QW;T*U1 zjsN|N_gX0fXP)JnhT#OH;`T|%RuWwZsAaa`%C`!{e?3J zTKhwhQMnBwry-C(v>+pHy8p@Y&X6tW3}~jAp`Aajqs??{k&cPXWVCUFVXT4htiquZ z$FKJ6j!F=Y(44H$U8HAqecpSkeZ@8O`oO<*%D;~g;I@_FIViF_0GOj)prs5xJQ!{{ zSJBJC>^(VF?dIbAHHRkM)tvn#Qiu6MYy`hRz>CYinP#*U7TNJ^TKXy-5V1ZHZNNH3 z69MS&HccOlUF};P_Q+E17Y?{7IB-w?Cf&~$gwXJ`f8u72ZLJ*4j9gpy3YV-#6sxw6 zru<#fbMx%2qb_teg)JCWC+$Qf`|{HAOSVopVw%}>`;a`1tut!AQu9Kl4_i_nrzE&P z=s82js7`-@jt=qu;Ted}%O4^=qD%}wj_Bz&MFM^aiR`?yh?mZIt~LH*_;!c3bfxqp zvUQrE)%%N1{MERz%Hm})7wU7Zx)Q5#V)@dJN0?tBSJ%OBVymA;SlHIDZu_|x&wOh; z*GWj5@G5D^mjV;d!#TW2D3H;A#*(Ny7I8oxLME__u(q7Ezo2Zu&Y(x{C=JMNBEHmIrPgW6DsJ-7eZwz z`zRC$J)&43LzUx}-kj0W=D$qRVOK4nM==I`ad!!{GaDHpluw#iZ=c_PyO0t*p`tYu zSdl`~8qw#D{=SuoQl4NCOrMZ@$;hr#fEfD|(19`oYk;*jwdj`ax44;~{{5S%yW3um zRnmv9U~+Bmnt!r?mO}XoAIF1?p=i}l$46THl~4Z>-h_>-aDNbrGqZ`*WQ{#R>DY0o zt+QTaqOh=@VLh{xp0$2%PnI|6WgyNf@XWTUgvzGAVb{nvYu_RbwWN%8b&x?=Y1teN=!Lsl-Qzgtwq z2u9OnX`*Cj1``-`eTexSR)g;1gEx!Y&u`wlw@VpHnV~U8Y-ZjPqFOp-+AJDkCWRzUH^^H`nQ15?Bx917@1VdqE8fWuYA|`>R&q?0H%xn1c~bR8 z&YyYtcN8pBsqVgr9Bt=CN07xH%=%Fr@p6v;ZG@A1u=>NP2C5Xu_0rOtq*GjLs<@9+ zS5xOxsfE25&=F~QQeJw_vwy5E58*yO>%L#+#KLFK`Ar$7&R?s+)@EZ~yCCm9u3Y@tb)$BPdXDY| zj1&dX4uC$%9(#OL2>h+!jjs*(LzWzVB~T;5JA2~kWM;`bax_)B_cv#FZdEVS@73d*lt56f6P)u zq}p&w>|WhM3(a3Vj?#Iz-IxIuT$cu6;Ajgca^Xi;L%dp~rg;v*jm$P}B3O=IUt`)b z1uJxw>X};;qnhfZmvY)aw?{8q=mdKRt6m@#6$G&BZ-T4tIJftp$+_17HM=>YIlRJE z_w6pv6m-=DkDE;1;xodWWJ|QGz3!vS8M^vcVk8G2ney z&t8Q0k;-aDYLIPR;cxNw8LRqNE%N_a+o^s?=KnNQD9L{-GrGvNMfPp*R$ragkV-Rb zuzs{+1E*vs__c12a2-%)H9drPNvMyjk;V?O*gz6dyR$<5;pC zP=>jko8Ldc#M^87rYGuPVjA>>aQZUD`ihx7L!1Rdm@G}P@>6$aNhoifpXt^#%zvl8_2kb=)IhSG? zaBd=XqQ8O7`LBI=Y+5W~N#FdOUrPD?nn#c9`fLV_ZTj)t1=V)&gjQ-sUQ@2Bb=Fma zNX}dB0M(6*pT2+kY)eZtxvMl5AxTwuu>Qja#X#*Fct;8CgDwTl_ty~SrFW6ikvZTeB!LBQoy18GwH zfEYG&5W_y$NCX=Fu!#M^pvFLLLk)gjg?OVtk@lG!~bqPwT1~N02v8`Q| z#jdUoMoIX2&h=A$A?I0zkW_=C-w{B)1_AIVIUKo8A&kiV1c$V=I)ccPQRx(<2Eux7 zsDdEI>-}-?DB&RT!ntUR12g;S2f<48fVBBp?7Uj6+Q{YBKR)rz3x;0lSaUeY<%DkK zVwx)YM*3Rw@oN`hIc-t=dXA+NTzAzY<@!G=mQ+wQrX-ROLm|!<`@C+>*LY#?w=IN| zx9v)|D=au|WGtOfycs_V>+59yIGH%eece+wKW;bC*Lf2!*Xc5y9G$Cj9fs?}cxK07FScHi0RRqkF6orQnB^6pb zPR*Nst+Br*K|#j!Gg4et7*iY}XVqQ3?08^;>$?z3x}dkU?C|pwnIsWu%MMkM>&2$i z6DNzO7vOyBAb{u+Srtq=wJ_X13Z~YmE2wPj59FoPy{H8fHI;MCO{C$Y*ks4f9E(Lg z2wsfe3&{<+fen#IwKX zSoKE%3Z4!EPQ+rtd`zU`u<4|lzL@Fs!P1lFnS(Kvq50LmasHbR@XakPadHpD&sivb z|1B)@b~)3{gB*d+ec8r}_t*EZ=Kj1X}en%udjv|R88t4{6 z2f8oMN{n@trxrUw!mBpcR?AwmVG)(i@Z$swY~m8d{8J?Tkuyn?B02xjd%t820SDf+ ziShz6#Viq93hMf|`@?UxC*wJWWP%rc6>G1?^oJv3i}Md#3qw+GTXFr(7i9sIis7D4 z5MdzSb-@5!)AD9}l?I@~>Z!CQcOMQKU+@GYpW!S+v)gOiRTmwK`s01|1}RbyYUnDYw4c1)yU|b z-R2fl?x`xMfHjdJM-|f&)K>;7TfAU7X2b5`DFo`aO`{_h62~eMXa)#A;BPrBT(pg3 zi+_^$x@~9OKfbM7YC%uz(YmWY&i<_@zRr(|c*GH>9wqSWWWJ(uRH?U{g^Fr{E+)H@ zH+%l2OXwDkHv>jV$Aj4TSfr9m{<{_y^d&gjB5vNoUtkT0KHB)>ywHpmh6fVN$h23~ zqHx<&@qr@_dEVTQ5Fe&ax1ngJP~+cq--0eqj|vx?{!90QyH1UZ@#PnH+l@XhoW<>{ z&GJ8oh5pO#frrL?+Qc#PA~j#{1)k_{GY5hu>3}dNz?rtZ*C~4=tFQO zgJTv$8v7pQ58$Zzlj#NX*&lPGU4v;I1R1qLahn+sM8syKnQIwo%UylnuQY(K04+`0 znRqL0#j;YtC*mRJ+9vl^runo;#;%Nb|M8}|tZFS$z&sDK_%+ZzL}KY)%Tk+Se%4_= z)zG{-FCzaJG3nNjWAq?fb}i=}Cr7{1rxp=j>o+pY^cK#!r!Y%BNxRDQW0NQczL6^= z>FAvQ610p%XtMNR_%tHLREIIa`1XQgQ z%DeUCwh9{L?Fa`T5;zmS*qBrb(CilMJ2DYfMw*M#)zC=F9(MNy<##3(3)>m(c(RFP(U!o%M@Tn~~7u388Rvv-^f6z=D<|%H9#rlWs!y+pYYG@IPX!Qz=U4B7ju?jjS5}CQ z@YY;goJ2#%>FdX`Ex%mtRjk}q$M>A?uVeu&(L*oU>Ow*j+LCWH{^-0KIsr4&+} zwjbP3Pc?dM-1)iPYq&5VL_=>;QPgHk{-bi>u37I^er9I2mYGbAwk|a1q)w-`wL8Xo znz)GAS8R2L`Tm?*RB&DBM4Sb#kQR+I*|R+}^U=vm?_YQZxsOY+KxU>|p@YZ9TLM z-STlRp8A(APuI)u;>+ui0Vul7w};Zw8~bmVczhLg6$72ce=_{O9%-zTxvQeP`8H|y zjpiFBhCd4uC}k8ALrg*N7oJeL_qFGx3s}?sc@}NDvLr30c{sG3M%9n1Gjpm435z({ zB^Lj7u%DxeJPV@#-Fjvy(6o0*C1AK=(v~*Kd|6ZL3tjg5b0+Cb>RSIK0d0{&=N!j> zc%~yQ(2RkOK?RwUU_Jyj~ zwG?J-mFMjjuT}WAA6SnE%xG`3JbcJj!te$@va_T;;Q?C^7B#T_ltMl>2jeV3Z)1t` zjlA~K0{SmU=!CD0TzIknMSC+NC@=6UM8x3!bI%NGsYzorO#MxSAN zm2~FhO(-j`>u5_`bm$MF2fcvSkZQ^ycidAtt)U~^^y_aDd$rvdZ!kRM{37vcn0=z| z=+6>Fx){1(qG|20*0fOU)N$nVqjlT6<_B9XPh*ZWom?ed`|v#4`_zuw0i` zT)NNLVqE3B^X{M`9J!5jX;o!vXoYD%lp zHHM2l7p)WeSd~Mu9f|!<9{Tp`50hTm6}}u{g6U;g-H>>GUFAi;2J;zH0cpK!g=W{H z&7R80nfNpKO3u{Eyi2)W{~!T)(>f)XjsZ_@-$4Y}DYCa1p6&+RK2@L?`eUI4w|G?; zO2$`dAV-I(r{T3zvKgx>h99Y-J~=7huxoD{6h=Dk({!3hZDDBr^zn9)g+!S9PgRuM z=ERetGDmEEr)%l5arqivDP2#7kbZHM-yVjbuLRMEy!|JZ;Jklv$sDL@ zKqyhm_2fu<{sKVLjVZPCmuOxE1^-TPE6s+GBZu{+Gj6qGqCuFMK50J{v|cz&cCwL$ zdNJPqd_atA_vhJNgfGaE*x2wHa~?p-lSL-J)-rK=0-qiONu?^3yoRQ-_>m7*(5@Oy zE9)E&r>QC@CDT)WW6rFuS`VvxNtLuAJFT!Q{SdZ{-lvXzO?8Ej2_RbB!l=qbzQ1zB z%7rqqv=C}&vPWuE`R#eHrG&C1`+Rfqi+TQYkp-OEsKx;<`_;`Xd?}gOHSFC zM6vtx2whSvt0qbqOk82uz-^NuZ=HJ}=Snv{f^{yISP^$nbv45oPLn{md;(2cElei9 zN;mQ$o%YEG2u42U=rZ#(_H4oX@2Rh|)vwu>Qs;jPt2qT`RXkn!DJMN4C&rU9gjd!| zygvW}W~%J1?Y!;svnr%!g2J+F+DvU>#=1r!R7o-uu`TS>jH1{DXr5}obT$*BywQv9 z>(T@MNp3vk0#V+X7JmV-GXkZjj#pqYU!Ytesp33_YEM8X1HvEI0Xju;P)y|9R6W(Q z2Rox>+nczwcLX+@O~+5oltutTY8Xbha0gJF{-dsAhkLsf?qfb=x{~jH$!_1+t<`9;;o9TTrpIx)X5n0Nwg~M6l7iV1v^h^`bq@N-9PL5%u66mDB1rpFc*ne;sj!F zkho6C@@>YjOwd?#QEiQXn{!!S1IYq9#3>fIF{w?L)|eYzoI$pIw-twtL)>L&mAzY> zRI6*N9?RS+C@-?qxjY& zefnO5Gk`0uOSd1yPd5u%wl6QioS0$}e7MhwA+GMuv(l!|4#t%3Oe?JZv7J}ftzsEG z*FF~YLau39z!mMENt?!ScB>)B7LXSwL9)%FKS2SVjJyKV6l{o2AAquLqv!z-`RA^Y zg~U!X!e+E5?R%1xPRbfPMGjU8KMZzN$3-N-y5U2OwLc|G=x(fs_xJfLiH(d1Y z=IbQuD}NFd?wmqJIvzp=5XK9OG(otZD`WqiHV|ken0VkSHVscYlnvCe%2vEj zklE5{%o10Z=9kfu{zjAw(si~deUWxA)sFk~6(PeHUii%B5>FoP6NF_;q<#EGZcn6` z3AKcXa6P>aF4rcV{*{#5faj^bw;THuQj|^1qLYM)Hhk)jEoNhkiZeXdEeq%9H(-sF zc5G_S69H-HhRKScfS>AaF|T*0n}4?#X+ zVHgvi7rWLEf;(u6^DP6701wFl4~@TrHB3FQsB^z*5s@yieZrBXMm6q>RO-9l8DOlS zDD~zYmUq9N#*4T~E%g*tq!#N5;3hZ_2HkBra)yg-{RUTO4;5s6oSSpb`x}S@rL;UpD!U_!pDPc%QTi*(0I7d=he+c%6WtGSZ%9Yjm(+soElRv%r3oH zy3jt~h?xI4T<)cF4pq^x%|>6B^DdO!E|z?##Dzdo%j!Lnd&KRi1vFNRWH|CNfHpHT z(4pL%aaFkdxf`^*)k}Y#HsJb&&APOGYhgfCg*HttTPcBs&9@sQ%Z_?*RF+wBWL$Ll zJ$Dlv`L*z9e;&8|s$r351#$je`l8Ec&&su~**N3@oF@y)H<%hD{64183mUgZzK2>dGSFzE* zQX@k_ZGva(s7)myLG zX?JE5yPNziEAp8IniRZz$L_bpyMsc;g~;?cJwxFMaWx&q zqzwJ8j_fx^iY0-5hsocIUwR8>FBu6b-EVyUyi6A6cF%H9Da37jd`nkuQNb_6>A{~o zb6XqBPiDQECAo42DW`cA9eSMpxtR6pgvx}Y>? zmS&O84i8B=%9HHsdw<<^2Z|NU=)Y>gSXkuE`L5=-kmGzyI;VGgTnC=b!FoZx%W2z( zYWrYr-!DYL)~5SYkmTS`D)mQ`tDCEf>6pXR{{ou-CqWU{q=Oq`{F_ErX6%dG0 zZNz$Q+DyE$ulj2Aw{LJd*39Wou0N%SFANr<#HReGWChAHpB&-?zYOX-)N%bgHG1y79zZVwv&Ti=uT#8{A8 zAgP}PsW?bZ?$JRdvp0}$_aC`wpuvYPcIsB_Xr6dYqV3J_)4P;_^)cI_yr*TNdF#>% z%^Zv_i|TQ8M~<6hplq(^`G!wgj$pY|p|FVAY?1NDl7wJE>pJ_C>8ui+>sb||_czB_ zjHK!#TvU@PUQc}Nyt{o(mjA0d-(FF|W|p@}MnR={nbvHDlcjB5LDqd|zY}T7D?}9F z|L9^A4-jG5JW~?=$h{uc?%HgBWc`hQ*tg1Q$+`NruYXXB??#e@X>4D=PF%zmLzIZ6 zXrHkzy5f1zBuJZ1e<*h%4ZdkKayWz54{b3?LNaG#X1g!KXN=oam^ z?^(vG)C+%KM^QY>KaY)`%Bfv&eYrfJq*D<(F}}5bvCPq`aiGV6d_uXO-3S z^5V}|lFDb2%p`48e!BhEdlkp=sK=l%l4&D?oaAdJ`|&f#yI+r6kLI|=p~vC&_n;>Y zV`sHZJ)H54R69-Ilu>jvbF9&*oy+qv&fD^w1oc1W|9N_K@yq}3*F1GTlBC9UE7O)R zmkuxt2<<5)!w=IZi+UFLDuthde%Vi_Wl&n1-yi2ti(d%Fa7betENbNms5RZjPf?U*#%;-refx1|M=TLE9CNXlc_)- zu2u6t6LNafhzW5GGwF;^+I>$hYB6{=ob5bp(cb&1Iwo!=A6vMxoa4JFtu23pN$)I& zxZc@wfZxRE$d5{immF4qwKl7yyLF#-cs=@jX~Ww#yP%YkoofkJB(8k(xgQ9tBWR*nZ(w?Sn)8_zLg&xPu=Tt#mTJFLOUPk*4!R6~5RS3^6Wj!>(xl-TFRs z`nPa5>;@r-PD{cwU`T5iIedbz8xC7~qeAzEsp0bw(`70X&gD*+=jrz|K?ScqomI_5 z1!_%*W*3R9-O~D^CGq<~1|7e_yWw(^dsf^fJ|VQ+Lm+$wYrhlOeh?9bI@WzqKU$sg zp{Ji~`0`7L6^+_{Ca=BCCu33Tdv6@$u4h5YCW^{Lmm=C3940}e7g#E291=0z1Ogdv z{L(?eHzwNyGMoMF{~lF}i;%}}9FIJF@r5X(ThO&K(wATM(~DPFAYTZpDk?{ZDUIL6o_TDHi)nsoWg=p#7U&b9?gOUc&?aq% z8yOjvZJy;z9b3MdEvN?fQs-AaUj+Ix!uRzGo=}%Xhf`95dECbt=vI)P0we33Ynd%C zrCCx~{|w2!OWXSna@DWji*~e{Ifft$xRx_a=`N+PWx;X8uk z6rlTUb!AZFAbc@2Qt|LN5@OsDyCxs(Z(rN)>(k}rFntpK48}|!eaGAE+^bEPQZL(h zAf2>O`{w2KH}ePrgWsbx{@A}NwHIFX(52@V`7u6MzI*+y3g!JpV`f4$-STiu;ehAQ zm0tH4M^QyGroSQ1fIoK_^jV9;HE~ffm)m13G6%X<=W7o-EK;3*%OyTjE0n@I{{uGR zJ_W(ayS{2&+HTt$S}P^@7&%f4Hs6IBMc1T#Yvlg$DV#HI@6^4RM8(VKq zP%|?dk>uT-Fj4#(uvmUIN9as!T~dQ}*##}QRqYQD3#3+ysw?w|_!XSaT_Vp;_x(Y0 z62n7A?6B5f{*;%_ei!2CWzq|yz~Oh(di*Ztz0-CSH^Qva6&~XfZBK&qVa~z=;cfV} z0iQ}^!HHfsmd3Y!{?B{w9979q!fns-^Q$Y(LE)xcz=8J9qv3rYXmf zg^;A?grG0F?TD(A>(Ubs-s!nzV3H_CWVrz%0mM|}DVM7M*#z1M3Df#wJqE12WD}8! zK90E7Jd=2}Cu!IPo6H9pntA>cMJO^8-%Q3=F9%#_c}YrCtE!H7xki^@MpDq%--iM= zDVr9n6%KsXS_-a`a;gV9+Ke~*4zDO)8K~V96ZMo&m#^F1!foFy-P(BZdJFRyC(Way zCNoqlKkTRr(}ng`+d#kJ(T%_mrUaR_^mH(pW`*=GB~ zlDa}^Gz(GMirO7spNPY-sWl`=u_2<$z2*&@Hi>-eqhj$Gt^?itWCfvqC-s%RT*H@Y zP_FO8&*$?(YP&B_fznMc>RJa3KkJuiOkym0*jUJN&lxj}!8#oM0UgwlEu^;HO;SxC z>KYhAp-1M@*mCd_J!BWkjRl1BdY$=B@2XZV4!i*nk(N3Tb|A`%?3P(S7y_2imm2Vp z`j`7()WO|*4b&$eCtEi-#|7$j#FZtK@LTYu4w=_(Z>aA(i==1dXO+oYn#jH_xn`wO zW@c6`dnr1LAo|Etpj%13f6%sqm6wG@@IDF9Q-Qmj6I6*Vu+x!q`t*-|3eK6&`p>)- z7fd@4?E%`(`1&v}Q6jMj=W3(kLB_(P6{TL3XiM6@+pNMBYvHzgu-56DjD_VU9NChz zwpt7K;-y>2g|KQ9I#ubRwU3^}3DAiQUS3RGr%>67w_wz6CZ2=O8_jAUar?cura!58 z%^VmZwc(?Bh__A*g%*2{I8xSlY7h4XK+pVw)byiS0NQ%sSi z`ZN{@6XfeFjt*N!MVHT`y2T>&DuVBSqCsHxEHC7(X`Yk{`gZDba} z-ERKz+<~vn_}Xp*KRmY=!>XqVwssD!N|H8T>&f7jKzcAoBEq)T@s}WPDyP}GkKUTc zHvK%9C8@!B^yB)4g*Mp_up`yw?8F+{{90?&ONtTc)+wQ(Pl06!ylzV1Tw5iokL6Sy zISFM&C{%jM)HuU^26cv06#u1rnx2LhpjcMz9 zk+Y$yztA7;Qa7V%Lf+@<3~}Wke@wf0djD}7d>+4#W9q9zo)0k;ar4c1+B)BTWogTR zu{G}7@{$*JzJxV2@Kmf<31q%2#P>nL!|WLZgtr2}hShXhID}%|k7R%tJXrL%mLkS! z=(ENSg#WPt(n(1>LpE-|a^0@AQp+ha#W0c^{7h+jZ!4M%_30MR=764A~kr#+p)`?-J8nw2K0*NQI5FOBQD$;j3gQJWRkB-S1zyoBShMAJc?zU*RiEq(pjZIA zY9Pp_1r3R@CfCyRfkfQs;HR`cLzeA;Z-+aEOi>@_K)#f*%|A6<2 zi+W*|+pF5-wd6wy8P;%+xoeBJ7`yGz`RUbqhR*{x)8HNLr`c+wTGl_TPuNcHA@oV1 z$pn8!(!9_ThtLund`|;8 zGmanyr3{YgHRRHB6rZR7`b|%j1`P!b^Z@boStsLnRm1i0hGCk#zY=K6xj@v*R#{)w+TcW%P+^nuo`l6oP9R^lf$U zap3f=>6Si|iz=3Skbj!E`MDzBt67`S{SgSQ^aABxIJJvdXP|?H`}B%}nz00eovaQ3 z3a74c^k6HohQj1y<8U-IH(Aa2(^RCMg|wU38JLxwZ_Wd|dA#po&D4n1 zuoc~B9?U};E~&aTRhlwdzh>IQHI|{H<*nqkBxoaJ)u|40zWX{UjK~ubMQ*}tzQRL! z5e#4y^vRSh?g&HD9pbwMIS=gMG+zdLDRgq+6kcphKbb^CRBoL_f>Te5YthR27Aew3 z5w0V7Z`%wP2jhIg=-RL$p{%-|rA*AQm$|t9rvJt5t3#pdMGbXGIm9DCjx2N}J{8Q7 z43<-ZiFyO%ux8$762{a2A{^s1O;PnBKo@@~ruvZG*K?}ybrGOBN>_QE$hJODIa9oY zMdh6Ac3%WQP=MRoKzsKq{ONs~1I7mm$g#&uf_O7f`{(&Qr>HpaVO#9dAyLqRO=^+9 zVGIXl^(NJAGz6NSQ#a(@%Hh?BR=ohY+o<$cI(x)4nDd8!3jbJMgWHbKzE-|WkTX~P z*wVl|w%@@lf71x?Jy$8=|hAt71hjH4UWbK zP4h~RK8_Z_O-!$QcPq?`U$C~yEn%s#7AZ|Ft$}nFf0qZN1I469ReUU?VdF zE+G9uY|_CQ2W5bxhr&o(G|_1#b>{Lnm%SbZadF*{{4vzSE&R6d`^cHbBx(@#9cDfM zq`NAt!e>>pCF6O9iRR(}ms)^3-CjbpGwTRi`9Too*xWW`vfpk1jA$q*t`uhlcjg9X zcE<(fMf;3H)k2B3vy@ ziT(b}@H4t8opLGOj1;)Ijl42#v|5|Y@Ud&j_^C|~pYmO6Lg@X6>&A_*8dF{l)jAw{ z;xxf}hIEEs?UAVT(*ANwx+D|Ry1LMktFko$8+Lb;u6Dkq9c0UKqQ53RQjJu7gd1gf zFp|cNJ#91n;`H#Nc+s8Y^RG?GwbQ(D4mKVN!hF0RtB#%n=J%bvWlQ(+@@?AZeCt}m z7Q+_WHO_jfgOu7uQ$9Fl#Z9b5@Xe3TK7I4VKaFC`WI2I-$SEp zooTmR*xp}NscD8tBz(JhV$y5v25ve~9P?_rturCMx&u0QPV9>$GD{Y>kHT_t!;Opd zJW3M=E4FJYT$hc6qzjVOyS^E!4h*!uRp|_1fZtZh2-S1GKXL^BmM-gL^qX3){-^%Q z`TOf?Pc~Yn+EGH;ua{k1@}Jr?HYJL~c<#li=l#=!#upMXVm%W9$hKQQzEMci9{MfJZ?|0pO(N;fFoC0%3D z0!qUWDj+co-3%d0m$Z`V&@ha^07^=ibV)M|oipSJ1E1gd{sF)H;e9`VC$rYTT4$a2 zIoH1Se(iiKqhh6snw%WifSgd9v-fUcFT#2E65aybi5d3~SNz3OWCP%-oDPNCS^V$K7URmvs>wSJevjTyISbBW@4O5_WfzBSZvBcI7C< zfuG?h`K%$q&pocQeR$m|7|yF2l&zvxmMQeM1AD)cu^*t5xCokH~$eO}1%fE$W4nVY*39C(YvDr_(on z%I^7VH19!lz!D?7C*=D~7-wK(ciWxmZ(Sl9m3TetmNBO%t@g{5IRRg2MHt~i7WX$& z{{4$AO&Ro|R$sMZ+%@j?EC?{?&L~=R0zVivH5ZeUM+7rKUgeci%;W!Q{1WBAp6;+j zaQIthVsIvy*p7FKFnMmy18!NNO%~_L{CnOys9oJ@tFjy~3+EmGqm#x16|ANjZQ&Yo zl-P@4xv3l5_R=TZL-1W0`RPnk(jlmC#|NrP4tk=mQ8`lW46l>nj8{D&j0L4{FP<)Q z>S<0xxmLgvOJ>?0Zd*2u6apJc4o0m0uVcD|7jJQA7NS5MmTk;?I9DspE9Bk4*dd>9 zwh_7utB1MzKVOr96O1~--cnSvIBoVF7BJ#2hq0%}l=Fx>5!wu?Oji{>T7v?-V{oh$@QG zG;blNxc~k~baPMZO6O+Esx3b#0Ns2PvrLkS&f4qd;;k!~ISes-4ZZ>yW*Qmoe-Y*% z&48C_u~hAv73(ffczww3%)KbyVGIJL$(HICo52m}(vPhq4vqYE_$#6ClV?w`H^0`B z%toJK57Wya!M)#PI-E*&vTB!Yt##M$SfHaUM+LJUh$LG^kj$PUfk5jraO<%_+7z3| zZp3eOS}L&GB?xA@)N{h0oL295pw;)nuxXL;nS>CQWlFzViw9GbmhU&3Zspyqxib0$Ggw8 z77I6rWRrOU-4CF@=Wk&Oyk_#*L@+A&neH#>RBEU-HTx~G4UBay%dB^s zx(G7-D+l^LPki&5L-Q}xe7c~k9?@KMlP#p!O06G&mn-IU&!XzdkH+X}hiC@cil;xm zzm+2Dija{`{SaTy_0{(2$U$Tm|Ij05zDPr*2gyMLsy=%gW3D7pTjVT4y>}UIOQ|)y z$0vVGgM>}s9c0pcP>EYC8#->dUY|rygGcXe5gh!=sx^s5P0jhOJF;2GX^E!mzB^VE zl?uX*C2@RH<_>9-*hZ*Wa1sJN&m3l&%}KO=vXgf2zFUufWlHXb zaC)MH!n3?&Qu{92lsAQH_03lw8Q0%OEAAQuj?NM*aoEo^DGErKh@^puU9nz^0JK|& zn23%B@%;6MD1Y7D9)7#+3ao$5V`|SHGV9;kxFiah^JrZ$^Ost3`p~Gj?bEN+afIhS zaw@h--g22&cf*Zn@!jg6NS)*iRJ&xG#WqIz*| zDM}q9wrNoar-2EB<_P7gPSr8p@>yOj4X*~3EA0b56BFG%O}K&ua&xJ9yj7c0*P`hrcnn>L^8dbjxu+MNofTC7ji8nf4!FIULwZ)l*iXN;!rMfrt85 zI8TSh2?UeHd(un=1@k

    |+;c>Q)$SZOr;-S)3?tI6)^D3*mKR35#lQFHT!f5X-n z)iCvvv@+~?I$p}x)n2snxINf9InOO0S$}#W_x%UnvG@nLoqpNXTY`du{dN4G_Mm4Q zaqP7^d!K?MHS7RmrHw~K)7|niZ}pJeIR*u5Y14*u=j|XhO)cI6O#l)k`r~awj%H<< z%p>RtQXFd9FQ~+Hej)hDz*EQiaEoIwOcHPQ=j|kVxlnqMC?vnpqhnN@zexWi?^a@( zfs{|WoCtdLUuZQcby|y!dhl}C{;#U@kjkT_xvqOj)ksPK`$VIF%omz6SxjdBlXD@p z@j&~-W`OY8O0HnGxuDUedS+mt*#-XdI#cY29aNI2`w zZ21Wvhlziix81!g*^!sn18c=GZ{}!!ryJt_&D~($19))4VNkcC zEpSgMg}Ddx;B*7UlIuAZqypfI&q(>BI(6iNKQEf1$%K}4p2}qE$frfB_dQ(oGb@t* zGAuGDPbY1>bu&>oBW)$DnZ-=O-gFq^Q@_8Kxp?p{IK1yaBD@eFzbYUDQ_zk33)qV; zZpIrPysZm>DrXOD?@M;tdIn}nPiK?k-PMd&oA?q zX@7u|tR#n#AO9m_RJAD!n{FosLVzjp%yl=D-azu{Zfbd8fgKk>e9LMlgR!pmR}1{a z-TiVU1>;36l>~CHQO9`Z1jM%pu9eKfERlA5T(pzEd)K=3Yc^pazgj4;DjId;s6v`u zF7`21$yF$=qdFkGe>3RoY6|$mGZ5fc(Q(T~^;zYvOsWK;9G_x5mHVwT8+16slw+tSkqM=rou+}3ULWm2gDhV5{o;?mrwb+dy!Yu}ebb-Jag}q@ z^~-q`tbNT?9i&GSRsMd^^T(h}AK4_5LnTA{bHA{yOb_N)aqP!p<{_h~dz}gT!kW6n z*P^8Ra#)pf?`tH?uMDqX){J|uE{3g+!5Obge4OnAW7|Kp(ZC+h5cK`txUA|iMF*Y9 zV~-MLN9ng;4m$<;c$5Tc^|Vv%XLX9^>(sL^v!8#vMuoB5{JC_mDZK|=MP|bDao(h( z7H<3U1;7F=f4=#8M!}95W?Qr3!bPmN^Q7?y7A7A&+C3bM8_E9~_{?~UYvP{j=rjDk zE8Vc!@Y;ahBY-oFHjgEU;_S~s*uLa20fH$0O(}jo5Y)%b*6z4u+~w`EEQAjY!aYLg z7Zf7`{g1lZ)F)MyF#R|5fhxWJj{@s7Ckgjfll*s&{4$RT7gq{5{Vv~K0N>|-M7`qS zorQF&kaH-gyA61d@|MiIfbOYtT0-Q1K+I|Z@9O%SgS+*fjmyy4ZX45jL+0J{iDy7! zG{i>TMV$Y%)|Jsw8LzxJWgk(2VFu?^BAym4S%fIc7c09OuP5&6=De&;0g0!uOZDi# z`eyWTXS&jgE>m{^^-buPx9;~uI#WSL=6W5&fFb|cbbJyBBDv71&vvrLRJWG$5k$!g zfm-$J7jaYU&E7toxyRd#CGA=mO87@$WmoBUgSp_u>r>*Ge)4K#3%eHL{>*YCxVggL zAwSL=#;M;8?|2R)McdU7o?U;1KD_??9}(o>?TF5q4?xx)Kh@_7k6xkoa~8Ne+GTzt z(25U`jFQt^l9tVwJ(G;(rkTH)IWlf)X=~nm9t?_tO31M%#Ja6bLaRNh9WoD~59{hs z389DZAg^$>;`-!#$NQE@kF$_wHJKTqKeZ!qG3wwe#hZm-kG_@I;FSIMt1i@VEd6;+ z)3iFf7Ov0i2OF{z`OyxAjPX?gQ2S&+`TWhmigp{mFZ>OTzQdMb4EDqkJq&(~cet!C z{CH5U>Jw6JVYhwJwkb#v^Nn2YjbS>yUS{9lrI8|r^vYK!Bf3(x*Xwyza6yNHgrQvn({Nm)f^xpwo{L`wuxUDt52OV-%1+s0}Uuk`4v&_J{WuU{} zP7g=@4Z~?Rjz$58Q3@No_)`yJ0?SytV-l#(j;q~`hS?IB{RmiOEDVf2!7%qq#>p%I zwW}Tpsx)ijTH4bs!q{oV>7KK%A;t2_Tu(V(p#wzYt0Fh6s-zHo_-4WnyjSM#N3M^t zn-4k9XbKfYyT`2=&cRowaxVxvxcI++Vea^tZv%{p)i7RkZtR(28-)v7J)*aiF{^GZ z1Zv+`*LSWY4g*d+0}JHZVJWFqzH;5GmuWuVG&A$9YBCWD=GqkyblE zd6D^GYVmcBXL72$kyX75-`a%>-%P`0%DE37aix6I1!9Fg#ERbBH>9y9fUdt1M5_pQ z@kdy8bXdBJWUPcb6@Iz%aMB!KkI`p0$f8J~QbC`cSVNSz5?cJqtRUWjAr`pM!WhS? z`XvAP8M`ck{go07hBNFNO>D1CIY`39o`LSdZq2Gn`k}*P)bG)6htXdbt1|^g&OpJd zK(Fpmyz*gT=s7ZW-Y@|HpWSORgsgz=0OnY?cLe>Qxt;a#-TXDUCh5wgPOuHaMz3l^lhTtmE^GKQB|n zQp-$IfPG~`uxUy!C;~)&BeyNhgx|Yju-M@y3FDtHf(n!ad_Zx0Hc%P(e5}Q|VQwA* zzfukCAxN&Zf{j~TR;`l zGxaMmpgQx9Yxo_UBw&f^i-GAQ=XYl=6@Gg}U7i)4kL~)e+`o|mz?^I)mGJ9g_i7jg zwql`oS*AeIv8D-1t^;oZqJbn~Bi}E2g3WtCDYjy{K-DlpY;oYLYj8~?6|w!g1DqvbKN-M&RPckLn!(x zg~dW2eNDI38PjQ=GltUw#{Rm|4o+@#SUyIdx3_?6)(v=RX(jEox`=3Z;ie-znW=7h zgJbRn9!_^cuT#qxA+{3JdahQ;n37}_wSZ2xP?U0bjQyA&Legjqwf%aUr0&{z2>Nz> zl*H%nKQRxUf|1oOKgt=j|0q>Yo!TNZLgXI8)`j=8bsyz;mD}^o^>*wl?gc;q0#?&Nw#D%dqk6FW%@#ARy+r1X3mHWHxbg1_s z*bDH_B&2wYbk#iGY^6IVIl&3tooj}vxh%NwRFAtDK3CQJVi4b6Px zE#hDrGd~7vjG|t_OhQa&n*KnsKN8BG(3(3NV%b(dfv`dH-HbL^T(mTT*WN`rJ5z>v0_{l>|| zON#S|>(VfZu!%4p<)d!o{rchJ*6upzHpYpM=UnvI?M#2E2~_E?UqKQt!heODoBW!R zi$gC^UW`(D_Arn7ex-X%lm=Kq(?W?jAxmNOVWR~gd}G=Cf^&}PqM5NCTm8v`wh7#O zlQx3mJE6}{wj5iX=au=y$=eZ z%%=ado2o%4o2CMIPAejH_#%ina;{2OY4(+Hyla_f^}Wbqn;m7}B$DsT&P950tDd#* zo{j^ds@ngiY3%S5k`HxyRkbH?kb%rA_F{DR!xnXN|S&8=^HQb2+YGHDvfdo znw&1q7V0pl1f+Hp&uOhWv~7v|*_Rpbw3p`k+vjtoh*@NIs057rO75o9mI-fK^tXOG z-mr|N!0D0YQv{dk3n;tlhd-%g+M}Q0+%gBhhGao-HkuD^vd)NakqqR`X4*HyVuF7J zwm-w)>qaNFB&9J)%Ky#s(}7}shS=%Uj`7zwK7C6$E;T1xU?ei&P4VJeHKY7O14FMy z6`s1;(XbQj$10*+55fwx1aImv{hrW zB!2EhO%j2TC zTeB2rL*MQiLz6W#;bJ59*9!yQ5_Y%Z-Y72d_4Yqpaz9ZGP;nL#g0J0JxUb3-5dg{$ggqCmOmQhXY3ecSEvXY zPwt!O)a&J|OHu{qIG8S89m=gxS?>ni`CN!{t*uRL178B8T%^0}%uG9{Uy@W_AHt={ zAXiaZ)w?RVIt53slh{O*s+qQHwB!1iJ;(V#@8O_scmWcxc+p`uSD*y!c?7_k5zE#D zO)NEBMiRHs5VHoARe}Cq;hV2{DWxY?WmA`PLyjY-5V$mO@cqWGo5F-`bILYPPCcKN z!c(fd#I#!~m=l%vG=qW`%))K(=CP)#kJd!$63UH5dK^CQ8o7l0DF6J{Q;wg)wRNy| z53%y>m;xP;m}SAN+2*MrM9cgpniV8GqDPqzI63c2e<;+MB}k&fnVoY|x>lH3s#H2*G4ekP6 zmZz-9>J}B`0zO^)_z-~B(0$kT$tH2Q%fk7Lqmd*vHPM_YH0!Om>I`dxok)hHm7KtK zL$PL4nlJADY1ny_n!PyR#C1Dw@9UHOf*{*B+c}-)~HX#SrOQ6!zZ~9r&R@)S}`m4UVJ`?@3u|W8Ci_bF=S#Mq;M?aCr4`xqC z0lWvb_~1ghknu2iULV{FaN#zj@JXqSmQnmXdd8Y%x9%62opJX1=Z z9{$mwDM02f>YPTc1w|)?-UYVa6uS(({{zvqi zit)iO+*T3*^C5kS5ED3G(QkOGewhm8pk(-@y||wEdUhTN5CT0wpuZlgn8)+sK#8nt z&PTEc8&}Vg#=t*{)W?j4n|ya!`L>Ws-&uC+PdisDr{_mX#aZ^CVT*`rLb*C73%qZ4 zWgwEocfQf8d8&Ufm_E~o8^Ru)2jb^&wucmkL^!V@S08Y?Ng^}*7c0ut_vUxUr*>Wr-|EXij?w$+89Q%GC%s;6xu`gAh?ZP= zBW)<1?8LfU$V_@nfk9vAX+p5LJts6|d!cRFDI;tY*vuFLAPrMgeG`<_05_VjmMjpe zXCA*`HuZ6DK){j~gR;4%lPV&Pgy)5}0kO<#O6i@ZJDGqOQP$Z*Rg%y4+h3@&QdPG! zbM;{UQJ;b676qjCciQ@DYUG@tTKsA?JL{Gp3FX0zsf6*`gTfR!4npa z+487CDLllaJoqd(v9;Ku=eVt5L2m{858O`8D}}IJItZ&>T9H-ut+Jm3~2x6+?1H^x^MpX@Ac4a@IJwWX8(UZPw?# ze(#VLdrQ>H;of0YOSeG5@;Ek@*9Y-m>2aU9{%NN zBs3ds4`lf`5kLPW0-ZgFYOV_}u_;lT`U+1b+<|U-uj4hU$@z|l4+C_Bo)D3B@#THe zQey3~6bv;tWS-yHS0}?-lgP5cwDvEoBEO2!Mi|Q`@!XgH_-0${)t?oZWAqFSUh9S_ z&|ghJ;4bs5z(cr$iQdPs>WVBb z517ER4GwhS=DI_s$Q0dVuY7Y8;jw%}7e07Qmy%G|bNE?&jm|I8Ju(#+xWAh2&G|U| z$}r_D$anh(_YLhZAIqWVid6LD2(o@9{lBInPgpP<2eUoesLutnzqz<4Pg(w1%Bekn z5)>|jx%+gY+H{oe_1%Xtjfy#>fONX|8e%IxO`Q$(COIAs=hX@IEdIbm`-L>~L$sZA zhKSQfuk>$%&2>5GZTp;xey$0=6thC9Rc_fmdJZ)_vTVD8HH^G9_-1-LQ|Xm)x#-Z6oq1A@?P1>mL3-67 zByX%Zwy%>#RrPH#xv7YV$#w2V%bu{MrNH`zkqtN)x}AzlAwYye60YsR_Gu*2O$(H1 zQXgpq!-+% z4yV_)<~)jXy^JjiYbgZAI!t>7gmHtXBkhFWu)efckv+)!E zNPYn3wBhGX51t*Z@^dq(`izF-_sadljQ8lHn4CoQFytFN!0DL8Bs=YY>sq8Rm#qA( z@>=RkmcqTL5ii_UqFM>JQ1?`MjxxjK79y@Z8Xnzc)cQi-RjL^T>4&jkF+>%H>T9ZP z6!&zEyQfRRv~eBiU$0B|w-P#gUc+P4tbcsR85FHgJ!I9>xYn}{H0+os5t|Hb`#nJ7 zA^y8@(v3xf!BS>OI?H3RgIr=~>q{!{OV)ntoPU=qYyMv_O9p$o_-AWsirX^=Gffvg z!)7a5&0}uGu+llg9rTF^II!I!?!}*+*7f5+v);hmV2Dhwn>pbO2#x-4DnEE~W!4kE zdZq74c!-ze?~rdNZ{ylkE=FX1^WYffZ^mzR&oTqt4z69I*x~|x?{(+iWB!)OQ!4ov zcL=9r1aq98-K_6{LRaunvR^pe?uCDjZRVTryKIMW#BRVWbyfpgXi|ONq@C^JkZ9kX zd_>cLSemj1Ig_K+r5HEq^#h+j-xaGL;&?^SVo(d+Vz)Z6LG%~nuE~pc-xB@^np5Um z^c5}uufHNtLGpS!pD=!aXAUdmHm1nLCOdZjNJtdM;8+IU2v3!5xB&bL_jXl3+kq)B zcdNnts+6-bEO(?j{WgW#X6~KRc)z9Ry?&$2feGN0ZZ2^gv>D=0lL89W%3X#wPolF%l@z46l|(wEams+McosC-ggtSnR3 zL><1)6vsI=lj?k)W1{Z3KI?7MS^eXO#nxLM&~L*Jz8(qTKm1dQ2v4u;fUSUC0ymAS z9Va5I2A%RZdv&W<&6ay!uzSY~LUsOyrpM#HOZH{S`zyIXs~h$N)_MgTrPWH0Fsknt zYBG!yY(1D$pE43&Z%AOGIj_C0NX|vC&;~{hb%5>>6uc;xS@9aHCt=Hsk&u_=kjlUk zfN7W#tNH{-(S60B2WU^6yUP!oLQcfbTFhz}6}caE5fm^s){``P4>4ld^8G^Q9;}6Z zcj7zW@EUzAKY1n={m{g+m#5Y!5of|_U7Kql$!=AfPZqHCB_+zMv*PccZ0X;dEV15V z)d*Kp=}*N%ZI{D1c3e*7`r-pjg)Jl|K&;>rmD(=9I0V&}rT=-f95=)^%4 z%pSlGzWY$I)8rK8w=EWF>s-Kw*DA|b>0wKWgNiSY?4E;SwK}cTQ(Ve-0^|$0aH@}F zrJMo{SKYrrs$IEcaGEtpmUu(mmaxQRXsUr*k*1B$cxy9c@T%nYQBs zh|!c5+c)g7cY3ofs4r;#0r>|KfJG|{^ddjSHFiJ%p~_0ICyA^J(`u%se525cFAb`& zmdHg0UiLlxSpc=#vh)9-4Z6Q#sFzEjG9U}Ar1)DA(UlcF@UT*tEq?lcmfD@wVH$(! z8zF*W^T}(j+gQ<^;ONrtz28i10{2W?S{tw{UHM!Zl&N<3ic2*uldO4XnA}%<+VMR% zhnwGnLduF(jMAo}Yto-Kl3-@Mb3?QT3oTnBzHiGWN`-B`&R@o#!>R{>ut!b3i%Bkm z%n1I}$UQ?yc_dSDkL6j8aYm_7hlVbo_>6uzF4Q0pBl6mC9IL|!?9bdPVurdjF6^_4nq#xJ%s|Mx+%E?9S?%SD!{){nvor) zgQ-psOxINQDyg(O)#CX@Pv;bs4bX+df z-WIDK7eo@NEeG{5YDHo3xB|E;$T9k#9EfTTA1ZP1En5>ilV!H6ueA$GXtcY1HaeHk z!FE;{?Is@Xl7i?!TRs56p6+mZu+<{62eLP}tYlJ}G;~5%O73(1+1gZtS-Co`l-u4^qt{j1 z2a;pz_8m=9m21eND<}0cM<(GM_cD`YJ&$b0rAl{WT3$r*Yvm@N2FMkIy++tii`%vf4{)jKc~Tm}eL4AA*kU1e+arvQ#xfVF^J^IjoN6wCF#cJ8b z&}(gpNeK$mSo5GQ^!(Rnyz;jmWcKn%Ei1u?qQ3qT_R*Yh zS8jyp=!`Do?PSw+XY?D++zEnx?Q_Rhy*HxQIsXx@mVoX{_)2mFj-IDWhmEY%pBI)` zS*FAkl7>SHZ#f5ReN?5vv`4kE;V7G`>#$b_`0{TsP+?~<>IV?cg(zGiBRs@g5)3&E z-9zI?7F}@c&cA8DseH&jUgvd{{7fvSU1lCA%} zhT&h?6B9qa?-*8-A~eH4o{b@)-b3Mr>jjxzy&P)W;j5a9A|#iSu+E9D?vP=Wprf;> zM9dV3736Xh#Z9s`sj9LDH3SO$y6xyYOFOtp)w!H~@Uv@u$r7pwU(hLC%jA<*qLum* zYbwH7TRm;!zpz{HtE@!h+*LI;dBDSQSE{yq!LvQ1B(P`K4X5m(^ye@fNdYgGw1;Lc zpz}rqxPqN#?WAoIcr7!mWC9Qbca~(|d9^Trdl!Ds29gt=d=`E$(Bq01T^e)HA|2va zs(}H~T5PxRe_&s2+~31uR-;N|1%Ql5P{7&|-C$F8@(q9BB)A1<*L}pbOPk=J&?bZ1 zigicUANaeK{bciMYMg)~oqj^ZMaHWgkxtD`KO(d^=QVdgU)+|11=AH(QrDcn+6}p6dx6R~mcE7`!m+f}{Bf19* z5bX-^p0!H4$&%wH#h044IJ^7N#Hv%^{Dua67{*4xYlioC!dRoXT`wBW|9pDkV3s3i zLE^<)nzQkt$ZTdzGk$W|%j?{k*Sx^`pF3oI1+e%K7y-c}LbiP_rZY^qZB{Z&{bs<* z5y&hhJ(av0?qt0OVr#pF$8=t1v@v2wPKt4PVXX2(Mn6`m~ zRQ0dU@F8$(8fk}Ldi`AUTfNyj!Y6d%oChrm(!TkyXB7*4O|bunMijb_;%!0rK8(0I z;DVwfyeh{x_v8#cm-K@gXkUo8)&`jchej3GJ}KR?(*MZPIEhMGRBd5{U+M?8o! zB_%S@QS3GFGPasuv|W4#aiPp+e$-#{j6`TcPb|6P6)gkPyLS&wh;;afWHgj?Ms)Qh zAVQUP?hCEU4f9uguh;kCAsW7imkk$T=HtE(s^Oi>)HvqEdKTGHnw@~)q(8@Et_`?H zLSlnOb*mK^PeJvY%nPmk72q8OFm0vdf-iedY$uSXtz7;|iJ*5sAG!IUDAL(tq8c5o zq+Wf>6z9qNc9Rh9#Eln3Muf3+lniqv-I*rbAYhOm458CD1=IpDp?^ z3k!cefkJTLEJv@Jo#CpPj^34`nwqvcMalPXy(5GF0gW*OdO4&MIK_PTgv4dR&fU5S zT9ndOP@!i$89B?s-_zs7tyy%;m?nkZ$n~SHNW0ppPZ3Nb>>;8iS|(iHl_V}e*YXoD z_FmP7*MFk5d7{L<-@feN#N=H_?MQdW26&7fPA}Q|e=42R>>t$f7QEvS|NMcqfkUSK zGt#`v&=A=-Y$h2G$+}F3#U0i&(>Fs_z=x9|7MppcuOu8D!%_?lr{w}_gCC`i6COF0 z@I4iEw#jxA8~f-Oh(SMNIp~;MADpPt6h@=ywfP+aYa|G%UF6_DsSjf*LU$RL26afB z6B(nr_^5~dE7Hh{(jgx84M7O~o~wE-%`YugpD~v90;~t$=FTH<*3H&I5DtCzrz>sp zM-1~HvfA&05dxK2D!HDWh}` zPS!W6C(k1aTE(Fui?3WH01~4qs{P&UR%`s9+KMjvM{wbIS^sCE!ZFugS+YR|^LD5u z$%5P6`)Ti-zrPi~Ytkz$-s@ma|AC{!?B2us!;HN>pZgv(G%Zne%I==;-M-ZZk{j^x z-!7Ts`BPohJUyKSt(8G^1wnlT)A?eL7e*S>dWk`o&*O*+4k?r;^hn-+S$c)Z1e48C zY}yRQCpW){cAj8W%}VCav_?T6G#^_XPMK>sg)Si{mgGXSbIqqFq+yMjX%oZlxf`{% zi1S&qvqyZ+C!3oZDT(ghPDv?W0&6}W{PA#0@)#WH_}lR?jWM)gAmoFO^sOv;36@SH z9_=jCAp^#*Q7@j#VD_J?WmCQt8=}h3i%~eLHXoo;$S5YR`%{<7p~Jz)_=xmT(04`0 zlhUlGpT4ANNJ)L+?<&x7QaX8I>vo*ZFs^;*;Q#4&4U?q=KizWIL+6Jc0kL!?Z;fVQQ5y|{%!Qx16)LT%dG`A*-!Chp zU{O%e;eo>u6vTA!UA-UB)PwaXL7Wm!Nx#81yj^tfli&daF{tEVCehIC=h?1|zsb{- z$p5hE5+VSVCE=rT%svjgU_-**%6%U9Bc8eMkN8>PUDz`PV%|^HGfY8!FFz1r7_aVK z-PYi2PilFCw5BSj*dBLRe;pDMPPPM-U__V19(Kx8^JCZl=*@{;fbFk%J1Mz;VC}mXd#m{1*SXof8S}by8IQ=Pd6j)aisjSY z=a*-vZeII}TY6EBH{Xs5C|!OP@yqPB%q`VZ#eu7$h_GmEO6+=V0ehK)IA!khGHT5U zsU^?At-N)ov{HaCu! z3y|+|;J50@*=&r0JwK=Kagr_FpUia5RV4cPo4xIeb>vSqZ4UF+KyXi^I{mDh>N9%| z1w9H`^BMZG5F6c2v=#dT`$so;hnL%76!mJ0_Gb}>ut)EEHenA7-}t;BDO9^RI3AG1 z;ZE+ZzCaw?kW3$MkQ+RXU@=X~3Al!+^dA?5Y++9d^k-uU#LX9!KFQJ1Y zbm^w_H~hi|)R){JpWoN!CGmVxgluewtjwJ+{JyM!nd3uTCkR5gk#DLEKYC))JK6T< zezss|;A~m)I5;ZJ#k+wwXNoK{q0^mX_GkixJ4eCZE7lokG&diI{zGuooHZd zF?P>)rEd{=a;B?`%K+cpUNhkO6KJQ{vp$#4YTW$>*kSm)76^Rs_`Bw;Q)!Uo%r7)x zo;dV5)Qj_ zB}#aP`2gctvZ? zhsC-XTLJD6E79SB?d(7QQVm!9`+OWDbVpP=`x>>-AfmFU=UU3?Ed7^B=Lza zf+u!=wK3@4tG-1uwW*|af7Zhw^~Tt$MbALx%={arMzYi9`s#`1x!qvUoXK`2MjGX; zVwVPL$wZynglS=7B0&x*iOceVf7H1`d6xRG&&xPjgdf~JMq7q(pz{MsoD@m-xq@@FxKx8S7f;Izf@AuTAH><8}6CSGmC&+yHYS#qoL7<1M(!``u z6w(fdBmaD}X|I>lO1?`>DoM%p!s5&(CVG99?a~8yH@X9IOo=I>|DPU3T7+Yy5c~_R zK2$eO{35U7zOAFg7XcQOJN`F&2AQP_DO<9xQG53@%a*K9)0^n`PV%GV%z7tZP3kAA zUa5U*0|QE@g2>5&SnQOmzN%^P&nWms#jwJ6eM=RIW?zDU^;M5fTlLm z2d^(ZAMH#Ps7JQyTFYe`FA!_A9Vc!Gi_1fMKq@QH%zbaOHOfJMpxP*3uFeEbCQ#k5 zQi?1_demthFs|)o9v@8V*J!?K>~EA|98erNpZ5&T|I+6kXov^5J!oVNW*G}w3_9LC7b!RT6wN*&iBdhDGYA?vpTfl=2@Q#s^q6XxkXl^%fu zM~4i1c&(18nyk{65xjm&ARigjDn?iVLpN%6&SxKfrtdY-WFZ2J7j&;Dw_x((cMc?^ zYce8yBHLlFPn9sNf?O?Ly^s;H>LKs1!lZon?-BtptJSR&PU#WlT$L<-oql6f`q=t< zvf{SF|GrB~MkG@qt%3P88Bm-nc%u)1bf?Wu0s;K6qxl zkW5pkDkoUZq8TxrbuU~p}&RdUVM49uo}YCIEX;I~=Z za0q?g>it{0A*-G$$D$>uRxuL~Q;k*JWW?RaoY>$z>c<^B8|N2d46ssnPqI~^UCnUy zh}FbGt8H-)oprB%QXksmtxrU~-U_s%Zwj82zX~-DwVF9^YFloFU8af(RyWz1?PoXp z@1xq6!t+~om-m0XD*W;^LYq}Q?bfdH`+~cH#sk9v1x#aShV-uT^X^}u;@v0GB;OBd z`#!NQWxSPUzVl__0p)EnGY-&u*rO`^q(%J%D#1k{O^eH|s&ue1CUI2slYi0c+xv!t zw}|Kmui+(qq%m;2TQDUHr)kw%LC3628v3Y&jCN1PJ zJDYxT+$vwg#3|4N&zw}vAe<#j54O<8I2~r(HP2#Yc%=QWgCpRLhdIt8I*j{;oFtvW z@*{jyAQ5VUBuTxnsHIfM{XQK+MnU`J*pvMS7X(-o{KY?I9wX3FHWeT|t;Ef{4~q}0 z-MQo~=?#t3860csh8}*F$$LLpj}7l^rSDRH(axYQ>xy+|lYN;FjQPVGON$yP1HB+b ztAit}>F>A7!g4rUp1}Mrb}h&LV8z>SZ^O#|)~^CNOAWthv~*VIMFnN&gWsz`*{;R@;{* z3RZASE7|_^6<20s~iiFUk<>AA8LK{Z2TZ#*)=CAzsOs+y}!N=L`!h$Uh{!r zIL#vnvRz8bo4^N+_X4a>Dj|6cGGF3nlRy-XCJ)kF>>->=kUA8=m10o&e;7jmlxx08V0 zv8!C<_O{nc_T`&hc6E9%82^z(9mQC^`=*RfS-VIGSXi95z}x-ypHCR5sIqb|E^|IM zi{U7RgKroXm^rSlH!0k{XrZqJukbtg zPAxtJz0!3+zQn{XNrM;dRE8DK1q)<5x~GCQ>6F|{lZEDwcQ-Yb?Cd)^ls*=dPpK;R zhu75ZB8+>yZbCnrKH?YvUt}tVOLlj%R5^g5lYi>SULW^KE~7pFWpdh$;Aj}9)8WSP zKIDq!WAO#_AH0=oi$8V^gi|Zch{$BP5QI&-j4Q!R->2Sf%O6~T5fR33bWiD=<5WvP zD8$QQeg^4S_P1vvOnI;A90*<8znX0UvT(uY%~iIGuFBPj%9SNotAgV2pht@~D|Rck zqjJO3OH)UDvkD6Ida||61EO`(g5zzZ1S0&vl}_N*3%ny%1-%sqK$cca&2u>EyRrmU z=l(u@<$f0G@iIpnHA>^mbX$9U>g+oB!eAWr)50(`6iOsR)8yVFeI>&j>K>xW>$f*PyJJo)o|R0PJ5u}0?8C;cJkh8fk~Wv5WkC2JKFp08TP${&;z#wXi$9QK7SNu2QcZ9|A~pEBKHKf=t`5$&xVw z_{x^>g3Y!OST&rprfK_;VxMPKf@0d8QYd%z#QK{gySAEf84V!E57zjo3RQzr^h$~y zs-maG}5Q8!777yrS`&(N-ak}1`#tvMKCh>R?mm79$cC_s0eS!iSMCsynv!#pO ziji#wTW*>lC5KdI!(+s?{HJ z<=&L4(~L%<52RoMrHwKQjhNq#_d&bOpS%94^%ZC)$Qav*)AxD;6fR zqEc46`fUXl{}JiUdX#l_b#=C2!4I)YXTb)e9 zg&)1OEhkLo;f!77%{roRMGs+0^xYFn;g;+Y{B+-lRG0cXp(U3iOyYk8J=)_iZm1ou z@DpM2{6}Ohok?rGCo;pP#Rgm6Rbs`?$J(=loIav&gxL;IqS2kow)UmqUx*ZYN4os7 zTSSi2Pa}yce+kPvaYA;p#aq^8mTu-fOlrB1wG*+pWG3)qRbZ{!C>bsv9 zL{6Dw@dZ6_#HzR?dYB{*V_(+l+RnfCKK%`g|NoG%upX|GZCtdD{rrmai`^}iB?_^!u9bjv^#Hp)NLbhAPFeO0_28KR?22WZ@d zT2`4mri2m-9@}vK_+#6K{kAKC54U<#3-3rm zS~&{UY_ZYVS0*ESxzjdG|Du0ESTS9}ec^FxT1FM*Zlv7=y=?#!kvRLO?I7CT*O zY}&bp5%;gMYhaGUnfTUPm#hFaK_^3iX1iHiwS3v<6*!D9mCn-T~R-(+`7 z;GK^4`~DeTOB2GpHPGkyc@#R!6p6F>5XJ)nK|%(C5sCg?=I4qQ1AzhUQDqT?-Vs;O zZ4sLwUkb=U`HA$H5W-cHe8JmX>8A{1%w7kQax))NMDom>}Pd z`#FhYMeN{n0Q0h%A&oBAU*)XE#sN8bM$XSl1+7b!fUok8kKj!7x!MRgO3npX`AYle z1sE=3ssuLQ=g1O--~OGuf<<-Hxx$)g2Dk_;zlPdPCeulReAoyHL_>cz>4t82ehlM{ zx;Dq!n1u&9v~|p8PWELrK?L;{DBSoKZn+@erY%~R-Xb63xsqY7SL3?Ya{$UKA*gc9 zMGEdHxq^diU{$^ums$Arc0&0<=gTJzaTZ)`P*6+e`u^<`?1_!=)_+7F!k9q&|Niyy zwRCsQcx)rUj`)>gsOL>1%z@?(fxyTN=de)!g>+I*1}Pt4uG9&g1=m_tsu-F$WCLO# zUxG#H0c7VQ7N3kZ#@?(Y*8*s9@k25JF+Bxrv%0doKh=ypFmEmlM?N@C7zuE{WrB(z zJ34>W@XZ{h6pRktiX{)g9v(AW0#I9}kuB}QSp+&F{6SJgH9iKNd{|VzIMBW`yzkCL zpxTw4TR=7<4hp%#m?5r^TYAXpfH&w>iaFnqO;oU*i!|LZN76^zYDi#D7-Q37{r(|U zfuQfk0|lS}g6WZ#&nCJ1LD6YFRRTSb+x%4^X|{9??TA+y2I{N+{+R8_b>Iz>aI&op zdxU?nKJK}0)4Rq_5STp)C4hKjU*H;JC(HVc^~7n9;cg+#k$>(u_eD5`ZZM{t-;MZlq2$9?XG%TdfP~zZ#nUx=CsxQvz-myK>{K7`UQ3fzVROs zGrs;c_BiIu40LQXFV!(Sb0)~_@c5Od2UR@p_#C0n>rLZy4W@lgin7c?i_)#S@3Zph z$16Knuk*Fl#@{Zi^Fb$~n|V4W-wlRyvzih9isL=0z7znEphpr{5RrbnMaknJt zU*K@1o4$c^cQed2z;PCP(oT>SE@4$-GXhEq=Rm-Q>80y71dE>AEq;uO@mxP^tjGGmC? zug56<5KCS0UGWj7fTB{mbgscVa2zAWR$^JWXX8!IYj?H|bn->!^BHUji z{HFS6YYxf()Q+vB0-Nj7Trau~I#`UVSzV6~FD&-w)^6FaTk*!|d?t|IrAZ^xW3XHc z*4)>BP^D={*C-dK_2C1LJ3H^DMtA!RK-9KW6?|b9NgY@6{FAKJgnbTtCT7I>g+n;vczxyHQmQB_2$!{r-sT_7pSo2~MpDT>5AddtE1A z%HSzmDCZWvChKLO&(n6Rq%Xsx0_2W#Rb*U$%2*supZ;7ddHeSsovec)Kx|yHVMJsS zzNCTR(A>2M37kP#SdW(NpG}CZtu_TLhW-<@(QaRJ46P=A9Q#J6z(=Ac=|@9f>Qk*P zZNALL+`!eX`|>QyU7Z^D23kxs7XRwtA5|;;JyCIanlZI__q!U&vgCBDR#qxjQ0&tP zp(?QM)RF-X`2*4w8GoXh*SYb0S~fvd1QV^6>)79Mljs=Pg(8-8y>du@^CU*v&hc@! z@K(M)Cr zZ2QfQmgySbL>LJl1>@sW%1Sy!Ud^u`bt$^uLVrGIlc?=0wBMfSinwGs)HnA`2gR}} zR8c&=7nA?K@kbo5#uv-YemB-2{q|8ZMepEK;6NWRPJ?(E$Mi0iCFhw#im{UhM{OiO z{1vh1{Ctk^-xzql_7WuMQj*$X0&=OH(KB2- z&JT0`?QKbR$@Yy46~0G8-q)I_K6ubsrl{r(cv5`I$)d*s81(vCV^`VHZB&z&){zLu z8!V|U1?*jz_+`m^yY6YJ&%rO3in|U&%x)gtWWCd+ync);kL7!wwgw3q%(}JL9OYU9 zIENCPY+CELXfk1Kyu-66NG*a!k@?c4J~a1F~EW zM|Mi2;9>oge9NH-3Wk>QM#yqdR@zu(lX(3`@-1a8jvOCOQ3yuMdCMy0)LYI&N~<2o(SlLU5K1^(H%LH$bElf#fu+wP0G z>SElaZhqGLpi483lDue3w2J+YWgW3rrQ*tZBkXq7eM)C9p2(Uw-%|;Xdxks-QHo0M z2>GIoPU)YUH@zc9L{wA_A~a-xcfMrLf6IF%E zTJmO5AivZIU1l%PmD5kQj*&XNWn9>7|6sl>_UL6b3s1rbLe{-J9QecbgDgwWMmOLW z+~6DKlF#dCT`_059}2yIcOrrBe8l&}6fs)e61;WgF2DVMa}XG zgVAif%~U#*le3o_nenmd8?ZhS{*OrLpf*&bzFoN-VlSWcEKg`l#7qq|5`u+R9r}BN zq|c|v{^e@7O`SjBGsQZ`3r`fU*E1|}C|EYUW42(tbcbvCES`w^?cSAPJbfK&j4{32 zNNkhJ#nw%`Ur4I-*o~8Vo}mmL8}&El+)+>Xe3E9BF->dEeNpR)#TT(>3F6X!`6a2f z-uV9WEp_#Bl?DQYW9;ZOu7;nHV%3Q%?0aP|wM22O1NhN(jW7u)_pD!`=os#AzXD-! zM~i>;r#{=a2I4XQtaYJNV)(f8J81Y>arqs`jO`{1*|bOATZGY`Ki*XNU){5k;`D8J zCEEMU2^GymzgdZH67Y6clTI&=8Eo$QM^|oQdU5}nQ_xFFL=qkI<(*6APMeg#@4N>Z zyyFSI(+O2}jhD)CU{%c)uBuuV!=wyW<;Q=<=0|G43;#$=j<+qXWf6pUvSLNrl#;gEBOAuVZt5aV1>#@1-3Dg>C?d@ z4H0~w-FrvRYuf#BL|Y5j(Y$Xpxy#CyTZOR0t>%A3^W~~S!mgt^;#=W!6V?aro2$1b zGvi!>_`u#(Zk+a507@hy5aQt8?fPc)PQg{V+$_CILao$0WErm_6!AN|Y}yvR1?0_13+ixqYikt49Z-$_H+SNfr+3~3^bn;q zCnPM0Rzub2&tFXq%Qi+PaU*!dt*KexA9FvZjV4L!A)$XwlQ7T`(#)?Q#aFYs0!J+S zpT7H^V$e8X)IAMPGnrHMI}F?jopi;n#dOm{rDvvBXLP66JCdZ98&v2K2DC$#>z{pm zvxe4RzCUqQIF2{u{?e>K8DexdGUp}7cZ&Na;&7PQH3q?O8f>l2FLW@b%Nx(ANRXUk zohB_kNXlP5aP1ezY_qI8oFCCZ3kW>duKO%Hj2Wc{d2Twpr{juq?e68*r0seBO_tim z&tH`{Mm0zAj(&q@%$;3^nJOCW47N|y0lSfHUpQZ7v)EfEww}z^gy>#<{f`KwZ>8kL z&W;e!wf~*m@iF;zQudIxPv*%cO%MB~m+wgL5OpvnNx@{iLwbF{OGg&qK(bUvG5qy{ zjhyGN1AI z&fd5cA#y#K6ul>uc6W#GQg`Q3hYIF48N6KIe9mQgqx;sGWT7zlkFc;vdG-@{OJvG(mDC5qt=KS=Bv_5eOYkApSoa~~jLBnP$0UT9s-O$QVRYxC z`u^n*Q-f5F-2N{t#45816}=>Bv(DViyBW23UmI-xsQEt1YChkai&WvuWnAuM79gf~*;-^%VLB6a4YD80C^TvJVP0*M3J0gRonQSx({id}H zghb(|Qu)uCBWOG^CJ{+mK?rp#3oEiIF|h!SW7BBqw8C~`E0-y3vM=9z|6q~hW{-#{ zP&T=K?Tl5wG6%?Pke^k+S>7dbe;E4aOjUB{E5E`g42KLSQBOSrU2q4go~g?vv_z5F z?q3`o=`EfX1*%nDG%^5c~8cDU+=`wWE%bOZfkZ$uRblcq)*Lf1)~i0 zwgMv!I&h$KN$15`0jbVU|g%R1lm-^euctt;8cKt-z4%f&+059Y)bvj(Hva! zuTo5e?0-aj7?81Zrs1GLCQGkrX>8HK7KP4F!E6~8SA=faq+w@Mt4&r~29f`d3l_zO zVMQHrE8~pC2@)dT4_`Oei8S+wfP5UouNN4$1F~53e~|I;Zw2XfIwzzpv~g5dG_^lT zX`~ULAq%IeJRIRmo8&GN#CWzOTlgI>Y&9vrG}YHGOAB_ZOH^32vIq>3IZ?FN?bzfB zxTnF)Li8?WQZL}Nuv}_((W(+f+zYU6loLGpIH~f>d*LosLZM(|$2+}<9(0?W>;w&2 zsu+YL_}ytz-NY#m)jJ3210v$P_TbCb-Mmc#_R+=>#ivK;^XNtCRd z0|@m{M-h2x%MNLu$*jeDMur3%;BCgkcdvW$=)`;O?(lrEw)RlZcL-})7`MQ@f8@8n8yFF}0fm(Yd%3vr=7E^|=BjdT*n1YU2*sCPIwA~}%doq6;sjnn|X zf5_ybNd;Sv{#mna!K^WKpnXszYsW`@6N-k69$4Rc)|6yuqTlI5nYBo z6Yb!zc|&>Lh&N8Dc6E@hlc~V&vlGMmu>jMZFkyUY7T*8!hPSVG<(C>j@rRy1pKTv+ zX!`8CJhi6fT+F}z^lLlJ&QVLc69^GUkG$kZ*w)7s}MhP>!W-lVj4VDXF>!t zC!1Mo$s*L-pdxPXyW_YBLo+g@6Zrw5bA$;EJ%RQ8#$RF99;&X}5Y(-i+g}Z9Zq^dG zi*F<4>U2Xhmczxn4STD+bKjzUi~h)eQCqtVskxo8X&|uo6YH8ie}8y=WpX>8i5qpR z3tJ-SAlLlvTpzkQ_wT4Pabd@7D9#6G?HW58yc$5)`ncjf)Y-|>NGQ6)T~KG1@$M}j z`YosD(B-CVZqjqR){eMpdB|9GB>yZy#vT!yabIuf1jc)3Qa2Qlov-6rF0)0>s)g?Z^K-(nNmOwRmNWF z`?nAPse7;FNbpM=A7|+1We{yMgktr39W6jW6Xy7uKE`McaIb;@YG|bCw_>_@b(1ZU z$!6u&YfU^`?|BWwS-IP1%KGajaWQ&Cath$%gJg4p2=n$jE?sO?gzgsjmOaWYS`|;Z zVLFJ6Rb~O0*FZ2Efr(IcOfsX}-x*id?v4#Y!-?rEoN_4^F!HRet-AosYq$JhBB1Kq z2L>Y=&`mzlp+2s#IpN=SCAtBPB!x;~-v%te=#-?dbr#&O8L(;SmB^D4J>Z5Y;~p39 zQ3J&C0aqUf<~vK~cB4lFgT6N_27pzlBce#B$q4!Cy>{jP-&1pr1g~7_7Ls!Z8dwQK0#Sb?V05j+TMXdzJjSB^HQhbpXA2I z^&p0(&T|V&c6I74x|x0dKNUNzza^0bZ*-hbdAfl&VO-`e&^jW_{jqQ4RTIvNy_(;{ zY))5hET_G9Y5=%}2RGN?2#H9;A(Mo{u9&{rM4p+8FWKF$&MW_$KCgdeEsTW{SKLk( zHV*f5Ji2&&^W~i8nes!Z5|$KRwa*E_x6X&F!e?(4udQcuL>aE%cIe7)y8x8dey`r0 zUJXdr!sdSur+9SQCm3|(tYHV_D{v-H8K@U(RQSwb{E+SdNNnr_>=_J=x{|yd;9^pC zS>d+8$6g>Qp^x#z>r10#mG+Bplu~|`mD<0Uq-!v5+i6Yby>(%Q zfdZipI*YdHB6z-s`V{CtqC)}}KkSF7|2iRw!`Je$0usL=6)7WcQhx=3n*XY;y?wrS zs!QBFTL*Jqi~4Km+D+(MxmJ+xn%-4<+@3WEV<|zjF|A><@oLWU4>DVUj%`L&Tjtb{ z_RR*Bp!SB9`megQY-n@0GmOn=2ed<`6E(jiyx&NT5_M)9zJJX0Wr%rsy0PDuZnJ+# zJW;mFt1*$CloXKSt)&AQk}P(ct=K&8|3zTdBu5nz0fe1#Tm)qupIZr)o%8ft;_&QK zCMmbSB{Y44bvzGyd1WpFGuv?_(}@3=e;Ly)8iR!`tPR;Yw7vdI602^17X{S(rYMYO2@=>RFPf+%3^l=jthHXQ zjn4I~fgp#h1s6OELJf^)kABFs7nBAGh9ZpTrL=bQc=!optBD3xK=t|Z>VunnW&6pq ztR!EYdoFj=@>t#)AD2w zZIEZvWNtL9(&y(hCIvv!9Ha{x=bP&?#KyVdf5$Fmp`-$1`i3%OoX1&CPB~Qwegz;7 zIao-ue65SK`2>){s;`q0bVlU?E{-t%Wh-z2ed@)%R5v6wghagw(SfrWL~@iiik)ghsa|6YTMU_z$Ygxjznfb-L(zZ5w3sBWM z*FZ)PS2R?v^i5x={XoH!+2(Odjh6BG@(Peev8H0+>!p*S8l$PMfNV|OyV9E#tt-jdyZCpp2PTyN9yz9NYy>&vfH~Ejl;7R{yeN>tb79t^ z3*n5_wP58300y)uoq9F6y*$pjEy5UIRAN4PlYtQ>yOzgh7PwufO?J#&{_;h-=)E<||Y#a?r~iSu7tFs@^RZx}{RNOP|PK0^U` zn_4idb+H?+ehB0l1JK947%bqNt$o@tCVpX+Z?0C# zMO28U_xICSfBuk3A}Ajg*8k@`{_t7f(dj_9aEF!dP`5lzy0ijPzCo7cZ+y>C4;Pal zHF69;^sd$GWMmCpIr)PUqRI(~E#1w5#LX%5A=hJJ&DQY*fi#McmM@UH`ZAex%WAWN zCzS9tHlIw^K;>~9*XsJ2JPtXG$-PQ^-L1F3z@>;cGf>@W z@*dT-zg=XMT4);=LBe`fo>p z9qXWKgc71;LKt))N2cF~3w+Bo<1s%$gEtGKnt@7f5M*+7v+vl=(K;1h|4Oi-HA+=x zYv(YZa1alfszJiLIc~@A0kndffR2?={mw^&U$yRxP{~{bGv-Rw!q0EYiabPXP%xY1)7%bnMjGHH7yLl5`yzf3!|Ieq8eLUlgMU|o@BVE z1=*ZKUd>3eefUrpcKTedl=)}LtX;iabGsmNg!cr<-c;F?SJMLglW`@QdQI~%j>S3U zNwiF+IkSK|YgV9>?ER{*sldlXq(IsF&i{yvYUYW}h8020i{f$WN;+ zDe+;yn^5gaYMCs|JO*6)vP6oshdB`NclFT#J}`KL(4v~}X63{AB#6S3zbI8)P)Ln0 zNvMO|-bg(YF@oqoAH%oRLesVj}1Ccpm0%zXfpFlRNVNu5|VO6lGevG!L7-SA;2 zKMF}|e0$jM?nz~5OsmFYPV#U%I@6%#d(Epy9_TIFH$8-E7$F(ayPO{x^W4|Xo~WHT z#y$0B69Qkg7@aa?bGw+VZa*AY`M_dsgaVCAlx5R`?xnfdr7AQDz6i~Zmu<_TAgBIV zu+I1eUW^vz)8#Emtn096U^^M)b;z9_S8$o@JX z(00D7&?tsUIf+0A^rq5J0*0n;4w#uyO)r>fEdkSj*sUx%Lwc|`&oq5X=T`I8X*^YLT$hf%d~GvBflTIikJmyhtXHH7mo^0p zwf0&W_f@5O3&D>1HnWzahA*Syo&s;~sGB-1PoN!B?tB{*ni^-f_KsWS*cpwJrlFT` zR+sozH&1tuyj4A1%s?Y?4fVxh`LxBXfXp<2F6z@5g0_?G#b)X~mcAPAVt@$JNeI^~ zRR5^c#sL_a**ByXW%9h#@q;S+NT85ufK*)_&u4M*lqYnG?VqM>d?kG^#kEPsmgu}p z53RLF9#CU@R21h<=iu(f%fUyr9n&kRmzNA~lKD08FxT6hu7lcd=k`0<&L?&nkxSM# zO%=Z2@E=I}$<0eoyfx(Lc{cL)V`M3v zS`N8gOGoCqs^8}g-jFYj1?Q!!C7wy(vH|?AF^5B4ces?rQZ~2=_N>i zep+y3crT64ZlW#a>Er5F2VX(b)&zC-76g||;%rI$*5KA<>Yz8}vn8-YDnkl)V~)Dw zx={gS6U?$@;p0ZNy_`}r*8BeCN7UB@wO{U!UTAsCX1Dg^*BofTlrrGy4CecF`Ms7PtWZg zTwjTHxO16#iV&~TzbF#0(qD-**~}ncwXoEd9(kHx`ME@#M)XIbJ8BQ*5rErtB<3~d zeSHu!{^jM3hYEGkhoFTs*cE1 zB8NnG2V0@0x4F^W?e0iL$qEGSW-%Z49^@IFb;Zpmn#M>T_6S1PgeVHa=B zMyi0kRa-F5ijGsQJ2*RN)_ zXaVyDY>llr;@qv@{#kz0*H6kT?4E{$0qPatzkdaQ{?n4ecB-E)Y2lF4!ztdJr%}w! z??#$Q7$1$OPzji+@a6KQri!18)~{;(Dr^tCFP)FgUB4*CiGofx+U5?90KjhJB&mW! zN#wyA$?nv*AC~djGKQWH-&(tTS%s>HJWDK}`uzHGIL^{mJ)%`vcHCL&{w&s@C@MWC z!7+BA&uCZjGR?CH$(r-Oz-VDZ)A|V zwgrGdT+hQ7xm7|A@F5y)61!pKQ#F7mWuJc=pj7Kq6gD5RX0_9m-77@s z4!U$p+|D7HJKY`q7J_xJdGzqks;wf8>PqqJ`2zjD?e61k310@g&g-H$u5BsE4pqN& zG!gb4EiSm}A<=(C)L}H&rucl}oogMTGb?RLlg!uK+8fEVKT#%eYCs98?&47DB8iBu zuT9yxY?d^bK67gzPe!gVHzBS-0KN01E%2Nlx#0`{MD=~CQS%(O=HB*BZ(xbi40=Xg zGu?bs3kr&Mets5UY`&CYQ*2sc3yCi;Rp9 zckQOO>XT6N?u4A9k^FG~;}S;*t<5rXoTl64RFMC*sZ$+{d&>;|s@W(%HQg%B&8Z`B zzw631crE5!oWd-=PhgxJyBHApF zc+t!JteZr6^a+c%!xp>vj#F7fhQSJ^lR9 z_~VAgQb3^Ka2t;rRShK-`}g{cPN|B}S_2B^;}qIQJVcraub3MEKT5s|z2pO6Rf7X# zq|(3V3vIqfjSaqj__JY|HZf8f_%`)Ls*<$?d42!sa?urV;$hfo>fcn5N$JYo&1TwG z)0|D!+uOvECWT+c6beJ73(f5pUTK;mYi~;ag7((5X;PG3b))CQ?&1@lRidv9J=c%f zQC#$pP+Hv-Ti$_b^_oAfzfrX%t_{omcNKC}%CyQRpWXYJc4{2fbZv`$%S9JPfscQS z_^=Eq@A0vOVER>oV8`jN2uGYp7AsXHO_{}DwL8%$PdlNRIqeDAiG4Zf=5K$^t@$za zFXQc0Vr!A1slrG zn4*7uUs0%JAxelOW8v}hC^(aG3~Us5n7&!e5bz&Sb@zzBGdI}THxv+X@p%L=EoPJ? zB{WcIn@3{+;TR8PTIc!zN~-2DUFAt}7gjRAmy@=w(aF&y$4+vs|CNsjJw(CTix$0$ zck5*o^!5`*9q>Enr~>(XlU^0hW=2y@5uNSFJgLR4# zT~dMWl1rxx->fbLF;yne6b~^g?y?-vRq&E2YV>t6a0SnE3n3}A)}eWS@yB&qndeOXV!jV;y3T`fyL z+@Dvk$h6;P>2xgFS2TbA{9=S#k+`>4c1WH1z;`Xr4sp1a!F(5&7BT9b^kP4vXLxH; z(1rbTRcR~9edfZVJug_6qG0nc$^Co_{iYdrdkITxZF*YugoYsY$BJZIpM4a(t&ChI zx-<;JJq%oFfzOt6f$ACl!Ga2lduOt4cHpUUgOV+mnaEQ8vQ$m}k(Tp-8SHVg6Wx5LOLtC)V|Ju_GN@P3i%N(=Q+?-x-b65n2v zdYRn~{aV4TJYdEeaS@MS@<$iagI8HR;h^0lwh)U~M+e+I(u`tW8a&iNKS;KoA}d)7MoXZ_#{*P{@j<9&Z>z@6Pp7-e| zlJ6J~J^sfLe{}-aMdZez53Yi*m9cZk$Qi@9c@*1^U+t2%#xb(Y+`j0S_kYb9BZqp3CAq<}YbDk3Si<)v7rU+Ll@B5{>i8;wlsh&X=rpO;$ zjawbafg9EpY95*I&-sWBB_aWN;W7^48h{ICz9X*WRmxx2ycMr8U7$-g8+Ac?AioPH z@oh2@IW<*6f%y<*QYYgQiA4@2uj?{^AW6^PoPb`m4~<9JsgD#;5Xs)fB;-+N{8^({ z65U7A*9oI;osuS|?vxP6u3mi<@d_fMCf@x(_7q7v3Q2zU6R*}n?GyEW1Cn7%9JQ5~ z!P49Jy9!kiQk|P&wNl%xTn&l&fR9(e2~y-5rh~n<*cFGwZQUIC|y=?Ie(VKuQxU`FlQ-yS~Zw2N-~}RDRUJA|AXpEHp)k% zkb8e6DuV8BM!r%35T~knr`b^CI{ofkU@#RM!}*IdIMh^|r0NxG(wZ1uX7M~>_?BP* zE?t1lOB~b-pqH5%du^Yud!>KfG0_h%YfCrWsTOuL09wgucdsOl%E=tQp*sHf>(LMP z3L@X$KN`L4?0E~?p6s|UqeD}UABg+;y%#^r>WSy&(aCWHo6g^|V7dAU&9~B-?i+%M zO2=jel9_KhGI{QAu?1KCFb+8CtK9n3(_8-%HyL@&TZbowJv0Mf*xI$6e$Dy)`iaTw zgkiv2Q`Z&=3O=uX>bc7q%zG;Fv+pVWcCH2kc8rY7gA@W1wSqhtLd|^|$RcnSpHuLB z-9Fp)yOGbb1GY8ct=ISA36Xq0lag8PgJRiI$-h%8wJA8qn$6%xX|o~7pAN+X`_&%xafRv5hj{)f> z>t1B$5M}LM*tJIVF|jr;mXRmIbIwN1_Y!*tJ|Uj5-`Vf8a~Oo>b><@?EL-6T@e~_%=pF1M=o?&qCzEFXn`t|DL-RH-ljrYiCk{G4L|I{y zRP^&c?k_|anKFTrIOFy6wnl>#UMa}%cc*Br23lD8w~c(kRIZD`y^XtmPnFA!NICOl z#xY$P1n66>83%;Ez`|a`@mA}9@eLaa{_d`L#rlZm5&H)`3ojffkDp)n33`z{8uB3x zd*?QNcBpoYMn*}&VwIk@x+TXcKeWr_xX5sIurH5AK5(3)&3@v*7C9`B)i@whI(D`Wfs3k5BkSFdChugZm?Zx6K|=tveeSIY20LRvgD{?aUFq3v9Q^OR{j z1EZ&fSpOq36@~UZP`l(YtHmT}pJ;^rf}SVlYYDuNeyMN6P1v7xls(oKv)1P`s{e4Y zhY7B^{+$8I@4}j3eIXag!>fEiTHc7;N0am*>weMxNorSpdEvQ++tK-Yzmd0@ObZo_ zzqK}CSVK?zbLBXslWt^iSmCjTMDWg-tEBIU`va={JVl0v#!j1o^0xR0GO)7Z?iT(l3v0N9t$ zQ1IX6MFU|x76Em+DL<^~q@D)bP==8}?6%dgd_AJk zCMkFuG%|YK#J{DjeMWMy#fA>@VPLBss$R!CUlinXy8Hxjiju;w^{n2-AqGX6T{!RH z1JPEnVNMyGNfC7#dXf@iuhlsZUvbkfR5C6rEc-pEI5*Z|yczn*Sul_rGk1E92D&b6$cFQ3!4zuul&` z_OfpI!6fAnn*R9|tF`@Af#$2{&8>gJ9)~U6(&FvWhxTZh12XI_;Z6;~QnwWW(e><5 zyLnMzsbmxk!W-!R$nfNRc1%G^Lcr7~sL!)D6r)qb|K* zAO=aJ3W$VyU%d{SgFS+QISkb~`Q!U;sjy6u!eujIY}f2~+piXQE;L`i_R}D$#@`V2 zUX(q&IndPOP0nO2JU7vPh?BQXpAg%mbz@p=RhIrSqd9h>@bhReJAbsniCajEPD@*ZYcQ|^YJTw@k--bb&9Y)J|c3gj;hhx&V%yr+m8or63XUSWeL&g4+NV; z5ptT~M%fR^S1p=3g8EjjL3GhNiK3{Dx$eiHJrn1*x$VsCBF4|1vbW{yz}YPrHMk~$ z(V(L_Nt3!o&){jxufE(xxOJR=t&JTt(cF)N{QSN8o>VuyJnLP$X>)>8!P92$komDD zmI_Vpu1(CiI)(O9Y8+VRl&Rk)>Q)KgkFlX4sA-M_pTI-N)v&eDEcY}at}jXn4n%Et z)!Jy(sKTQ&$_5n=PSojrmd76(M^n1+wdP~OSvX+oFtl0Nu+8^yw*QEdQCX2NcTd!} z2_|WqrkMU@#?g?g7uTG)yWZPU_#0eWAJddF!5#Gw%;cjcMH8ib@BCAzD8ofzP$|A} zqbBAMM0~RLX$|4>>z2a}Mx<qxc zK*KaVr0~JMsrV>NxzCe$5h8b^xwFW75gr1uAOfDif5Qnr?`(hAEjhWg` z8MH!(J3)3ISYvf-*Zp`)e=R;GvhDJ8LFvi$8=T^5KDzJ$NcX80W0s?T7-}ch6T`|E z<(Kbk-PSmL6r3*<=1hv4u1;TPulb%{U4g;rb$x4qREgfC=Bs+VSE8$~fsa~BHI_rq_;!=oWr4f=;L@~OJH)Hva@G&H_!ATRDB&5(-I6&;=L)m zm2?Rd7W};iRloxSVI{CW{`Esw1+Y>-&TV70a($9y1*O>@6QPW@wR+_zcXNLfV{_1P z#kN?AJQ)ABi)hh(7Gu)mHxCnH0egOLE&jB?C+KWHx@XjkAVG042%ouSr(85kUGje&z@r~QnJH_Cy)qmv3p#-SS zp^B?@Q-v^%-vF-yo2d)6IS6EEH-IN9g%nM_U~yML5E7~3^_!`p3hZOxvM-iQQN7Ww zO4q*OP~rNcdi?P2)BVBor%<}Y!vfeZag+KO@WSz>O%C>2xw_D7)Y)emP@$n{}Mqve7Z1Z<@yQ5F8wfseb!%gH0pRuIh?#G^r$`iGe4wbbOLd8(# z37+`Ba;FC^VsGSl<^b|oD3rGZ%7)gb8x&r>mqq3+mV0G)U3*CXIhKDVqgnlF?HJf0 zy3}6WBy&Hw!bQOJh=2toFyCh_Giy!Fm-O}Z4fciv1bRXO0{mr`41ous;_2<}4PjOX zOrsEC8Q8Q;-NmFx-K-ijtW#K!O9C|l(=hbhjpPVmM&A7a8Njojg?_^(xULWb! zYok4pUx8;pyre(x)mVBU_X;_?IvgogEY9 z0Pfn`@ZeA{SgD`pz>*weZ|DXcbAJ$JvwwI;8O(3d-Pz=2iRs(?3_hG4AaKKB@(GV8Bh0}H&@#r~>ihrD{ebRtJnM4@~8&VntgDQT&C#F|;H zv!?7bM?ptHeFaSm(*PLB?mVuyb@Sx6cLMFbBARSl{?!oNB1%qr4sg{1y|HcC-h89aNX#f4f7QGEl7sQ6Gou@n0bMiEL8gLm`3O(dv~`gs~2VuRA$$R zMYm;#f0i~fSHt$IYuM;y2P}eQM;=?gsLkstB zh$0C?BP&^lPQT9sbtTW<&5ItZ(XmaQ?EdJV2&~)Hgb1mYi(Ik57-N}joDC`k`L*9^YD0>odlh$Ht6<47S#WUo_FCAJ{@?I> zaak$KUj`P6>2k@*snvT);UIlyO{EjK0Z}fKZ7GiGiqpT~v70*B06h*$Gv*4rxtGup z=<)F9RunT`mH9%hdm(8}_Qv~p@jn=c!Nq{U(_a7Ht$cZ;!haYvP%BhjHzGLJa{!1x z;R4o1df4{e0Y6Vkjv6nmJmG8Pj^R?$r_*?ZCfejPR#Y9LGwj4fETix!q56H`o|2>d zry#n=p#p-g=P1HKbB?*@%+VeceW$O3^{totDmwUW#;18Zw>CGkx`yPB+34SJ0&t7TP-+L3fCqUCQDg}ndS&c%sOPLR*Kc^50~F|7Fc zBe<+8rbM~4%c;{$_MB-K=;V~_P<4iEohIvGwD27#aJvx{ou*PRL&qRo^ZXV)vH5wu zhD^WJ=Cl1dye^4j&OLRzisBxOea6j%>Gqf`hZ{7$frs`jb6Q-H`wFrKz?)w28`xlY z^7GXg`&Ha3_?9g{1iUxCxAx7|gcEcqkB{aWQHmF6s7Q>^&q5f}V4q8`s=K*Hl7tI1 zo7=ji@Fad*tfocQJeE5-?I`9LJG>T+2zNP1R!Nk5Lw&S8=5PMAJR+K^R0W?i` z|6)Tc=@reN%IDvWW+o`|*|Txzw3*!}>GFzKl`W4#KQvaxnR-Rcm*iWQC*ov;&oiW zYqG=$3SxVC!4)lZXI#nJt0X4FWQqKp+J4DaW4lYcNPR+2&t2!_^eC6pCR5{1@ap;V z=MJo3hJRqN_>y^BK!(o%X1syXuc{YDN6$NulJY0#1T7{X6HO~hV)jYW-3C{=L#BIv1c{Dq+ z*^5o%7UfJ-EavJonP+c|m9&^!6!q$DuQIK4nGv&WHHrQ3-Q7%7(cso@AJf|Wx|OSq%>b2w488m2 zK4UjTl88dwucU6+=;$nGn)zRWbdOBI#1=lx2)1a68|BsIWM&S|*Jt0N zb}>E@?X66-F6gXd3a`evajT|JNzxW`a0_D%Mj(vf{!}Jx`cK8u-?dpd8ND78@Gr^8 zrcmK6bEM+td_Y7SYQP-b>5&0r>`!uiUI}TBJqUr4XIG&=eU&jnR+U zT82%i1&eete|Ko6AYiuGpz(jtT{OVBSAT|Lne9~IlIej6uB)#4jJ!@4C(dNaw!v<5 zsw;2z_9I?#_z_j^@P+T(Ho!M-s4a1J_?(iDop@yTN9wtEtI#;OtN$Y;lPOJSt2Ea) z1DwKg%$~wKFyYPkr6`&GwZC25a?!d-6m0@#jb*&b^$3ZHx|_$8&3rAwG$+<)W8A>d zSJMH+pMQA#hgp0a(cBtWeOv{yFq`YGo#2Of?cYRECOc76(c{=ic}R`>46;Ecc+_Ro zp0^fI;medz*?<;exIo{E6T6$Lnrk*bf7pJ(uA)%=p+timWW-k%Mo9?m({7`+#D{#Ys4Xn z%f?|7w8_P?b6kO`L!9Z3WkhN{ZZLHx#u$aVF>YhyQm^&&yMwF6^=@hd^FX?V+FrOr z)!$C8wGM7F>?xbq17k@Ir=*;?eKFodnxys;4*GHIE<<}lS!{7OKZdeT6Mn@Xv0yym zuzEefA;fW^`zx<7!>gecff~k5i-%Ji*dG~kxBPkiVb>vE+qF@F`W!!mVbad~sWz8C zT#s92&tGu0f8ncWpO2vQNQ=J{wU^_b-`X$Rw0E5h8zYQNK1=Q#`T1KlXUxRN3$bzf0Rs_rji!M68q*dj7K0;pmZ`I3-0A%!j?F;$HkqO zR9rlrP88}ZJ$iRPdsG^dvPbk|G8?``%;H9>5j*>q7FWyPookrr+31BOO!-uhd+%Qy zw$it3wgoPa)ViXgwGOq6+OE^Xvii52l2c1M>D6g`V3FQV*BG!UxSQx8n4s%5)F1J{ zFp#0GCYv@7Xor3FI6n$h=5~!;MOKOFB>|JZiO}2chapm@-Sa2e!cF2yj1O%=LZW$7 zDac~g?nnt4NlRYumgXe-#eK8RWYbfX+6~fZ_NK<}{G(0H_qhII1|3j=@c0$dgiVok zje%=Nw5BH@r9s|OMDw4tQ2o85qQWa4q>hL+SkcJYX&4xR;|uv;(fo}o_UlqXNEE$U z`uvnqzQ7I8?P-{QWc=@P4poOfDi*j^fGDP>UJ4DXD2MnAOhOo=x!wEn6_Z7H_mn*! zp${w)^*}UO;mg*i+lVbYt~+9`?CmcL4{R{gkc@ z6Oc7f-n&<6Mv|6+HU0(^Sc=(|=1pk|Z}uv2P^GJhI`W0ZOv6U(xER-=yVxu z58Q92hq&V31e8Sv5E8C_B>mFC;jnOC68*N|@3BhA&v)`n+#TqQ?OI)gW;`IHm{}_Z zO!{i4AKM7pwYGjzaB!fK`Dc)xGytXu=3|`}?FV|3fvbdCsDv~t{D9*QDn?~6G9`a; zBRC}Q7MpiFENXwK8+>_`OY#0+C*TM!pn;Tm7nnU5w6el4(Beo-f!_83es&!q?{bj2 zH%otcM2Lipr7eBn<^5y(p_WeQTgr#eL88~EW+G5gNe>O7lcjafLRemixu0&AL%D_r zp>~K=pv2D+(~`}HbiY3m!w4Lj*38|147fk2_A8#nK1mvK7a09%OKXea|9JiR3M*oN zNiOa8idvdkuRji}(T)(&#r=0kbH4wuMqu^Gu+{uF%TgzIdC_t4YRl%d?zs?8zuvl> zali~r1)o7$U0U`9OhvRw zXXYSS(Y+2@ty8X1^02H(v`}a64TKd{$~#rMrz_8JDDs%+W0>C-`7AB^v7OSDm zT(wn>&x~zPX{1K>w)xc6Pl-e$d!b!_*Q7XQ=%kEl6I1^e&_UQG9a9(;p?o)+jz#_u z$;DaSqdakRMLom*^3XSU`ZGsS@Av6#WKlE+#{aKR`4DM}a-(AG*$!7#s8PzFC-V!F z(i$D}XT&RuV!qZ-7@-w}G?}*qf z4x5_#gBgp;hfLZVt!y}_VDnn0BMjgMEDkJZTe%J)kUqxP%V~{Ya=7}e6s*&d#)_%B zhRf!wz3S^%XBx~D8qp6caUAc~u4uHuY&HLKS_%wS*48uhI=TWc$IYfx##sHS7;U#W zMy%F+5Sa|XU8{q@Gig&+_(-;@Whi1JOKNrVEepw3W4t~WBwpetefzD~PWI<~EV{<9 zN2SGX`RWcKuboso8ihHhN<|ZC(V3f`8=3PO#i}@?F;!8z`4n}v=9Czxp`Oal6LZ1? zP4=Xpls_@>k_kTN-d&N&xT+BlR@nS@$D#F%&w3VJ(sjK$|9A8jDdjU-J;SEiKzZxM zoXc>eR4UCkq23kYQ(wI_nUfy-X8-QT&rzyrk6?!Hx7kZ^nZyJ*jChdK&BiI=)wxxA zdWV?oP0ytASH6~oIQA?USh}%^q_!zve$qaLY-ETS4zbeIuFe7dr+aR= zo|O}n!#W;qT+y9wYOJMgGyET1O_SYU2p{JU<`Yr@F?0q`GuN+WYtBp8t>iN@Ff--E z5n{e;d!LsfPu3v0sOfR(B~Coyeo}S3Z`hA4c2hW0FEI$8)djgYv@v`yXz=YvL%mUQ zE4SC{d|iV%%MAg)(jGXmqGs-oZF~wdy5l?KrIN5)+R`X@h2t5rlI9?tux_Bkubhrp> znKyBME?CUcxfJ=lKld*K=i@63{rXxtcE62@pBt}{ZC}3=4>@LV-R58ps**L37NlZ+ z!mmQZ&H^#8x6|Zxb`_Yzkg;pXf8aWKeCsZdqWg4ehC$IhUJ!} zaTyuuK_a-s4Z?Q{c>HBYZ)s%+EluK7kCI)S>o&PI;(uk)R#R4B2P?*3?N`m(UMrk_g1{Hcj6 z8TT>~H+F}}0+NY9X5zIP#jbc+DMrU0DVEN&>ZIsseb08)2~$g#K5ay&tA$NTgvr(t zP?pB03ll}9T2@MSeV8wwJgw5e_vkkn|1`z5)MGE)DMIFU*>7~9 zx`i%dMEwfMFurdv#FH%bhF}pTEs6UjOh~afZwr!v6~DIEDNh0w`7I+0=iHC~AeENM z)F#zj3X8;iHlExW@)P_^rN6R%Z$t2xu&acA<9xB^^MQW~QoXtnD#OXc9OA4Jvvb+a z+mmDx)sAWBy*F-=%Ni>1q5;cG3PX`?o+Bf-devxekX40Yc7%kghR(HDF|PwiRfFFv z;YFJVZb~R5>Gq0FDxdIE2*{Ntxzljz>)D0I@RCK>m?rJ z7XB}iv>k^+thi(4-nJh66~_&NCYU(Mp*AJ&20y29S;(;X1QCzB-b8!b^XF+(yIMic zXkQ?0MF(X=;pNlLpDehp1Egr7t|EPFZ8Ked>%Wz{y1fL z1G?ky5vN{BBMIb&mF%fmf8W zG>P9&0jJ?J6ouKG90inXuIss-kV=&rhH+@Vj>?#mI9^hs@+F4$Wu*iy?t!R06*|-J zbui_zfq)b7TM+Y~+Fx3%3xly@<)c5^@d_In5^`<^|^-a6Ump3fGjik2K(+ z7@r!szocQwIIQ%l+;dxbBMY{~@&NRy*~9*zTdd}F+E?|4&hB{^8P1n1oI;)fx1B6(kPv+=^ z_ekAOD+l6olt>rVIpbqF#vi7^ul$CG&WZ7b)jAe))R3q3E5zrj$oLGpdDIwcA^}2q zn|WXUML^UucPiC@hAMA9Gy&fhRjDIVJ>?&}#%Tl5v-0ntG)YKNo7aJsSH^60(UN0P z4FCAI^UpR{P{iZgWU%YLP>O|q>DRtVNv#3>YAgy1B1$D+>@l-ihHvKb06ZTmJqN{s zSBL-?J#@xk`tMD@FH*&Cp3X%;8xz#qlKNOW?(w@wWby^ z+uT`+NTz!SHnvW_rcoJWd+T>&uQ^$d>G%0~+hJt-#evSC-K^+2@p2b(sDr~2xgHBM z-@s01Vro@riVjd?G^1AWsb#O2Jfql|VL)CL>ch-A z=x&H>DcGJtgpM0rj+0UqDnl_WXF9h8hBK$`k`}=F6>Ieky6jl0HC}n-xy6HSj}NXi zUq<ovZ#UnYJlkZlNJ*SGy_*&CEwxLPlH!&o~xxjw{j6dA)|FqlB zLpAF+{~Y#jkar}bVpnMfT(8dme7z=jtmz`Mg4eGOT$juh8uX$7&=zC6d=o=|JyC_X zACz$GA9M3Uup_UgasgL93(6(ia3CiO5x+Mw(8CDhl)i`Gy$xD17ebd7uHAE^A%%wk z07Bm3?|g4F6Iy)>bbLrM*p{d~=}-^VMFswfK@djMvwjmumfn1&noXbOZlBT*5dC*Z z#+>DZU`@RXe6=nvynOZN^>s|Z9IZJNRNXnzzRuLv+7?RYU&qIml+0ljN3X)-{Xyqf zQE#b)a46&t0oB;Wr^VWj)$9}Q?&S|LVMDCZ!xKqTSLiU2fw2G;1lM@&=YK(F29(O< zC6!CV_M}PZdRj=(OL2tDszl%0J>zs~GR~SHwrIbPJR%X)R2sMtPwj!ZI4LiPM9JQ~ zWF`EdHNhO90KB=kdMLT~u7Ikbm$pv>5Lhu+&!eAI92+Xs{+*Osvz~bWTcjF7kOto* zJZvmrR{!m#CXLUn8Ny@G3c+}rv88!(2*l2lP+pG&Xmz;#;#u<~-{qhj=TZx=(nsWG zC=?5>F8VRMJ{DlxY!4cKc8Guy!PWU>Xx4#(jJiC_rY>@b8t>IYX$>&0bp)^^@&m!k z)o)tSQ9!zt2vt^%yfo;TJ@MXr9t5OG3C_JL0oL*PxAc{WW@FsM zvh~uPj^06DVO`WlVcAe1{TC$S%)X_Ep62fD<8lu>dH`O{AHIQs1oET~y~|5)yW?*L zHlIF{;pr0Q#WhD-&qSnXrRWQUosO^n zK%HwfB=~3sw2h?1zXOi1WjiB%%rj!3Ln(Zix;>kwvsmwIVs1)Xci7fCAr;m*n zjPLx1MT07iF1H(TJq+}N-YE*J>ne<*`~a@l?;4PrGiW1W}kqJDmsqm{EpiL?I5_K_slpEbStBgIpdxtLge z9$xHAzK>$mc@oR)9OKUV41C;FhD54@;T&)Q2(%gbCy)fd5mtle2lbk6suogPZVX@F z7%K3ej3GU*HHmuC{+u6&w-PTpDmTQBX&Ukh9_W55R2)=!8%KIccc zCEp*%w%>1oeNQ3$23$H{(~RTIYp93fkKt$XH#7w5;vYN#azM*DFcoftnpV^eCG2DQ zCS~pT`1k{vo{_>s1=14eS|{=HON1FTok zgQc61oB~SgaH@XWQk)K3LYUGDRn$7Z)s0c*En6#p3akXfG`_zn@(<{*}aG;xm_hbmYI#+UM+qSdO*jxrjv zPQ2ZsdI?3ValBS@13kCB^TP_AgPx^N2es^FZ9b;5PDl3}yGq=)Udq=nS#1L!SphMTfis$feM~_;Moy^ccv% z=038Md*-dU7aIcuLG+P&(ekb8<%cuoN3d#(V~Wp_rJ_SS8+K-HU+%HC8KTTt=ep>& zSLuYIHdguA?+Vq&)$F>Izo1Y9%TKI_^eaz)i`_VG8 zz>Xtxqubvjj`G?w1r9`UQitG{0Qtzr7Y#lDpeW8{{4HD6s!EcakNx^t4_O&QA!#ml1U?-FaCaiTGjV6bltbwj=CM#n=$UDIG+T>+!Qh~X@%x%h2$|l(Z4lpL~kZ)*NI+ee3 zFor@<<{2yn*uaW;Uy8oI@UNXY_1=u3fN2u;_u`w5an~*XeNdg&LVtm{C$0~Hu|l_- zI+aTod8jq}-6G}jpejv3Efl8lH4BxJ3!0d{% zryrW$Kb`Oo_Qrgw7PZwD(^6*{t(dpmzIv z(_wSA!QFpYxAn=BYTwYU!V>~sTj#p?p>^Hq!sPQNxu)Uy)L{lG)%sHu*TTCGgad2I z`SPNV3&YiR?fiT~)hXI>CVzKI6?0OvRf#gromJLZG4rp1bFuwRg1PS^Y!%8i_Z zGerFDe1=e$z2c90WQ|^tmqG*sM*<3&w;}}u&7Dzu-(JoXK_wcHFR~oGoOjgxRY1K^ag)u{@JSDKil3Z;UWsD}!dQk^BH?!$?JSUz8~#$LI1>M1 zKfzlpRJpu)u^efi18Ta{ex>k!OEX+^s36Lm1Hkt2)rp*AIvOr@q}L)|t{MUV5i3l} z`?@?(bVAK55zP(X%c(oklDkVP_bUp1>SsMG>Am@?Hk_f!&+6yAA9Lu%236^EJfK*K zDa*rzK&OxaBbZBJFJtsV$cLxx=eWGR|#P!vJp1+H0ax{D{*gtIk&!U`g+c! zqoLKc66?U_ER^E8RQLxS(C@>50sI1wgYo;wN)zJbq>tht+)Uh}<^2*e7RZT@$jRNo z407c3bpqKRsBoj0y&s&rysv(!`26gygpsa@3!rd1k9{$oS)m1Pw5 zb@=eDf9~%FCIinYh!qD>N zAf(~(neFbn93I0zjNdylmg!}#T2-oET)l4kcRItj-}cfeDEbx@&{Ey&3p(6!9`e9; z2ha-4%?*iBug63OJ<>1VM3P4>*(mn!+4=7$+eQD&D~VQe&`Rd&a+#)59{2#$WLErA zyOXyaexB`}2{T_8pX4bsBtMq5k)5dKR`SICD*S;ZUA|dyHTjbw8I4zBg<@KvF+6$6(Z7X7@T&mu=0M6ONqs>;Oi=M0-Vbw~mVQ zO?UQX@8OPqTDGRb5}2;lj2FCE_N(oMgPe`vdx^K)nmkE-Z`V#+m+kbuVs1j->G7u@ z!Bn0y4R*G#<5;t3E!M5ZYT^o|@W4jT=4zgoB-^Iz=MFdd6Z6zCM!B88ZqF)F6vE6i zeIPA~oojZqPN&izBqn|5fY<-r*jA4R)~qYoH7DFNKfYl_V{AkQj*$7cmxiM$q{)WB z$~NAOSG2SrUJkcLO!@I0`m=*J%_}{wHXaN$4lsEeH2&vl}n<>#q*7|Pm08ST91=2{ncn|nQMp|ye$6+oLtbE+8PqJ zx~~d6xgQgTaGBiC@T7cO+*8wQb)<$z zrq3MVC-GjYj+(NxZZ-JFQ>9yoVyu;Hj7d$!viR?*mHIoFEp~+T5*8VnaMx9`rD!a{ zOwR+rGrTVMG=-#hF`(!Jnul;HhD0#B|9r9q=ug13RwRqxGbX7c()FTrqT8i=U*4N2|G(Btt9moo&l|9L07VS`gJHmtxK9 zXzS?TXa44^ zy9Bxp5)VA^19B{NiycNn=*EQ3cy?G;TbF)EZ&po1rll zh5OH8%t2>Xj`dGt5<4J#r|H`?w`;RFUhgT`M>ELea#tU)7}$Af9f~AX3)(`2LoURp zh24UgZJR_?Cz(FzVm68hwNU@kAow%_TTgX>(p*tlv!1tB6Q)9Hg&E)JN6TdKx?4I6*rd_?%oe+RV~wi;rQS zdFN&}ZkRfIbbgh>m_zA8D-GgyF+y$hZ73Dul$dPa>1(g6$g2iT7Z8~LhoRqvnvS-H zwanbhIza-8|7^Ugr@OASqZO_zgjUfLeMft(zprrS=9%Uz_P@p_vc6=Q?xfV|=j_eoe3^kgQ5z+3xygH5$LaRt%qQr2d?nKv030+$SJ z)2B}G-Y<{XUFf%4G!uZ>c=XwX9V;=3@JC9R4cu@L&c(Nebj=Lx40T1l~{WQ&ylf3I?sbc zf6%i6GKYC?L?M^4m_CO!jQUjc)J9{jG<<(|cdu4t{;DHvfk8O9@2$M^u^R(AM+0dQ z(Sl<-K>w;WL-R}cKhxDH7Jq*J{fkDL4QC2M-pRG<1S$U*0kaCF%dtBXsF}alUGP^a zvt=j#4Sd7FWW}u{%#XHnB1>Ev(52x*k9hH*V-5E{p4}`D|UbM4j?O4B|nwr;V z(k4CC)7S0~k$;Jd8K~qLd9a=Q*QoE_vinWHy3Wb^QstuWDU>< z+Wq=Qen4Sg50LpvE+VMrQq>kI0)a>pUZ1_N@ZjAu&N{WT!>Z(Cn%x-%vIn_f)(BGV zHzdqLiG*l8LQM--DdM2)MVP-Wy~kUbl=0j%EUX{f757RXrCMJ89UHsN-Ev5nxV>Cy ztW;Mq-{{?c3=YozD`02O^s%tm;~9otLHG3Ned7xD%FnG=`l+-?(BMfOj#id*q~?a?pSK2Y=PIWpsd(c( z&4S_rcgGXcnf(VpY^B;UJ55`qvW8IcUhVICej={c@QrWO`CPkQ`rvf|7P*o)g?Fvb zxI?eQ*Py8^*}idgDcw2Xf3PE2LL=R$?{@y_gz7?=ojlvqF8qguUYvI*(I%N!*B+{D z^Dk#?7ep9;Y}Kr0!G)mb_RE_xWf0@l_TJh7kA3=JK?r1vNTnQ0~cEfg?HsnE(ui!cUpA zGL<}oGFXxFNSV{UacLQl8oR`+g2h&DU;LWJUR}!8Z}67Qc3s?yu&~n+hv}$& zxViT$DtLXGw3Lvx>@L5|60B)r7pw>b8jk933I;ATgdhP!%@4XTT#lm5&}feDPyb(k z+C+zOkP1Xz}9#7>8`&5MgB|AIemkRmc<4INjGWbNwB zCs6ifNo9vXyWOYZdarRvkD%q=8evhQaN zmD}!*U?D>uP1%5b7Mr{F$E>Z3zo~*)l2h(dka>vnz{GK^7M;IAQ+=FCHlWdN(=9X_a#3h3{5$`9N|Hsa9L<7-!UC_TauQ4W;)gWi z_Yw9MpFDqJgkld1k76>+6D}8Dr!C&U-=>ovxJ{i|HKtLBT-*@D@Q-0y@7m`(!9DAn z^3Wpylruk-7`O|$r^^11V7HihZ7XEFyFQ1mw~2O2{J6@=sdupOzlo812AXXNXBZr+ z)^F*a>Jam*O1onFTP3#WXRV!^6&1GG*-en5<>Q(>L31!3h}wHErCh=O+mN{Fa7F#g z`|s_PV^~g@$rQ{z+?OZ;O*(=#n{q8p*#@ll2_JW;A8H>OW$+=0O^iH~DH5JVB8um_ z5WAnyoflTkY=nUWVWaf`*bkmLJU%)O@OphYF?UsW3c8cVutEv2%!A2=BzI->qfKxUJJ>kO9 z^1*nayc3ovafBaK0ws8e|0|7M>&-wqa-9=JW^3!U@jj%+^T%ld=t*K23rWZuva=p+ zv=Y1^GTTMq@LFKN1~-ve;gI`+d4P zCc%V@3WX$6+VuE61^`Y_VZ3W^_bjf;@PXxe=Nx@!1yTQHsK8OpU$f~eK$@{A)O>-q zi<}TXCpIUPp9WAa14rIP{wFKZ(to9- z1-!Rr2f>U%3)98<`q5(-U2ZR}1hQm2Z~31@M^X!vMpjx7qJlWCpg}ez2`G(#BdmoXKGHSv=sb1Izp+7 zzC@f4QJLVY>CczIlD_%QDi5M~a8G^;KWq70DM(N?CmwVyT(IZaxP359S zx~$S*w@o<5ZGGj`X#xzc`VRv`;6Dt-U;kJmr!Kq1ERuC9a#I`QOA4`DC{7NW3n|w< z6|cd|fR-kS-o6WRnu)p>M_!9}FVv~6zU6sd`fto{>h}`^JNr>aFAT5I`s5&bKa!zM z(jLY>f0VP@s0m1=1@in->Y<8w6=Af1O8cp$#W{ujQ$kd&uK*92y{hp_58vh{nmY^T z7@q}gUcM*4|Cc$XZ{)ig`P`TOM^!N8qg=4_Q96mA>&aO>D z3X0E?6%|ihpZ1u_{Sx#>kzP)Tj&MrM_b&|CN*E6u%@*sZ@O^eJ+N-2g)X-63pE#G* zzUdMk_<=`;r-_HQ_>#-D5YLa3iE`ySCd0F%RHQ}agk5{_duuNDem)#>@;$a7K8Fe; zI|A8tkWpXw)9S#Ad3f5b7pujWRC@F(tcm$PCoJ60%z?lpfb-=ao-A>m`()BrA-t)A z+1qhxxlx)fiYewn7WH90MA387zaR{10?7Ve0nUMpM$@w6T zHeVi(izRFN@P;DM{xiT{Cq^m$37~fTCX}C|)WG{CF(=aRkhyZzFfS-hw%oTF`|KYE9JfchPx4NIqm%cG=?$cY%WAXUsIr5szsnZ zcB{RV_PO!6aJl5=k1-{Kgpw{%l&4YHU;#4no_ijX+O?P`$z;vqJ!y4$mi(fM3pSIX zt1=$p*-zXOyrmg26p%pwxIJhtzPLIVB+`z8|7>`5~|q3T|rGh#&(NX!E}4ZG5hb}C|p^CCz> zpL`hWliA0huvS!JzGm+;R*?C?J(tt}u8dmblDgS?QCcWZ?n9o-$2vr*9al8pY^wg; z+J6`

    >( + path: P, + params: Params<'get', P> & { rq?: UseQueryOptions } +) { + const { rq, ...queryParams } = params; + return useQuery({ + queryKey: [path, JSON.stringify(queryParams)], + queryFn: async () => { + const { data, error } = await client.GET(path, params); + if (error) throw error; + return { data, error: null }; + }, + ...params?.rq, + }); +} + +/** + * @param path - The API endpoint path to mutate. + * @param options - The options to configure the mutation. + * @description + * This function is used to perform a POST request using the OpenAPI client. + * @returns + * This function is used to perform a POST request using the OpenAPI client. + * It returns a mutation object that can be used to trigger the request. + * @example + * const createGist = usePostMutation('/gists') + * createGist.mutate( + * { + * body: { + * description: new Date().toISOString(), + * files: { 'greeting.txt': { content: 'hello, world' } }, + * }, + * }, + * { onSuccess } + * ) + */ +export function usePostMutation

    >( + path: P, + options?: UseMutationOptions +) { + return useMutation({ + mutationFn: async (params: Params<'post', P>) => { + const { data, error } = await client.POST(path, params); + if (error) throw error; + return data; + }, + ...options, + }); +} + +/** + * + * @param path - The API endpoint path to mutate. + * @param options - The options to configure the mutation. + * @description + * This function is used to perform a PUT request using the OpenAPI client. + * @returns + * This function is used to perform a PUT request using the OpenAPI client. + * It returns a mutation object that can be used to trigger the request. + * @example + * const updateGist = usePutMutation('/gists/{gist_id}'); + * updateGist.mutate({ + * params: { + * path: { gist_id: '123' }, + * body: { + * description: new Date().toISOString(), + * files: { 'greeting.txt': { content: 'hello, world' } }, + * }, + * }, + * }); + */ +export function usePutMutation

    >( + path: P, + options?: UseMutationOptions +) { + return useMutation({ + mutationFn: async (params: Params<'put', P>) => { + const { data, error } = await client.PUT(path, params); + if (error) throw error; + return data; + }, + ...options, + }); +} + +/** + * + * @param path - The API endpoint path to mutate. + * @param options - The options to configure the mutation. + * @description + * This function is used to perform a DELETE request using the OpenAPI client. + * @returns + * This function is used to perform a DELETE request using the OpenAPI client. + * It returns a mutation object that can be used to trigger the request. + * @example + * const removeGist = useDeleteMutation('/gists/{gist_id}') + * removeGist.mutate({ params: { path: { gist_id: id } } }, { onSuccess }) + */ +export function useDeleteMutation

    >( + path: P, + options?: UseMutationOptions +) { + return useMutation({ + mutationFn: async (params: Params<'delete', P>) => { + const { data, error } = await client.DELETE(path, params); + if (error) throw error; + return data; + }, + ...options, + }); +} diff --git a/packages/court-booking/src/api/types.ts b/packages/court-booking/src/api/types.ts new file mode 100644 index 00000000..0cdf86a1 --- /dev/null +++ b/packages/court-booking/src/api/types.ts @@ -0,0 +1,5770 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/api/authentication/login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["LoginModel"]; + "text/json": components["schemas"]["LoginModel"]; + "application/*+json": components["schemas"]["LoginModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/authentication/register": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RegisterModel"]; + "text/json": components["schemas"]["RegisterModel"]; + "application/*+json": components["schemas"]["RegisterModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/authentication/confirm-email": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + email?: string; + token?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/authentication/register-admin": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RegisterModel"]; + "text/json": components["schemas"]["RegisterModel"]; + "application/*+json": components["schemas"]["RegisterModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/authentication/register-staff": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RegisterModel"]; + "text/json": components["schemas"]["RegisterModel"]; + "application/*+json": components["schemas"]["RegisterModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/authentication/google-login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + token?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/authentication/facebook-login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + token?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/authentication/forget-password": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ForgetPasswordModel"]; + "text/json": components["schemas"]["ForgetPasswordModel"]; + "application/*+json": components["schemas"]["ForgetPasswordModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/authentication/reset-password": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + token?: string; + email?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ResetPasswordModel"]; + "text/json": components["schemas"]["ResetPasswordModel"]; + "application/*+json": components["schemas"]["ResetPasswordModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/authentication/refresh": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RefreshTokenModel"]; + "text/json": components["schemas"]["RefreshTokenModel"]; + "application/*+json": components["schemas"]["RefreshTokenModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/current-time": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/CheckAuthor": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BookingPagingResponse"]; + "application/json": components["schemas"]["BookingPagingResponse"]; + "text/json": components["schemas"]["BookingPagingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"]; + "application/json": components["schemas"]["Booking"]; + "text/json": components["schemas"]["Booking"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/userId/{userId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"]; + "application/json": components["schemas"]["Booking"]; + "text/json": components["schemas"]["Booking"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/status/{status}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + status: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"][]; + "application/json": components["schemas"]["Booking"][]; + "text/json": components["schemas"]["Booking"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/search/{start}/{end}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + start: string; + end: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"][]; + "application/json": components["schemas"]["Booking"][]; + "text/json": components["schemas"]["Booking"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/search/{userId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"][]; + "application/json": components["schemas"]["Booking"][]; + "text/json": components["schemas"]["Booking"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/reserve-slot": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"][]; + "text/json": components["schemas"]["SlotModel"][]; + "application/*+json": components["schemas"]["SlotModel"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/cancel/{bookingId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + bookingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/delete/{bookingId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + bookingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/flex": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + userId?: string; + numberOfSlot?: number; + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"]; + "application/json": components["schemas"]["Booking"]; + "text/json": components["schemas"]["Booking"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/fix-slot": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + numberOfMonths?: number; + dayOfWeek?: string[]; + startDate?: string; + userId?: string; + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TimeSlotModel"][]; + "text/json": components["schemas"]["TimeSlotModel"][]; + "application/*+json": components["schemas"]["TimeSlotModel"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/sortBooking/{sortBy}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Booking"][]; + "application/json": components["schemas"]["Booking"][]; + "text/json": components["schemas"]["Booking"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/checkbookingtypeflex": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + userId?: string; + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CheckBookingTypeFlexModel"]; + "application/json": components["schemas"]["CheckBookingTypeFlexModel"]; + "text/json": components["schemas"]["CheckBookingTypeFlexModel"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/qrcode/{bookingId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + bookingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/daily-bookings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DailyBookingResponse"]; + "application/json": components["schemas"]["DailyBookingResponse"]; + "text/json": components["schemas"]["DailyBookingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/weekly-bookings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DailyBookingResponse"]; + "application/json": components["schemas"]["DailyBookingResponse"]; + "text/json": components["schemas"]["DailyBookingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/monthly-bookings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["DailyBookingResponse"]; + "application/json": components["schemas"]["DailyBookingResponse"]; + "text/json": components["schemas"]["DailyBookingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/bookings-from-start-of-week": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/weekly-bookings-from-start-of-month": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/monthly-bookings-from-start-of-year": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/daily-revenue": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RevenueResponse"]; + "application/json": components["schemas"]["RevenueResponse"]; + "text/json": components["schemas"]["RevenueResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/weekly-revenue": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RevenueResponse"]; + "application/json": components["schemas"]["RevenueResponse"]; + "text/json": components["schemas"]["RevenueResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/monthly-revenue": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["RevenueResponse"]; + "application/json": components["schemas"]["RevenueResponse"]; + "text/json": components["schemas"]["RevenueResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/revenue-from-start-of-week": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/weekly-revenue-from-start-of-month": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Bookings/monthly-revenue-from-start-of-year": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Branches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BranchPagingResponse"]; + "application/json": components["schemas"]["BranchPagingResponse"]; + "text/json": components["schemas"]["BranchPagingResponse"]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + BranchAddress: string; + BranchName: string; + BranchPhone: string; + Description?: string; + BranchPicture?: string; + /** Format: time */ + OpenTime: string; + /** Format: time */ + CloseTime: string; + OpenDay: string; + Status: string; + BranchPictures?: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Branch"]; + "application/json": components["schemas"]["Branch"]; + "text/json": components["schemas"]["Branch"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Branches/HomePage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + status?: string; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BranchPagingResponse"]; + "application/json": components["schemas"]["BranchPagingResponse"]; + "text/json": components["schemas"]["BranchPagingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Branches/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Branch"]; + "application/json": components["schemas"]["Branch"]; + "text/json": components["schemas"]["Branch"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + BranchAddress: string; + BranchName: string; + BranchPhone: string; + Description?: string; + BranchPicture?: string; + /** Format: time */ + OpenTime: string; + /** Format: time */ + CloseTime: string; + OpenDay: string; + Status: string; + ExistingImages?: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Branches/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + status?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Branch"][]; + "application/json": components["schemas"]["Branch"][]; + "text/json": components["schemas"]["Branch"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Branches/courtId/{courtId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + courtId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Branch"][]; + "application/json": components["schemas"]["Branch"][]; + "text/json": components["schemas"]["Branch"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Branches/lastBranch/{userId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Branch"]; + "application/json": components["schemas"]["Branch"]; + "text/json": components["schemas"]["Branch"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Branches/sortBranch/{sortBy}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Branch"][]; + "application/json": components["schemas"]["Branch"][]; + "text/json": components["schemas"]["Branch"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Branches/sortBranchByDistance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + Latitude?: number; + Longitude?: number; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BranchDistancePagingResponse"]; + "application/json": components["schemas"]["BranchDistancePagingResponse"]; + "text/json": components["schemas"]["BranchDistancePagingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Branches/GetBranchByPrice/{minPrice}&&{maxPrice}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + minPrice?: number; + maxPrice?: number; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + minPrice: string; + maxPrice: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BranchPagingResponse"]; + "application/json": components["schemas"]["BranchPagingResponse"]; + "text/json": components["schemas"]["BranchPagingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Branches/GetBranchByRating/{rating}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + rating?: number; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + rating: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["BranchPagingResponse"]; + "application/json": components["schemas"]["BranchPagingResponse"]; + "text/json": components["schemas"]["BranchPagingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Courts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CourtPagingResponse"]; + "application/json": components["schemas"]["CourtPagingResponse"]; + "text/json": components["schemas"]["CourtPagingResponse"]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CourtModel"]; + "text/json": components["schemas"]["CourtModel"]; + "application/*+json": components["schemas"]["CourtModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Court"]; + "application/json": components["schemas"]["Court"]; + "text/json": components["schemas"]["Court"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Courts/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Court"]; + "application/json": components["schemas"]["Court"]; + "text/json": components["schemas"]["Court"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CourtModel"]; + "text/json": components["schemas"]["CourtModel"]; + "application/*+json": components["schemas"]["CourtModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Courts/{status}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + status: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Court"][]; + "application/json": components["schemas"]["Court"][]; + "text/json": components["schemas"]["Court"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Courts/{sortBy}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Court"][]; + "application/json": components["schemas"]["Court"][]; + "text/json": components["schemas"]["Court"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/numberOfCourt/{branchId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + branchId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": number; + "application/json": number; + "text/json": number; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Courts/AvailableCourts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"]; + "text/json": components["schemas"]["SlotModel"]; + "application/*+json": components["schemas"]["SlotModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Court"][]; + "application/json": components["schemas"]["Court"][]; + "text/json": components["schemas"]["Court"][]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Courts/GetCourtsByBranchId": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + branchId?: string; + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["CourtPagingResponse"]; + "application/json": components["schemas"]["CourtPagingResponse"]; + "text/json": components["schemas"]["CourtPagingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Location": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["LocationModel"]; + "text/json": components["schemas"]["LocationModel"]; + "application/*+json": components["schemas"]["LocationModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Location/get-geolocation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": string; + "text/json": string; + "application/*+json": string; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Location/pathdistance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["LocationModel"]; + "text/json": components["schemas"]["LocationModel"]; + "application/*+json": components["schemas"]["LocationModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/mail/send": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + ToEmail?: string; + Subject?: string; + Body?: string; + Attachments?: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/News": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["NewsPagingResponse"]; + "application/json": components["schemas"]["NewsPagingResponse"]; + "text/json": components["schemas"]["NewsPagingResponse"]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query: { + Title: string; + Content: string; + Image?: string; + Status: string; + IsHomepageSlideshow: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + /** Format: binary */ + NewsImage?: string; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["News"]; + "application/json": components["schemas"]["News"]; + "text/json": components["schemas"]["News"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/News/NewsPage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + IsHomepageSlideshow?: boolean; + status?: string; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["NewsPagingResponse"]; + "application/json": components["schemas"]["NewsPagingResponse"]; + "text/json": components["schemas"]["NewsPagingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/News/SlideShowImage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["News"][]; + "application/json": components["schemas"]["News"][]; + "text/json": components["schemas"]["News"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/News/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["News"]; + "application/json": components["schemas"]["News"]; + "text/json": components["schemas"]["News"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/News/EditNews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query: { + id?: string; + Title: string; + Content: string; + Image?: string; + Status: string; + IsHomepageSlideshow: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "multipart/form-data": { + /** Format: binary */ + NewsImage?: string; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Payments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Payment"][]; + "application/json": components["schemas"]["Payment"][]; + "text/json": components["schemas"]["Payment"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["Payment"]; + "text/json": components["schemas"]["Payment"]; + "application/*+json": components["schemas"]["Payment"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Payment"]; + "application/json": components["schemas"]["Payment"]; + "text/json": components["schemas"]["Payment"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Payments/GetPayments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["PaymentPagingResponse"]; + "application/json": components["schemas"]["PaymentPagingResponse"]; + "text/json": components["schemas"]["PaymentPagingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Payments/GetPaymentsByDate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + day?: number; + month?: number; + year?: number; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["PaymentPagingResponse"]; + "application/json": components["schemas"]["PaymentPagingResponse"]; + "text/json": components["schemas"]["PaymentPagingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Payments/bookingid/{bookingId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + bookingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Payment"]; + "application/json": components["schemas"]["Payment"]; + "text/json": components["schemas"]["Payment"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Payments/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Payment"]; + "application/json": components["schemas"]["Payment"]; + "text/json": components["schemas"]["Payment"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Payments/SearchByDate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + start?: string; + end?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Payment"][]; + "application/json": components["schemas"]["Payment"][]; + "text/json": components["schemas"]["Payment"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Payments/GeneratePaymentToken/{bookingId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + bookingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Payments/ProcessPayment": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + role?: string; + token?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Payments/ProcessPaymentByBalance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + token?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Payments/SortPayment/{sortBy}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Payment"][]; + "application/json": components["schemas"]["Payment"][]; + "text/json": components["schemas"]["Payment"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Payments/GetDailyRevenue": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": number; + "application/json": number; + "text/json": number; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Payments/GetRevenueByDate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + start?: string; + end?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": number; + "application/json": number; + "text/json": number; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Prices/branchId/{branchId}/type/{type}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + isWeekend?: boolean; + }; + header?: never; + path: { + branchId: string; + type: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Prices/branchId/{branchId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + branchId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Price"][]; + "application/json": components["schemas"]["Price"][]; + "text/json": components["schemas"]["Price"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Prices/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Price"]; + "application/json": components["schemas"]["Price"]; + "text/json": components["schemas"]["Price"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Prices/PostPrice": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PriceModel"]; + "text/json": components["schemas"]["PriceModel"]; + "application/*+json": components["schemas"]["PriceModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Price"]; + "application/json": components["schemas"]["Price"]; + "text/json": components["schemas"]["Price"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Prices/UpdatePrice": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PriceModel"]; + "text/json": components["schemas"]["PriceModel"]; + "application/*+json": components["schemas"]["PriceModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Prices/showprice": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + isVip?: boolean; + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Prices/sortPrice/{sortBy}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Price"][]; + "application/json": components["schemas"]["Price"][]; + "text/json": components["schemas"]["Price"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["ReviewPagingResponse"]; + "application/json": components["schemas"]["ReviewPagingResponse"]; + "text/json": components["schemas"]["ReviewPagingResponse"]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReviewModel"]; + "text/json": components["schemas"]["ReviewModel"]; + "application/*+json": components["schemas"]["ReviewModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"]; + "application/json": components["schemas"]["Review"]; + "text/json": components["schemas"]["Review"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Reviews/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"]; + "application/json": components["schemas"]["Review"]; + "text/json": components["schemas"]["Review"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReviewModel"]; + "text/json": components["schemas"]["ReviewModel"]; + "application/*+json": components["schemas"]["ReviewModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Reviews/GetReviewsByBranch/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"][]; + "application/json": components["schemas"]["Review"][]; + "text/json": components["schemas"]["Review"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Reviews/SearchByUser/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"][]; + "application/json": components["schemas"]["Review"][]; + "text/json": components["schemas"]["Review"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Reviews/SearchByDate/{start}/{end}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + start: string; + end: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"][]; + "application/json": components["schemas"]["Review"][]; + "text/json": components["schemas"]["Review"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Reviews/SearchByRating/{rating}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + rating: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"][]; + "application/json": components["schemas"]["Review"][]; + "text/json": components["schemas"]["Review"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Reviews/SortReview/{sortBy}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["Review"][]; + "application/json": components["schemas"]["Review"][]; + "text/json": components["schemas"]["Review"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Reviews/GetRatingPercentageOfABranch/{branchId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + branchId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": number[]; + "application/json": number[]; + "text/json": number[]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Reviews/AverageRating/{branchId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + branchId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": number; + "application/json": number; + "text/json": number; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Roles": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IdentityRole"][]; + "application/json": components["schemas"]["IdentityRole"][]; + "text/json": components["schemas"]["IdentityRole"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Roles/roleId/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IdentityRole"]; + "application/json": components["schemas"]["IdentityRole"]; + "text/json": components["schemas"]["IdentityRole"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Roles/userId/{userId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": string[]; + "application/json": string[]; + "text/json": string[]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Roles/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": string; + "text/json": string; + "application/*+json": string; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TimeSlot"]; + "text/json": components["schemas"]["TimeSlot"]; + "application/*+json": components["schemas"]["TimeSlot"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"]; + "application/json": components["schemas"]["TimeSlot"]; + "text/json": components["schemas"]["TimeSlot"]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/page": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/GetTimeSlotsByCourtId": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + courtId?: string; + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"]; + "application/json": components["schemas"]["TimeSlot"]; + "text/json": components["schemas"]["TimeSlot"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"]; + "text/json": components["schemas"]["SlotModel"]; + "application/*+json": components["schemas"]["SlotModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/bookingId/{bookingId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + bookingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/isBooked": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"]; + "text/json": components["schemas"]["SlotModel"]; + "application/*+json": components["schemas"]["SlotModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": boolean; + "application/json": boolean; + "text/json": boolean; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/changeSlot/{slotId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path: { + slotId: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"]; + "text/json": components["schemas"]["SlotModel"]; + "application/*+json": components["schemas"]["SlotModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"]; + "application/json": components["schemas"]["TimeSlot"]; + "text/json": components["schemas"]["TimeSlot"]; + }; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/userId/{userId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/sortSlot/{sortBy}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/checkin/qr": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["QRCheckInModel"]; + "text/json": components["schemas"]["QRCheckInModel"]; + "application/*+json": components["schemas"]["QRCheckInModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"]; + "text/json": components["schemas"]["SlotModel"]; + "application/*+json": components["schemas"]["SlotModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/release": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"]; + "text/json": components["schemas"]["SlotModel"]; + "application/*+json": components["schemas"]["SlotModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/confirm": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotCheckModel"]; + "text/json": components["schemas"]["SlotCheckModel"]; + "application/*+json": components["schemas"]["SlotCheckModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/unavailable_slot": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + date?: string; + branchId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlotModel"][]; + "application/json": components["schemas"]["TimeSlotModel"][]; + "text/json": components["schemas"]["TimeSlotModel"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/TimeSlots/add_timeslot_if_exist_booking": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: { + bookingId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SlotModel"][]; + "text/json": components["schemas"]["SlotModel"][]; + "application/*+json": components["schemas"]["SlotModel"][]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["TimeSlot"][]; + "application/json": components["schemas"]["TimeSlot"][]; + "text/json": components["schemas"]["TimeSlot"][]; + }; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Training/train-model": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Training/weekly-growth": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["SingleSingleValueTuple"]; + "application/json": components["schemas"]["SingleSingleValueTuple"]; + "text/json": components["schemas"]["SingleSingleValueTuple"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/UserDetails": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UserDetail"][]; + "application/json": components["schemas"]["UserDetail"][]; + "text/json": components["schemas"]["UserDetail"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/UserDetails/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UserDetail"]; + "application/json": components["schemas"]["UserDetail"]; + "text/json": components["schemas"]["UserDetail"]; + }; + }; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["UserDetailsModel"]; + "text/json": components["schemas"]["UserDetailsModel"]; + "application/*+json": components["schemas"]["UserDetailsModel"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/UserDetails/foruser/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PutUserDetail"]; + "text/json": components["schemas"]["PutUserDetail"]; + "application/*+json": components["schemas"]["PutUserDetail"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/UserDetails/GetUserDetailByUserId/{userId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UserDetail"]; + "application/json": components["schemas"]["UserDetail"]; + "text/json": components["schemas"]["UserDetail"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/UserDetails/GetUserDetailByUserEmail/{userEmail}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + userEmail: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UserDetail"][]; + "application/json": components["schemas"]["UserDetail"][]; + "text/json": components["schemas"]["UserDetail"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/UserDetails/SortUser/{sortBy}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + isAsc?: boolean; + pageNumber?: number; + pageSize?: number; + }; + header?: never; + path: { + sortBy: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["UserDetail"][]; + "application/json": components["schemas"]["UserDetail"][]; + "text/json": components["schemas"]["UserDetail"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/UserDetails/CountUser": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": number; + "application/json": number; + "text/json": number; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + pageNumber?: number; + pageSize?: number; + searchQuery?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IdentityUserPagingResponse"]; + "application/json": components["schemas"]["IdentityUserPagingResponse"]; + "text/json": components["schemas"]["IdentityUserPagingResponse"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Users/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IdentityUser"]; + "application/json": components["schemas"]["IdentityUser"]; + "text/json": components["schemas"]["IdentityUser"]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Users/{id}/ban": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Users/{id}/unban": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/Users/GetUserDetailByUserEmail/{userEmail}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + userEmail: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": components["schemas"]["IdentityUser"][]; + "application/json": components["schemas"]["IdentityUser"][]; + "text/json": components["schemas"]["IdentityUser"][]; + }; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/VNPayAPI": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + amount?: number; + infor?: string; + orderinfor?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/VNpayAPI/paymentconfirm": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + Booking: { + bookingId?: string | null; + id?: string | null; + branchId?: string | null; + /** Format: date-time */ + bookingDate: string; + bookingType: string; + /** Format: int32 */ + numberOfSlot: number; + status: string; + /** Format: double */ + totalPrice: number; + user?: components["schemas"]["IdentityUser"]; + branch?: components["schemas"]["Branch"]; + timeSlots?: components["schemas"]["TimeSlot"][] | null; + payments?: components["schemas"]["Payment"][] | null; + }; + BookingPagingResponse: { + data?: components["schemas"]["Booking"][] | null; + /** Format: int32 */ + total?: number; + }; + Branch: { + branchId?: string | null; + branchAddress: string; + branchName: string; + branchPhone: string; + description?: string | null; + branchPicture?: string | null; + /** Format: time */ + openTime: string; + /** Format: time */ + closeTime: string; + openDay: string; + status: string; + courts?: components["schemas"]["Court"][] | null; + prices?: components["schemas"]["Price"][] | null; + reviews?: components["schemas"]["Review"][] | null; + }; + BranchDistance: { + branch?: components["schemas"]["Branch"]; + /** Format: double */ + distance?: number; + }; + BranchDistancePagingResponse: { + data?: components["schemas"]["BranchDistance"][] | null; + /** Format: int32 */ + total?: number; + }; + BranchPagingResponse: { + data?: components["schemas"]["Branch"][] | null; + /** Format: int32 */ + total?: number; + }; + CheckBookingTypeFlexModel: { + bookingId?: string | null; + /** Format: int32 */ + numberOfSlot?: number; + }; + Court: { + courtId?: string | null; + branchId?: string | null; + courtName?: string | null; + courtPicture?: string | null; + status: string; + branch?: components["schemas"]["Branch"]; + }; + CourtModel: { + branchId: string; + courtName: string; + courtPicture?: string | null; + status: string; + }; + CourtPagingResponse: { + data?: components["schemas"]["Court"][] | null; + /** Format: int32 */ + total?: number; + }; + DailyBookingResponse: { + /** Format: int32 */ + todayCount?: number; + /** Format: double */ + changePercentage?: number; + }; + ForgetPasswordModel: { + /** Format: email */ + email: string; + }; + IdentityRole: { + id?: string | null; + name?: string | null; + normalizedName?: string | null; + concurrencyStamp?: string | null; + }; + IdentityUser: { + id?: string | null; + userName?: string | null; + normalizedUserName?: string | null; + email?: string | null; + normalizedEmail?: string | null; + emailConfirmed?: boolean; + passwordHash?: string | null; + securityStamp?: string | null; + concurrencyStamp?: string | null; + phoneNumber?: string | null; + phoneNumberConfirmed?: boolean; + twoFactorEnabled?: boolean; + /** Format: date-time */ + lockoutEnd?: string | null; + lockoutEnabled?: boolean; + /** Format: int32 */ + accessFailedCount?: number; + }; + IdentityUserPagingResponse: { + data?: components["schemas"]["IdentityUser"][] | null; + /** Format: int32 */ + total?: number; + }; + LocationModel: { + /** Format: double */ + latitude?: number; + /** Format: double */ + longitude?: number; + }; + LoginModel: { + /** Format: email */ + email: string; + password: string; + }; + News: { + newId?: string | null; + title: string; + content: string; + /** Format: date-time */ + publicationDate: string; + image?: string | null; + status: string; + isHomepageSlideshow: boolean; + }; + NewsPagingResponse: { + data?: components["schemas"]["News"][] | null; + /** Format: int32 */ + total?: number; + }; + Payment: { + paymentId?: string | null; + bookingId?: string | null; + /** Format: double */ + paymentAmount: number; + /** Format: date-time */ + paymentDate: string; + paymentMessage?: string | null; + paymentStatus: string; + paymentSignature?: string | null; + booking?: components["schemas"]["Booking"]; + }; + PaymentPagingResponse: { + data?: components["schemas"]["Payment"][] | null; + /** Format: int32 */ + total?: number; + }; + Price: { + priceId?: string | null; + branchId?: string | null; + type?: string | null; + isWeekend?: boolean | null; + /** Format: double */ + slotPrice: number; + branch?: components["schemas"]["Branch"]; + }; + PriceModel: { + branchId?: string | null; + type?: string | null; + isWeekend?: boolean | null; + /** Format: double */ + slotPrice: number; + }; + PutUserDetail: { + fullName: string; + userName?: string | null; + address?: string | null; + profilePicture?: string | null; + /** Format: int32 */ + yearOfBirth?: number | null; + phoneNumber?: string | null; + }; + QRCheckInModel: { + qrCodeData?: string | null; + }; + RefreshTokenModel: { + token?: string | null; + refreshToken?: string | null; + }; + RegisterModel: { + fullName: string; + /** Format: email */ + email: string; + password: string; + confirmPassword: string; + }; + ResetPasswordModel: { + /** Format: email */ + email: string; + token?: string | null; + password?: string | null; + /** Format: password */ + confirmPassword?: string | null; + }; + RevenueResponse: { + /** Format: double */ + revenue?: number; + /** Format: double */ + changePercentage?: number; + }; + Review: { + reviewId?: string | null; + reviewText?: string | null; + /** Format: date-time */ + reviewDate: string; + /** Format: int32 */ + rating?: number | null; + id?: string | null; + branchId?: string | null; + user?: components["schemas"]["IdentityUser"]; + branch?: components["schemas"]["Branch"]; + }; + ReviewModel: { + reviewText?: string | null; + /** Format: int32 */ + rating: number; + userId: string; + branchId: string; + }; + ReviewPagingResponse: { + data?: components["schemas"]["Review"][] | null; + /** Format: int32 */ + total?: number; + }; + SingleSingleValueTuple: Record; + SlotCheckModel: { + branchId?: string | null; + /** Format: date */ + slotDate?: string; + timeSlot: components["schemas"]["TimeSlotModel"]; + }; + SlotModel: { + courtId?: string | null; + branchId?: string | null; + /** Format: date */ + slotDate?: string; + timeSlot: components["schemas"]["TimeSlotModel"]; + }; + TimeSlot: { + slotId?: string | null; + courtId?: string | null; + bookingId?: string | null; + /** Format: date */ + slotDate: string; + /** Format: double */ + price: number; + /** Format: time */ + slotStartTime: string; + /** Format: time */ + slotEndTime: string; + status: string; + /** Format: date-time */ + created_at?: string | null; + court?: components["schemas"]["Court"]; + booking?: components["schemas"]["Booking"]; + }; + TimeSlotModel: { + /** Format: date */ + slotDate?: string | null; + /** Format: time */ + slotStartTime: string; + /** Format: time */ + slotEndTime: string; + }; + UserDetail: { + userId?: string | null; + /** Format: double */ + balance?: number; + /** Format: double */ + point?: number | null; + fullName?: string | null; + address?: string | null; + profilePicture?: string | null; + /** Format: int32 */ + yearOfBirth?: number | null; + isVip?: boolean | null; + user?: components["schemas"]["IdentityUser"]; + }; + UserDetailsModel: { + /** Format: double */ + point?: number | null; + /** Format: double */ + balance?: number | null; + fullName: string; + address?: string | null; + profilePicture?: string | null; + /** Format: int32 */ + yearOfBirth?: number | null; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; diff --git a/packages/court-booking/src/components/Header.tsx b/packages/court-booking/src/components/Header.tsx new file mode 100644 index 00000000..0e07a9e8 --- /dev/null +++ b/packages/court-booking/src/components/Header.tsx @@ -0,0 +1,55 @@ +import { Link } from '@tanstack/react-router' + +import TanStackChatHeaderUser from '../integrations/tanchat/header-user.tsx' + +export default function Header() { + return ( +

    + + +
    + +
    +
    + ) +} diff --git a/packages/court-booking/src/components/demo.FormComponents.tsx b/packages/court-booking/src/components/demo.FormComponents.tsx new file mode 100644 index 00000000..19cfa850 --- /dev/null +++ b/packages/court-booking/src/components/demo.FormComponents.tsx @@ -0,0 +1,174 @@ +import { useStore } from '@tanstack/react-form' + +import { useFieldContext, useFormContext } from '../hooks/demo.form-context' + +import { Button } from '@/components/ui/button' +import { Input } from '@/components/ui/input' +import { Textarea as ShadcnTextarea } from '@/components/ui/textarea' +import * as ShadcnSelect from '@/components/ui/select' +import { Slider as ShadcnSlider } from '@/components/ui/slider' +import { Switch as ShadcnSwitch } from '@/components/ui/switch' +import { Label } from '@/components/ui/label' + +export function SubscribeButton({ label }: { label: string }) { + const form = useFormContext() + return ( + state.isSubmitting}> + {(isSubmitting) => ( + + )} + + ) +} + +function ErrorMessages({ + errors, +}: { + errors: Array +}) { + return ( + <> + {errors.map((error) => ( +
    + {typeof error === 'string' ? error : error.message} +
    + ))} + + ) +} + +export function TextField({ + label, + placeholder, +}: { + label: string + placeholder?: string +}) { + const field = useFieldContext() + const errors = useStore(field.store, (state) => state.meta.errors) + + return ( +
    + + field.handleChange(e.target.value)} + /> + {field.state.meta.isTouched && } +
    + ) +} + +export function TextArea({ + label, + rows = 3, +}: { + label: string + rows?: number +}) { + const field = useFieldContext() + const errors = useStore(field.store, (state) => state.meta.errors) + + return ( +
    + + field.handleChange(e.target.value)} + /> + {field.state.meta.isTouched && } +
    + ) +} + +export function Select({ + label, + values, + placeholder, +}: { + label: string + values: Array<{ label: string; value: string }> + placeholder?: string +}) { + const field = useFieldContext() + const errors = useStore(field.store, (state) => state.meta.errors) + + return ( +
    + field.handleChange(value)} + > + + + + + + {label} + {values.map((value) => ( + + {value.label} + + ))} + + + + {field.state.meta.isTouched && } +
    + ) +} + +export function Slider({ label }: { label: string }) { + const field = useFieldContext() + const errors = useStore(field.store, (state) => state.meta.errors) + + return ( +
    + + field.handleChange(value[0])} + /> + {field.state.meta.isTouched && } +
    + ) +} + +export function Switch({ label }: { label: string }) { + const field = useFieldContext() + const errors = useStore(field.store, (state) => state.meta.errors) + + return ( +
    +
    + field.handleChange(checked)} + /> + +
    + {field.state.meta.isTouched && } +
    + ) +} diff --git a/packages/court-booking/src/components/example-AIAssistant.tsx b/packages/court-booking/src/components/example-AIAssistant.tsx new file mode 100644 index 00000000..c98d8a93 --- /dev/null +++ b/packages/court-booking/src/components/example-AIAssistant.tsx @@ -0,0 +1,173 @@ +import { useEffect, useRef } from 'react' +import { useStore } from '@tanstack/react-store' +import { Send, X } from 'lucide-react' +import ReactMarkdown from 'react-markdown' +import rehypeRaw from 'rehype-raw' +import rehypeSanitize from 'rehype-sanitize' +import rehypeHighlight from 'rehype-highlight' +import remarkGfm from 'remark-gfm' +import { useChat } from '@ai-sdk/react' +import { genAIResponse } from '../utils/demo.ai' + +import { showAIAssistant } from '../store/example-assistant' +import GuitarRecommendation from './example-GuitarRecommendation' + +import type { UIMessage } from 'ai' + +function Messages({ messages }: { messages: Array }) { + const messagesContainerRef = useRef(null) + + useEffect(() => { + if (messagesContainerRef.current) { + messagesContainerRef.current.scrollTop = + messagesContainerRef.current.scrollHeight + } + }, [messages]) + + if (!messages.length) { + return ( +
    + Ask me anything! I'm here to help. +
    + ) + } + + return ( +
    + {messages.map(({ id, role, content, parts }) => ( +
    + {content.length > 0 && ( +
    + {role === 'assistant' ? ( +
    + AI +
    + ) : ( +
    + Y +
    + )} +
    + + {content} + +
    +
    + )} + {parts + .filter((part) => part.type === 'tool-invocation') + .filter( + (part) => part.toolInvocation.toolName === 'recommendGuitar', + ) + .map((toolCall) => ( +
    + +
    + ))} +
    + ))} +
    + ) +} + +export default function AIAssistant() { + const isOpen = useStore(showAIAssistant) + const { messages, input, handleInputChange, handleSubmit } = useChat({ + initialMessages: [], + fetch: (_url, options) => { + const { messages } = JSON.parse(options!.body! as string) + return genAIResponse({ + data: { + messages, + }, + }) + }, + onToolCall: (call) => { + if (call.toolCall.toolName === 'recommendGuitar') { + return 'Handled by the UI' + } + }, + }) + + return ( +
    + + + {isOpen && ( +
    +
    +

    AI Assistant

    + +
    + + + +
    +
    +
    + +
    + +
    + )} + {reviewsVisible && ( + <> +
    setReviewsVisible(false)} + >
    +
    +
    +

    All Reviews

    +
    +
    + +
    +
    + {reviews.map((review, index) => ( +
    +
    +
    + + {review.userFullName} + + + {review.rating} + + +
    + {userData && review.id === userData.userId && ( + handleEditReview(review)} + /> + )} +
    + {editingReview?.id === review.id ? ( +
    +
    + {[1, 2, 3, 4, 5].map((value) => ( + = value ? "highlight" : "" + }`} + data-value={value} + onClick={() => handleStarClick(value)} + > + ★ + + ))} +
    + +
    + +
    + )} + {reviewsVisible && ( + <> +
    setReviewsVisible(false)} + >
    +
    +
    +

    All Reviews

    +
    +
    + +
    +
    + {reviews.map((review, index) => ( +
    +
    +
    + + {review.userFullName} + + + {review.rating} + + +
    + {review.id === userData.userId && ( + handleEditReview(review)} + /> + )} +
    + {editingReview?.id === review.id ? ( +
    +
    + {[1, 2, 3, 4, 5].map((value) => ( + = value ? "highlight" : "" + }`} + data-value={value} + onClick={() => handleStarClick(value)} + > + ★ + + ))} +
    + +
    + +
    + )} + {reviewsVisible && ( + <> +
    setReviewsVisible(false)} + >
    +
    +
    +

    All Reviews

    +
    +
    + +
    +
    + {reviews.map((review, index) => ( +
    +
    +
    + + {review.userFullName} + + + {review.rating} + + +
    + {review.id === userData.userId && ( + handleEditReview(review)} + /> + )} +
    + {editingReview?.id === review.id ? ( +
    +
    + {[1, 2, 3, 4, 5].map((value) => ( + = value ? "highlight" : "" + }`} + data-value={value} + onClick={() => handleStarClick(value)} + > + ★ + + ))} +
    +

    V@){qU!~xQ~~@mG4=LxfZzWGFiuPWv=uNt&mON`8Y~W4Z*#XorI2r;>Xwb zj!RvEJd4xbEK)+M3N5KF{cKU6y54Dw;JWLkJv-alT1xE`iO6tbFB4u0(fs7VLi~30 z*~_FK(c{RTFFT7$Kpq;N;N|4}nrz%Qqm7mBG*Z zNvV4x{QD9Lk~ub8tig3Zxx&8)CnT(r!4p7JlX~Q)Jj3o-j_{X~pye^?^yX^bjT+RL zyrWia`3&>XZpqGp2lpqC-@iAVxO+bLS02}Kl?BBge{UE_{$&f8DJUOQv(?s{J&!rn z$zle{vTLfXd+LB&I}FkSJW&0QdHh3e&+dUA>^n4PXW zCvpJ(Si(Nn#pJpiS95Q;t?XS-DOELX13$;y5F7m0hM*X>poi*qH3XA5FD4#Rvk*GK z6R^<^>Mh8nFd61@>CPN^d_T}fdCLZs54G3b?`*tloi7MmK%dLX{h8N#2$HO-jt$d+ zzHyL0P&*zmNd7r6F0Sjw_ofZjG4MREw6tT))7Mib!m6$93rn)`HzP|QYnmOKhngqrqGvH%nlZt2EuE{A zrbCCtM^09?$KvADWyP|me=U{;%{42`Cm;}?CF-GjUG6c-v|boptDOEZ_Ii5?|2PS0x?PS+N37Us>tj0ECPm zu(`U=_-g&P4t;LR)BQoDsFQRcNsQnp)2u!MC>ne9lnHL(HW|U;T{eh3DdX?6yc*C`RCGY3?6?ZY}j}b-0sZ`+R7N97Qv5 z7H8NJeMc6oW_HL;W1Z@F)*A9otms2hl0&ccxhiILHA+f3Sb~CM#>y>(hV7wlISa!! z$BX%|jXyZcnA^j>akYlFfl;t_tOMBzd{STB%|XM%<#youB@B7ig5W1{>LJMwRMP$3 z%B}DnD#}0snhIJ48#KtU&imEQVTYNCbOtrVH3^YG9_^I4?iEefR+Y zXADheEw?gTF8F=+8h9q22E<}Ex6VE{dazaIV%FfcJq!?@tUx2>*ypGGh~}x zF3YxV;10k42>kT`P*@Qw!+)paY(Xr?JqEhdf@&kz!~6n(r1pNK_rDXM!JOH6_7uDY zL|cjtWJO7bh~LMG8jXde(C4_S?-fTaa+R^Q-y;Wu??j(Kl0|>^-HXil@Qf;{8a6 zV=08aC+SVg<1_^;#x-)z>@n2MlgiB1chde|$fvAPt1qWOVCadYx%PaB>EU?%eM{eq zV!C3$xql5*pnz5b?3aEp-9{#1_brf&XLeET7u?!nI9>QlLn2r+D$=4lONSptwVeHlz@o z00Dj#+})u_a48a8iaQi9PJ(-a1_A#t9t z(&|Q9ey&02M*qX3uS#U>s&DF!`!Qa+*Oa*s=6ZT;@xB>dwW(m&t@QMZE8E-`0SvGj z-KC*O(t+J7OEVthV90)>Pm#~#@5e%;pG&wl{+3aS&T!nZG7HM*^-Iq`(7HYv$U0oZ z7}kT`(!1Rf-u$y*_y9PK%6pP^lwpP*OPWygv{mSVldqM21YTcG(Z-KC7C^n8`LES z)Q_`FhOs`zsDY5%pksI|ZXF1sFkL(hes-BBhyH$NvGQhP+;gMrXmSI7CyO&}kc8$z z!4th|^E(ScLXa=tb(<2!d{N7Yzx7j>!qleLmMhlQHN7Arfb~Ts|d zQaBRFHNAa}42lz~DTP8Opx^<-r0$G(AbY>jC38TZ`ALPRT|OGv+iLl~{s7C4dQw=t z=dax&#Sn8}i8rL6-@CDsvvJSBN`vv7J87r4^L1{@Wk!Rbu;?yY`Oh`nY{5rb0||;u zU}prEXdFEnF>JjvAK>z~8|Nn2Vm}}bvcRDX)Ya{3CBZ#BaH~g}xF7ZbZ+@;4KG@k} z(Zr+`1|TV}-3%so7Fz)ZNiA%gI{*X59e3~e)e;d`N`!ks^fRa2Gn0m&2XG}!hKMR> zy=(iK`F#%l5g17JI&$r>KS&hyBp-lVV1T7`TatV6|KUZp z8qD#qSS*V?L8v;C%rI=ZR62N#hGHitEPM0^Y_GKzI6 z)whdgoN3p#iDxalMiR`VF$O6MSU6nAYo_`A(~jjM#9ljZy+afgZN9E`Dr0oZo0rQekquza|jkpXRP zZOt^>`5%VMR$GCMXRMIB0d~r`KQCIZvF_yLT2|ZNIJ4alpt;|b26_GA^gm z$%qCO9t1f;;WlBN%1<)oQUo>Z;6@}Kjgg2VyW6GrhV{TNqhEhCc4TTO} z=Fg9!QE@dq`=?k{;B7MQ5&0N5WT6X&Lt*!nS5x=p5DvEcYzT8Tao!Ich=~gi5eEuy zUPp_|g^4=ft}tW{vOtk`J?1&J-z{VL16G9x*Vr0ckoKoSQAOaTMMb+PaLvn&u_WqT zC+h5%A1sq!T@)PH*8VLkIeKL(E7E>w%dg=vAYvT3Q>HhN?Z9=gwJ0eiKlaiA&7hxS zK5aQ&zg4J-y?3r#qS~llDVkPNSK3%rLUR=aP1ul&=<#f%WgJXYesC6Hoe5!m%yoHzmpDm~HwUK!6|>8%g2Toy4ptl>c{S#R$J zP-)@baZ7Iz7op4cEM!Q>G(X7V$&5A67O8iaaRjq!q>d4en&h1|_&UJswbm z*6nS&efRQqESEL*dMenNEcSM=zl#coqY?D_CfU>`S+$+hEWLFHAO!8+`$6mGs!uteheZrJ)kn26qF;CD|Ufwm-;K*z3 zg&=@=Hw?NOeTOhLdl~};3J?q`(WZxlz zWtg}hOk^2OG6Vemo$@`iWtmQ{ui$IUedk6cDGpu+C83SXGo92GEoCE86~+ct!u~}W z7c4K_NmHak>5w zBaaN+zRKI^dSGrddSCQWkY^br!FnuAiL=&-M@g6f@0Cw>)~#kQTx29yoM{#D(Vt4B zmIW^4V$`OwoCj_gF{E(@QmYs4bvF!cTu|iTuzC~dTfDYhg#a7;mJNkE*G4!Yb&|>s zZc8Gtlh`Ofl-9tS#H?NPK`Lr(c@>$O<#Hzh#zV(h(3mJOLR5$sG1Al8TmF5x`!~p& zIG`p%wrFyP#J0Cbc8p;l4B1`nl!MXOloMveSh|-2lJ;i)LYkL~nnWXZ&31qx{|!wK zp;pGdTc7|Or0wW+p5kCua<1+psx77=^w%}Gq}IroC2L1xlW%6L3@H6)>SgI(UW2=j zM{1^cT5C}d>(^cZ7t@iL%{2H8hmO#JY4kh0;j!6F%jB)>Ggs)?${Tt%*yvCdl4Id4) zXwL&L{DM>`#)Q>sHm?{SKcA;gDcj8-TFmV0kV}F3zJP<<#egN>#S+g0eGSe{7g{4% z`!t=jMXo?!pY_6T_TK6diFU%t&uCCXPyVjF(4*+7kyAGpjrx+N3Lsv2nhBVy<_Sn2 zOfR-~dwXoUn#;OECi>JTVvRcTwSA-aw=;Nu?ZZVoU=%-e3%7NWav;Puj~EWe)Tu(U zMaO)6rdqe8-(Xpd32e)Su2z}M3NArpkEEVSaBb|%i&DcaORAZN0^%KX6 zfX0)2s_h0?TJZu5wze+RYAJDfvuwPO8sRgKb;+Ub9}5!dzt?z?%;!iG%K0(z z@A|t`OPv2P+QE)*#4JZG)$wy-fFH-2@*t=F(9egH6vLF|2-8f-me|Q-4TU>_PxQHO zDJyx7MW2hRM%IZWif|2Ee3jE+2o;IAmP)PDkoNWIJgma{SKQBI6U+hQ4%OFPaEC^0 zprk}KsDS8XiX5TLX|??$0D(_WQr{9&7-JvCPH*p{==pvjaal3{yEjCOHYW0k?6RUUe(Up|eNNIpw6slGO44N|BF~^cUsK!5VW? z%U9+8;r%wL6K{F=ax#vlGnC!o>O$icfA9E^X=dDWCjyruK%xoA}gQA2_^XQm#)F?Hwh* z`J5XLMYz>)R<&yMO^rRsyd39(rKHSUnk#m|n&5$^oUKq;)4Gal&c$g-Muo&EpJt4J zn!7+u$BMvzVy;eh&$z*G@J^)J!;!5)pDS$O6c5V*a`cQbW@AWx1CQ=}ETL%;JJafT z_a;N1o88w-R34uveb`;u;x~#<^>J;6ooP70&06~Gt}nlU#Xhm_hN%CDC4cJy{I4Z7N>p)LE5m)xbu98l!rOsmC)c0C6I9$*cFzYY1VROWvw>dyas^tLfxPB( zfoefrF|k0H&@~KJS2wrr)LG%XXPt`b3-Fa8;b04A#rb5^urOOSz!JUdaDvsEWYTrC zeB$x*-BaQB(PpOVV~0dHAy8YU(w7tKfDhjx)k9EoF4MW#=?7K59`8QUKYU$9LA6w@ z))>dAzEqLo#ZNVwB*y1qm*6``=yWbxCl^AW5#5 zN+jp3O+fWck_*7EVs#1Nuacd1TMcz85>r-B+d1nQJM8DS<4XfS*l^mG7(qdGMP9v`vhu@RFde_(_);B<6 zjeXtp-0b(&*o)TI#HXENG16Uv@b?9sa*TQ-RXGAQMA0oMFvc?3=ot%3*8NtFhDUkQ z5Azb5ZGHf#cH@L%thq+I*Ws_GO8+|c3iv&zS(J!4>8laW*RD-*D~u% zJewsUO13pWe3qRYcoD}a2S~9rG zMcEA6FgW87;Ij8ujyrk|j-2dkYb5{h+SKz2Y+qXa{Mt?Yhm;?#%Yd#uX#yCFHYHm~ zC02MGDQ!ol3=T1R%Ivx?we&ErPb`v=ILYhf7$Jgq79? zLUPOw`Q|`ADW~^xnJAjK@RQeP?~_u&U-;Y&8aN`y#YmvW9(rwsV>b&@-P%%)N0BzT z0f{G~LwDN;J6^X=lFSuL_Cmw$Kw41bgPL|J_3OL-_Nz$#>vnF6Py!My;?Qp;s?k(z zR8@^TW8s%Bo}CK=yMxK@|eP>RTSzk3nKTW z|Ceyct~A^V&O5&``1}*lFrzc>oGHGM_R08hZ1&Zphth*wu|c~(pl%O0F4g;;lR_Dy ze4RIwkDKykcG+8`|870{V~4?-9cRupWW2#^{1arE2p)dK=@~D>8KeetL-2BEIp535 z)hM)Acb+uezOP^&eL0}t;94_1Z9HdFGHK-+ARKlX%Fa#j1qF9lc|+1buEC}LP-WO| zc+G@KiuDV2B!~?=ioQl#gP+Lfh3C>W22L>B*UnwO^crmz{T(N;Y`s#MW{w85j46H@tiZSe6H1tT5`7W(S7l5x;vYlRvLx9Lnq2Ly-b;(NKdnc1UM zqCa~kj=BGS@%5Y3N77)SO{QuIQA}W=zh^gMHcb_(Tx6fSpas{cI2#RQ?kbR%ABW0Y zQ-r8yaT)4ROq2fy&uw?NxXcaJz1Ec@Ppl6)|`vUDO!Al#40U}~(xcCgiFUFm( zhM!DR)r{iZsMGC#jW!{$Q49Jj`*Etvd41`vCea4~PUwSuX~V`0=yB0H-ssUid_c{+b$(t?@HoeE`?n|O7BC896>q{_f` zV$eVL!zeZCU4uD3m7aCNHtzNH|K&wsegIK|@56W#&1h*x-pI$>FuxxB!lJ9&D?W*H zW|WQ9yjXUPhV=a2_&VH8H>fv!J?Lp2<{b>Oqy1aymQM@tHnQ#qFE4QLF;wj=-0XaCYqjkUMi@$e~rzKCoutNv3Tf^$|&|-D~K(e4T}F6Pe|1L!gQ|? z=pi;)E%y7Obb4#5v<>QmHMv+eX*-|C%$3WGoahb<#m(QkG&a`yNKPm=UmQkX9HRf> zy)m)1B_-&xfsl=M&DYOxL_Z%sMB6oOqp>u$(g%dQn9bQ;i~@hYnqkBK-h7rzaN1CJ zXU&3@HkuRfB_~qkd$hMg*cnIe%1(zCJP2B~-zhL%<3&DM_STb9`M-8=1`Ir~s)2nS{!Q@sJUf)W8_V`JPgkH! zIaH3&;JL9^nSPayD^zk8KKgPpm!`3NNx^%1HzE5^MdYYE*x!&XJjI`yS2e~sMK*U{ zNQkm&5wHxr_Eq|M_z#Z>trHwVqYrNT&;V;~nfhk6ELWi^q&Vh_m$8Dw2{v-W9+yd= zODe!tm`|vO*wG&2abFkr(pHObyLFiSco>)J*u%FJvhk!qC4JOxc)M?a%g2QU+&I^A zkUVbE_O+;oSbRCXq5+I5Rq($D{Xw-s3+$RM)w*%a6kzo>k%jyzNBdIk3u0a(S6t@&k zOx}Hd+4<2a&tf(|MNL@ANIhfb)iEjz?J@9;uF%Zd^7MbXG;yWIi+p=!iaZVda&d1n z;NC5G-!rfe6s>;Cn(nqLGoU-WNg#3iz^()!E10YYFiyRSul!^%8bkZ?Clg*pb9QXo zuiszu(igf}VFZ1nlSIHy))}v;l30si&XEL-XxERDt)x%yaNL0m2VV5O3Ua-V7AuGh z%JCLSgIp!l5A8QG+I>*x9~yYQm8eGl_*pOoN{3N){N={^*dViPvn6mh|IKV&A!Bh~ zeVrA9@q+du_696~gAK03(OJDhL_^36krhF$r?sXl60#B^;Dbwm^sGURlb(qYWAqFx zCwDmKasUdDFP`TXwUjhuAr;HLe|-}%`Q>@^$A!qaAHKoJT;YgQ2^v`ssU`ff8zXzB zcnx~IhdP9hb9br#g1`4+snDJP#lkY1->$!%6oJJ^Hyt8HTpN?>o8Cv+Ccl+vm4H=t zW>T`Ckm{HQ?N%|5AD;{`AaX%B@~ z#(;s2No=fq_gjJG?Cf2OWbwU|YMs${${ zyS!gNI^~wt1_HXz$4G6suxzSNpV+m{L%&ubVrieT3slkhF2_sDKZhKAOYFRRoVFK}R$k1B{>IR9JnzXLvSF8@>B20qgV`ElZDT{wkx|IT?@#}vN zx~5A=z&iT3BJeA5{U_vQOm+fht@w}1h97$kmdGegG4c1L3(@z=dSzBcRSXLl`A4NK zX$mTu`%XWP0;!(d=50DnEA6xO*Q)D>1QRDJefAlwrnhm$d+nq z!#^1~e7j$>Sg(ex3CCDAvT!Fn1~RmZv?ZIc`7)JF`23l(A>3Z53|-4>hZkbX$wg#G3Z!U_umY7`XjTDfUzP z4tQv5rhBHSu5>o%H?0-!3uhk|{-QbXm=lTMn8+y*#A%C!2e8Dji03Zg+uMo#n9#DAP+|(-f#Nj z5~`5aSmj&|f@%VeSUh_A39+G?=rKA;kuvhxp55KuGW1N@EW0ua^#lCfV;*CqK%x(0ZVk1DdlO>CSD>Zq@ElBS1$wvkiB#Uc>FHbpJ+l!6_?%wN_6E zY_+738&L`lGh6@_&t7UR*3`Ii3Y}{np-G10vOm!l6u?dXBY403?Kt$+DtI>p|39qD zpYtOH@S(Bo!)Vs`xq}3Bn@mo4_IP9j)Tdof6(3=A(BqO7O5eq$lX`O*W98y#(5HQw zAvK|p2OD=L4th%A7_$luP_g;@4>!L6l4n+jzWYphi%V9^{9JZ1!)DJZf{ zoHJozWA{IA3(zqc2|%h*%>Z44;$C*$OZwgU;QSc$V)}%rQX5y}tW|*anBvkZ<(zw% zPFmF!7la=)9xtFoEPgD!88)D0{}2?VC^F3e3S%LeO^(O;(vYNuXXr@myl(DfU(l;q z3-uHB$g^G*`yS!ZPBzqfB*YV;V9>uNws09t1q&7ZnTkf`1ocRw`Sc6{DV z^wL7>WqXv?%Tzg_>5EYDH#hSf@`xbuGCnhEB8*_~2&$})Zbc57wIgn!7yS3em0j=? z+e?h}$`@u;DE)MA6=z`ov#2m>snpH@8{$5*EyKJk8k@)%%Qk#{UJ0gU#y7Yi|Ll)S z=(p}!Ej5Oe8A!>3HRpXn@l3l?87{pY7v_Q`1v8p71d8?f`dghJ1XDl)N>Y_ws9r+z)ER6a!j+}VRO$wR9^Cfl;>X?iZ{C2p1S=c zrD|_Epum)z+r_ zJ_+BZSF4rtoC4M0v^`Sf`%9rAs2POdug}%OwsoyZ8*w4t6i0314PAFM`KTzPdarYe zJN<^KAg0RY1TQ6Kv*#S1pB#E2wARIDi4K?b)g1l(vsJ1g8n)-}-)+-%RqdMPfIk0f z;BgqYpw<^L+0Iwhei?`3-2|bRD}$6_!_vNFLYhXLsl)=kYHQhUEj|xPSuOfhtdvup z&Q=L3zznl8guix@tUH?v#>GJbYD_VrXa_G>&N`H03(zyL9R1r&)1~?d%K+A2dN&7g z@}utQ$eDmXZgu+ZRZ+U#v>f{WKEznr(a>UA&Z z5x5XRS|ykk=5^JoE&2Dr|D@2}8&LE)h;izL-R>cl4@Fbv4lF?1^){xDpS0Ahn*nP1 z!u0_{oLYVX@Pt6;#ZwkXI{yabS&TEiIQO30nhk%C;eA0;jO8XBl&)Ww{;o{Zvf)*{ zi&XD@Q&=}F5vgMm9?MUa!`CwI&$6H}&_9z{`m6Rwi57paR>pXxEI8M+%&^~MjsJoN zQR&kPI=Z{#S4_J~|I~q$iZWLhA}PJ&M4@BSp+)iSz$>)~{3*)tB~G97>r=iQY~e-) zE7~FNJ54ZU`#W3^-mAjJ4iVO85nkg3Jhm9fT#Gr9B;=1nE*2lTtv z^>D~r1id%2Q%@)Je3gqUmfiXGNek3@jrqGCDkn4x9>sr3y2{x_(ysZUe*O!jU$_e5 zhcxMLU8^re#|wKGL1C4W(k zD9a*h$ffdQ_)TH}SnbZZ^ZC>m3MaxW(<~AlllZKf`Y^>* zHe%CVqr~_>yg-?)Jj*M;K%z*fOi!bOb&T2EfNcw$ z5SLtQ(K)|L@~yik#vPLdfj6~LHX#_Nd@w`LU2hjL`}`(s8pG@E=@Nioc9wIIBxJ+^ zs_j}Og6*x?S_I9kL*!;}suplVmjobb%wV1Lb7gHX5aAMhla714$)FJ|I~qqs;*-u| z1d+gA*}xEJSP$q4It@V(>3!^}jV$Ta4b7#mYfRFL>kE=c<#u>~f-8k#sejeNYD1?k zc+;iIe! zDxSq_fZIUa91L|-caRqR)T`|?EJogDov$KN{*%%V;FyuQmPkf@~HPtsOSpURDk>I zU)7>FpSf4s&|^8!nzzeW0qEc|M(z3)%uBQ|VmUzD0x@6c41fV)YUEHI`kSFX+Cs2xjcS;Zv4OLasbY??`v`!b3aQXDM|A|%R3+-z?;uv z*=))DcZ~ur<$b0`(oy;HTwAP2uTU;Tu~+Fk?$^?})A72*CF57lK_tlj5pb@Q)~c{6ir}k61y5{O$1AjYkAB(Mu6{7Hf1QU< z$BkVe8-75!VWKwwl75>~QmtvfzNQFNmrNIH1us=K)-aRN7#@LY2+EYtXXjkBwnhx0 z<={=>@^*mWszL57_$k5O%pj;5z1vRN z!oMqspP7S0ukQL3rOsb8&0PeVbc^YF7OM23XAn}6?Y;^b^EEFTryIf@8<3~CW)XF9 z8$z^gkKf~ZQ*=P@JTXm9@u24m$^$80$^+TC(~NRpT5E2FyLX@zv6aw=$OcN+{X1Oe zql*cj?y9xx*?D7_M0U+MFqm&?eeHCoalg#@_V&)Oqiq%@H(I5p*VX*LZ7B#~+wyW- z1OrZZ(pC|c7?2gQ?UM@FN!U(Rb@FlKOkG@DJ)rezq@ih&TDV?#WwvN$)-5=`y1hD9 zK?19)YT!G!v|M?=PeuMNPN1%JkfHt;!Mr>^($fqTl%W&_TeVR`2Ot-8GT^hgfmh4P zi|L(~uVy<_5Z+?*Ud5)(E~>iHcespxh=4c!m)ro{VYekZ_#H6EapC7|r@)>fAx;g3 z^Q&BB;rc5oQ}y?kCi}HN_pH;%8!_#R(+&)rOz)iPqOE=&(9Eouw51hn^ ztdkTc8XH{B$|FaQh)`YS;Xx>?7MBl=6DuS?q6asD4ztHWOn&+=qCOyL5`YyD9YN-+ zB*ariI%`G}TN^QS1j@7D=6Qc;jvq?`JnzZgmvv+mL>lRmoXPqhMj$p+DoJ}PW_-0D zTjNgi_fnSzjk}9jqiVvR0dNayjfz#_JZl>jhv0*e+oglMW$hYU9EhZ)JFx^?f~!z{ zc%b=!6OWMRCo^z5=sAQLosT+15QGKMK$wui5uF^E*C?Zdzk5N{$l^5j@`I*CJIGAC zTTO~x@!#K^?Q`BS$`;x@YBN7uW?@>(TExJpa9rdu4$ZBEAs^hJJyIyzvuRjAjwl0b z;gC3L_>fDxRv}n_YcLRLv7uN&x}3%Q#&$M8b{PTc)21#w7i?FnSPJeTf#2KTV2P$6 z237mHjHut3e|R`&Hyr!8ciME{cuXwY*?purKrph;u_eZ0Kt!)7=NCH2PsOm`WUGXF ztnAJ_LO*TRZT;!ainh5Hf!5!RQghR>(dYhPc|q}PDDONlWn4vyj(eNmtL0`CCldMZ zAKv$1@0xI@URIdy@g*F%PK@FD#xG0_k-N{ig!|=#lMsQ4<<@_}C5XXOK?$YD5P^6< zDal+GT!;ge7bo~=RlSo6`K2|e3jx~a*<3gl2}T%AVV^>t%@o3r%`{k|8LxkM4*@>p zR^U1khUZW-h#XQa?C4X&v=>~@7p?1U%ZE-N4QFGM0P%KS+-=+xzuvny5wIoRD? zRpla~B!p3W>>m~zTrcRY?Xg|WhV0BKK)ae6gK{=>$(plb>Z5sB(0MvBbRUv|ZtKKy zM!&bq#xA-}}nxun_7h;noKfk0kW384AP zY?vXs6&2 zj2K!MR|16dd7VMD(Q(!0Yq)u=R_C24G&$3;IhP6br7r9HhEmv{1NOUKtT?)?IQ>OC zsw57^?_%(K{YjO%1sP8t%c~^4$k85*JBq^!9Z`|<*5I??v0&BiOan8;JRr08&2-SZ zXPNFN>ea1jYiHkU+2VZ98X%T)p0f+Z6D_Y*x{gljqfL`tE2<&8v~+kTC?zu>);H`i z6YWG*+Aj{(9(Z2zx!*&>%R@&buJstrZ0<2$OGct;5c`nAV8GUI1!(I$pqI?1-36fM zMr_JRRXSAc%9Q zlVqP8{ewd>QqXq}P1E9x#9Gu2ZK{d8EKbS=>RYjX)q0beeY(U54ck`&f78b7*O@{; zQIuo|T}d$}sIgMd?=6fN5tKz2e~Q*wa?qe1>Q%V>AW(gIPXlHM2lO2F=6NCs9#&Au3*ZVnbi(?=br=f*KAH^ z4nBWFoFd&@$+4D+YT?ERF0(qaRvU|2umrOb$ry`6ceI+G)ob zKuwl0mUN@bc~Jenyk25t&_(pz(?*-IO>W3?kg-8j``4s^Lr;FBM(Un$ys`9}20ZC# zpFX``Zak9}z}Np*>;)&s@R!OSc}76w0O1c=&7r4fw&y~Mvvq@9BP#%uz6O_X>-3$O zMBB;jvO`N&YD|S+;Jt~ijZVp1L6p@{QJd%!%3;pjPiOj)i4vcosnS_KlI`J%LuuMO zC&?BTOAR)!iTHvJ-UW+iu)ic~JNZ0;+~7>e0`SE5y1uHk3w4Zh-dM5Hp;8@TkA6u= zY(-cEFgts+R3Sh1a3y?{o{ruLyb>k7-Tb+8?!Vet8r6(xakoaaKDqLrcb#6&u9Txg zj7vNpha@MEk_ETWnqbb0v;7%lJ$u2?R+jJig3IO7AT@boJQgStg?R$3w z<9MPmEV_=@&wgzrjrB7hI|XBe=ZUc8`ELA>xkP+O3OxP`pS`bc2SZ zn=wUdBLVqh5h<+h;gnRGb<(juZbNi5sl1Ts1u;=VPA9YHEPB5*!X$Oy&E7a-x7QZUmwA1L_`@4qA9xId%g{^R#U_I-cG&e&oyIa%Hn#{VjsZl>sa zs`{2sBON3v1d^;sPlrsEQz!q-nX=0$R5VpF3L6zE9HbOT6gV47>|IJ71 zD<&$IGOGC_G*SELSr&y=BBygV`LQYa8@FWbqa(Exk(CBHWiDS~T;P&WC49(HZaI!%8y)uSCB{ zs+;IFN1HDp!+%YGIs0fHShgK@u9PoycFbKg>BMEob($1{95XwP3)=i`YP1$D3Nx+E zML0koz`}R&;g8;OMu!k&hG!Y7jt#t5U-TuN-fz{ZLNJ^6s{W}Iy0kLT&pMiyqTX?+_7=^M;q=$Kw>bbx;r`t@|XWeDWjngC64XshKX9r6*;aG9!`KITCrTq@f$EzWA%W4!= z6_!ei?Mk~V!yLoU-hPfMQ&dQibk4lBanBTKiV$56b3LLMl_<=v#}45lAUX@1T;}iM**7b ztB-t@XgWn9()S_qw58709Boq)!BI=Nr-kj(%bKK~U+IqrdV18f>kr8k`&wK!me{xh z5pm2=ZJ~UMzCZqqrE`y5zQf->S)K<$?YpHfj zcBc$cZdd1&qA-0{`pDHY&!Hjfp5b6v!_OX;S|k zYU}%W<(0aEl-V9?o11o-*!lS`;|beWEUB(rl83O~og- zhF{6Eyj51&+w(f}U5Qq-x)$|Ffd%otoxf$a?i4dlXy20(nH)6~Ec7Huum(RmBk{j4KV0#srSVZn?f*o~9 zXn9%cQ8VypT2Va0*awLVKTD zi&(!9WKOX5(^hQoTu95F8x&L zOYlxD8RR!0i9?mPuANKaMGGbqW6D&M%XV{b& zzsd>^kJh|M39UI9u812)x?%Z%g`|bH-iuYHFwTM*om9Ql89;?N{Cgoy=H85jmy*!r zfogR?j?s5lYOyZ^?jT=!JAO^UWo?7^I5OsP@&)b{@BixJ2dPdw%(_zY_27TBs_n)* zdm#S^P43T7QM_M&U_wl#>2t!kURNfcy>WFVu_vbCQuwws_E!QYSh2xlue|U#D*vI>&zMC%dD-G=18?W;H+(7qe z-!01S%grjYxUx%*M?4rXCcy4&mA^|%;dss)+ZjOD=G6rf6s(!Fs7_NUI!##do|K-v zJX}{e*!t*HOlB>XJNP(n2xpW`F_$s4MxN~bZf;2; zzPVQU9_$*{QPqTiEx1UA&NT#kbk29Bt(ogQcP>$wpq3BDc-kD`MW`hWUiI2c82xE7k7d z21Mr?(FxH){_&nh46eHN1&PT}Upi%BKf@%*uV@!P>v@gi3dx>NwRA_?Oxz67hX{Vd z5I*s;9{ucH?t*07l$D$d4MB;$SX`OwIM5s9*7Ag~FiD!{v+?8e+2d#aEbfzd3n%~Z zj?NLAHDFc^uHH%NI%UlFoS%GG0+PAe+2_AGO(r_Y?nB#&mgKKmJE3L4AWKtASoE~4 z3hfewU>~DL+ZDeZk*|`z&Khv2^Et*b_`lo9h<3uwr#a9+pz5O;xvxn_(^RVT4>Y{^ zHeFSx8M*wFlF(6!|L`htzDYBs`oa0%wy7-oy>bJ<3{_`Q7f;;Q?A=leHuatyTp@NV zf&LycDsNCC#5e?A=Pt7#FnMk+6eD|Kd#Haq$nRcg4W%0y(LO3Ty1q*r41Uzkg;<4v z<7`sl)rIlu&x_dw*tYC&2g%Xrc{5Syyt{We->`640dhT*Q{(dGi?bJzG^$H_ny&Gs zE0poCH%?e%AZaMAtI>Ik#MRn&H8KF5=IUO6q*EdLZ&`Z}TwmN$a~vawZx z<*Ql&!JdM1V`J7D4z~Rf^zupZE!|76M3!fM!}G|*qV3)45ar_=Zq-UAqjtDjFV&Uu zqWqH{;TzZG`K!)6z~=f4K`$xYpwr)Ayt7De=_G~hT;BoBq>I9rIAv4~Zc3V& zEnW92x&^cEJSQI$-P-)lWtqOv_?hv^%#|u%OtbtrJ61Vfd1Lq23sjyCqi%u`2hl^J z2Yk}qJOp@5ALFe3A0=6TEnFcV@p$tXQsg}edFJ%kn{#91vftCVhL?wWobK9q!DxP2 zqH1A$X;4s>JW?OF;=D@@OnwcrF~1LIK@V83Q=xgFbRMBQ2{bVPb3%-OUm8MPE>s$jhDI780qBw zlvt!EptOaI{XHB8l3jH1Jvm8F!yDG5 zWwBUAxc~%~Xt{!|U;jSv_m7p`WX*lB+XRFMlcK-(`=4aMYl!z+^TONTR$6iuCl!2d zlw!!O2=o{vCV{48Y6)ax#_xXB4m^t;W(r7K>7>Puw(iu!M{%lfYMjOw=?k~-Qz(g$ z$F+!fSA(H;0@mxlgD9H762cTKwQrwxoQvN-AsB9($ANPS7B=@#j0|#9r4`9~RKIbJ zwkot*lFUNrMzq5Et7}kEgTH=(p=tUkDv?1DuGsKIbWC0X&IWRLLL-->rk}Ijns#ov z*+*zABAuP}9Z5OqsVRD8nr-0;jor|reGSy7k?XWoxWEU#`D>LK|LkrD9)+2ULk0~ zP<7097d0*<01D5eG0>UvmK$XyMU(X&?Ze4JS)SE~_2T;Cxm-Qo`8$O*Abzbob6Leq zbX0WaSKG8{NQ@)Ttz~cSj+;yphZXwHS0=^kM+HvKH2B+GeG@WOokXR^EMz9M9O|tX zkdqthxIF3df$W7K6z$n9OU{Z+z>UB9n<@&?TB?jaRp}j{w_4|68Jl0sz`)){|H1In zo+KyeP!wnFjbWWUi|M|*6pIu2gqW-k*eRkoKXp5Whbo1sP#~;9zk&y>Tpj{(u_!HT zTMVF_bk9grB6VZYv)~;qSE+oz$Ezhi#zu8>u;Z8bA+aFI)$kLaw6vgo?&*XJBBL=b zV@dU$A%0Yw7{1|aMIXnchvGMW8}`wxmExeUL9A%^;(e^}J=D9(raQIiO2j#c5&Z@Z zZBU|zxC380HnenUYxB$~QlYIkLqHVZ@?L`lA;j<>dDhY}ZDpF8ftrU9%BDcEEB`-L z5;Y9HVo7&z(09E)N$4gWVT!ln!6XoR_cG@-2ILpggELcfoMj`0=XO3Ne$sL zOAH7O?Ig5FKZ41)pqplKeWQ#SJ1CyMICA!ofEbJZrt8$>m!kWvj!E=d;C2C}Ja(Ki z-j9Mhn)W<>s7Kl^MlWZJ>n|sH@q!~?D zj91`4)xz=yOrFaJ!41K24W@Rex!FXuEz97ZLZs=egbU?HZUmFQX8a-hX}=PUH+bjH zdoUWqPZida3KUE=N(%T=5+b@}+HP1Pvspf%pTYo+QjuM(2AbqTou^xqO9!A|ESo+= zYE+5QIc9XoD?0V1FZ>uSQxRas*H*4Cs!kDTdqDfNhd8C*P%lJ$X{U@Q;G(gMu$>p# z`1Dd~iKl<^C-B?S+O;m4Y@;oJ*#&GHtMRqL>F6)~zk;1@uXf7$u{JC`;Cz zM*XJA&+pPP=*K1WPciN#{qXS0hByN7lYxDZcwQ(AW#q07vI9CnBkj%nLD$c-0zA`C z6sbKJ*=|#MXg*WsP}?$n)Cj2c)BPsTgHQ@*z*sXPO+qfa7{Dd^ch)~|eNtSPLhjzt zX_XyjuHN@A)=phi_@*7p?nboh1{Z(Mgt%Od1N9rD##(9sYG@v0-OJ7P=0BZs7!6n( znJ0A5z^3VU9ML3wa}#!APX4WvP+A4%%iQs32G94N>rQ6$r^g9VJ`0^(fXS^IBY`r5 zfw#{yM=aH{%_a%HU%AB+2!j^;XL~@1{9E&(5gUtM?z zl#is!Q5qZZ*`aCyik8N*^3~d$D{iI|I>|LJ$8|jqZNB=OeDj|C+9=h@)76Gd`@z0& zxlV-6LU8BPlvS7k7Nph$W+3iAorB1btDzZG)@%z6#d8=fc$Go#E%RDg*-AG;Zh4*j zpp&6-*0vdTM+~3nf}cLM!WiABDAIzxG3;Heopj&@_*x1oxL=B<$%ZzF3w(C)*SYiY zv`#I&>;xi%Y=WOOc|$Ef-ztU5i#Fvi!{=v zuL~zj&H0DdSMzNDR`JIz#OK!eZ#SG-_Lf8re){c#nVqhohV1hzbkND|`ET4UnYDPI zg?_r-4xaZ+GOuW9#R``z-w!4{b#3|6V2uYHh% z9AvG@WHR$S_kG>hFS2q&i|((J6OVK-kPNdbt?=_;KBFlK5Z-wsa%Euu;Y8)pH6~Aq zkWqo%_{qV%$&)5?FIsBv-1&zrIJieE>_R)s3`@*pjCGw7s3TNV=HLp7D(wa?R2C+x zzASZVk~M!?YcT^>IXa_fV-sL?Za5d%$s{bFr`EtzJJt4E9~b3TszcR>fbC-rNev5K z6?5RO4|iw6BqAmgeB|i=T_)NfEg$czFjxLm2K8(wh$h30|M0zlWl6YH`Eq-P7CTix zFhL5cqZI20D%Ph5d-J2#N#z{mB1X$W@Dj{ux2((`kx&9~6I^oNWc}~Hq+3hb%D)gk zlvtb(G)ugsdB)vcIM-Xv_ss;~R{99iS?Wg(I~MP*Sem_3E)ljKtqb;JAzsB=Or7vc z>l7H9y$dM)XGsS$l~P-0atsW<2v@QF1r8lZfA+77vK_DL?UiI`v@|c$y}|K`VO@@) z+~L{nJ8(S^2=zEb8fEumjTJSwy4}#!pC5S-`6DurA^pc>5uE={xrDmB9PV*yLR{Sr zlC4?_s@`e^EHp>5>(?oJ5*wtfeUKuOeltl#1{zBGr~Ex{A0LQPXhnt)R;dS9qTW{& zu0S{q_`VT&rg`d9jI3HXzQ+ewYJII0PhgtJsb%EPtDudZ$*-^0dl1{N8$lJFqj%+j zX(b7^&sKxyirMAwT4Jg4@A2=@M3?x}?Mmp$OU*xSSgTtBaHa9AWgj!|%!0{m$Q$g# zI`l)3u_;yp9dYI)CRElt+9mlPj_TC?D{zqJjEIKEem$55xmH&S{EmKkBKHofY>LY- zTSf6k_VvGfNx*+hY{O_nJ4kg8v&5Bi2>lw$gnf2%5-yT$`4sH07jq(y7X4Db1ge1+ zo2`NxI!h38Oc)_Opp}>hu;m)UMoWIxRx*)LEAHzj$4ds28yQDHFZIcB$Ve!CyOvyE z=%RoB(qK0~H75B$XKn|>j~FMCNBhIO7-+X(DLO4EN@iBHWfFMvtxmX$ySA1=AaN;4o6iJhpArzWkCBzOi> z(C10Cm28cz@zpSN>+ct7e+2XJpLG59(&R_DvBCBFwoHz-vgE4*3Q;EM6ci#pxh1Oc zjuSb^tev>I%^+3I{D>WCiM(y!G9{L@&EKaHO>hGs_*O$z#D<2Te{HWp$ON+~US+;fW9LpSTs1xl7|NgUJ_#@oR1Ct|hpbw;A&j0yOG9HV+XC?Of{^a#j}KM zY}>pl#Vgt8Zy1H^4t2vBrYoq8T8H#aoai za*%s?E`^}z>_Tr2-qWJgjNzd~WO?CM(b{j;*} z1L)rSOBw*4_|)Z?81GL{7T4tr7*@#^0Y-Ob*|G^f&NVSPUxGOZGxqIP)kMm z_f9tb?O3h1#B7>&q5Z${7f@J0UeCW!Y)ZMwK_y0YSy^H@b|cwQ9EaKKSy{wY{VA3Yc) z%#YW*ZF);e+)r@r(gyg8(2A{PJ<@VYUoap8Cdn1OzUcW0rx`!9MK@DPOT8l9={Day zUL_U9V!C5%K~21kCBmj>cB8TrB0hpHg&pEnvm0}pG1WR;$vS>+Z(`y$#~G^Gg393I z+?T+8F3b@km4V1VEJs0m>zrpym-e#G?kbQkscP1Gbd*8-xPadOxu7t zDPE4ow~~7@$`X~%b~R63=U_oNBRs0y`FvlNX=B2#Asl zsDGMVycIe=Vz*c83p1%KF(zcbF>o@*;>sdn*LdFN_F>p^-#T^YtF^sW=4>lON$ZD{ zcQfa=BtqSP%p=0#OO|oI{|Xn}g2UDRgfQQa2L?A*BFQTOpAlN?+dyUUisOJ533%CT zT15FmM$!brM0M1jL{}(yMUiS;;h&P7y39R(h%sv@&4)R0X=UX`wwTam87J9_P{N|zBy|{BdF5SDPuaj{2FX;{b*@uZ0Z+- zbs|JX!0}~Tk%_3nQ_{@|1(nA`-^1kJkc#3JL#Oc;Kh{@nffn5S2;# zJC_n;95&gH{(-B)t_%u|7PRGjkA{ZodSf5bmAFJS3l#&+q@i1eFaJhG@2g(SSK+DU)$G87wqVUgx1aHv)FM&W zy1*E_EN1(3Fxj>dr=7u2sY%F;Zu@k0oO7L6Gda63j>%ssa%KG`Td#s6Bb`CEi)X&5 zv8`eJdl;J}%*x->F}O}>n^lEiRZ#Wzr9ynNaGHgP07y{$R4#;R?$wz(;=Kw{kvV?P z+Bm1~$miCkY`UcQZo)@}ZrZl-x@!vFJd;G@jqmIkq3Bg9i_1EYZ)aZXpe_`r~TsoUPH%+~YJv*XD%K9O0+E3SMDOmiDBHgEFarpE{#=jpYrfR(G z!Ov217gg?yX3YMeQ1i*S^ogyUa5<$AH+9Dj=<;9gy|a*T+^)-CA5Sht?Ns0-)^c|z zKm5KzowY)jqep*a6ZITdmtUeV;<7Jku#Perx8bwP>24#g2|iw6pXND)oV~JPZo0{I z(XV0kuzl{>MnbF-<8oBJItMM=T7|kcN$P~+n+fNT)YS)UXUVgffE*2JH(NY(mABG1 zm6mzjJsUV;_yy`TiMUIL%>9w<-`@0AKmJ_*GGCa@>Tk-~a;#TvRsJVeS%n??qo+T@ z`W_99l?wh$bsae@m3t#F@;gQa(nAl;BuoGEhyfR?855_o>@wlsl~+9UDmsC@dQN_< ziJ~o_bj`$oSlvF2-6^FFBxP=?RPU_C>wmsd;n}fLm162X=h)c_$e)ySMQG=RJsWxI z)xW1pz5UVt`EnVv*$4Nzkue0&Wecit+VJgu_^#Y*+xo;IRwq6^tD)Zi2m|HYmf9P2&u+}}!OA)t zlutMO$@Qy$!|V*NQ&AYJlsKcJR*2v7fIk3Yv2R}`n;$20!%TG7j$b3+a|u3PWpJ}* z%Cr60{K-JC#oUCJx9Im1Em1XPuhO=prMI-l5|22ZXA%y)PZFNK_B-}a`-WfA_lhd+ zs9a=&v_^jPxg(Wv{mb9s&ul+&atm=45_xwTDt$_0JW-C|TjHH-Z74}LGL>DJITlRz zziRNCY3!N-xz3dPjAi>t$B6bbJhcsDPpuF5Vh(#`95mD(!D2HT(Eq!dP161;-x`8gcdwwsF6Z8sv_;uk5|> zq}V9rX54L0t$nGr+QyPfKpfBNe%fjH(Spj?_ivp>gHGi0Ge+$iSlZF5LYu|%vbpR0 z)!x>8dRksqX@>r#yKSi4(1Muqeuau7jaRLNvbwHRd&HK1lnR4j<-nq$A_+&PVB7mw zzJ1e_JalQBvLMM{9%Isd--YX5A+?1o=*SDb=_7ivz2Pge-DTqjZztm7w4Z#elC@3v z#L{Npr1FqwG~JG;_+(#NW@G&sCVl(o6l^DR^F<9`vF$glnaxieV_jYTZ%n(1l%JT} z*}vpAe&w&6;LEL7L?bc5C18}Ay{+T409rOTxU5^K7cNt+dFjaIm9yQ%^J(os!FdsO zu6ot@P5d$}>b^G;)c=X2GVV3GIJp9?Sy2ZFk+qK7OBq7E$pTZ_}5 zIv)3Vn6LhQTWT8p!bCmvgT!m;qDC*m#-5)lzQhy?a<7fq( zprv8D@3#oHKy27uG}p?j#AU;^7J8XpzC9_d&Nc({2GLtY7}YSMxX ztQ;lQ(==|Q8<(dzZa8n9LVGl^k5F3gXYZ*YgfR=ZCeM?n4@_sKDabPchOxP|Ii1zJ z+=7l`EHOyQ%KCWR)_JEnHIy%(qLUk#bu#P%YBUu4O@V1gE7R)JtCMUckO7`<8o%RJ z(Uy0s*O7IMv=6Y&LK>y5)UqWXkBzCYZBPt#4~=_@Wk98vX9q>Jk- zhL3_P4WFc?z9pEa>G+pL7H?iunH^SJvVbIKvm4e$HmUE1s?{=Dvqg2OhuMxj|2&k? z!R&tbkn*b%RFRNQQJ}iPmDDa_HsC*6&9|tYu@GxFP=GasER?Of8e! z31lHyZ_Ch-p#}bp#BjOBvH=OPfmXS0TZ~+h8P69YaLQ&AfCJ-af4KH$tHZn+9TYRA z3g;0`5eG6MVmF5@BZYXR<)Sm?BQ;b&#|GZ*2E>H~u72C`hI39SUMeg_7}pq|=IjSi z`6#buWPR3nmzVG%P^YSMMExW1fZ z6>F8@NwYas$&13y5drNu8_HB0D$4X|wyI?FWTjnS4z4r~UCq;S2~Dl`5{_5*m%TBs zEB=4uH@L=2s+zou1vu^e9wl_=*#DEv|LF8sF)8dh&)8d>z`V47t(v*iDUO$;xt-26 z`sB%^LNMkxUU)uI|w;wp}c^pYgq8>WnBmH1BdwdNbZc zsA{ULEGKZohqZ}zS0=dYxr9WXP_m$+=gmFS^;WRwQgH(; zYdg%e@3c|SfU?boNmd)YHya!{6UR$&=wZ;)gICLFlb|Rxp;Q`7!pZ0V_=GJ(j7tl^ zLQ>l1uUdoSas%B|vr^5f{T(@M>s((Q1)16g`Dvsh9wmI;t?>|;p}Xjo>CCK|fy+`X zw40Q_D{-JVSSt&XDy$OyttR!_uA675>Q`k_hRepSJykmkA{L0e-@gReMzmi≫89 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ě{ki`U3gntZQ$ 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%0Ak8*!vYCZiC!pMp&@ zPfolF8orI%kek-kCLnk53!Accpbe~`-_C}LY)$F#yee_D3@S+dO#eHQBy^p^Ef4*@ z`+zBnJ<;RIe0n3?aqMI0;Gxh}TF96t2x2KemhRTj($Jp0z09`VxF&zLx2e8c7Gzm| zbeq(P^|X6QRaCTtO2%Hbh`&>6YD^irlRo4rd!GVf0g9FEHBG&uCh~!}l?;$AX&^0y zIc*lkK9ud&bk7VQO$}}@-26%5A&QGpbIp>R&TFxa@ZwSvj><2mPfB-Dyqw_QYG-EL zZebN>A}Hzi^$7>ar)^+Vhh5Xsc3KKGqDGm>pI(;RIn3$-8{&w`Q=i&h}`6 ziH((ggfn=SbI2qAT}`d1y>NbfSj;`!DryYu?fW>TIi@Q}3`6h=60Zi@Z2bYv+HTYg=NCI3$FBjPC{8 zUidu4GK_D?gj$IAS%_XtoG>rhBzg&B`_dXJts=K;#eRNf3e(aM)3<9YsJ4GH|$I$O{* zRoMZxcW%33emZGid1S8lz*^qW1X?=ns48ik=O6hqjAhBzy&3GsBjamNVBJ=rU78*= zBK!E)7$y!B-B=7g0rG`@jE-Kji9X^MdL!On>LV(S;{EZ6BD!x(i+CE> z$VY$D%9Q0dH+@7>;nwJa$$5BGZQXsgV0 z=z#e!q)Iy_B+oIBr!{owUG1Ij?uJP|tFTg$amR9j=JQGuzdp7xER19y6OboF;-1Rg7Ro};mA+-)kak0(Qq1&%+S$;Gn| zL!Dg!8f7c66eq5D@;>7axg1f*prxV*f}oA{FM{%YE{k^9U~C>>Z4KqC%tgtAYW>Yf z`chMW@Jc7i6CDfqtQniCeLtRG6P`78p+4NiPk9&uJ9tKE>^UJN26E^EH0Mv-6}Qy= zvGb+L!A?5zR13?&GGa~s-X;S6+uues1{@_%&~ON0&@%RP4{uLp(cbZeJG!P= zrzwlqS4;Xu^brB;XPjoEvs4=--;ImiHj;$Ge1aj`{U}+bbbDfM&vODwU)MBWIRpG% zSa^{XSjea3T~a=0V?I~m&)c7O*vYfUu#*j=nSR>WMc{dg)@QaKh-B_D_Bb~G<|89pmIk-CE0m9lm%P&UXV%w5J-0CxL;r@r*iPidfnH|Iu++)$xc82!RO(LVESL6f zzwULJ)zR?$zl_jfrjwHu5p zS|+qR8(lP794NGuwEnNVe|lv+z|%_0hQ{b&(TU%ZSvY8K*J=AbI!C!Nq7WXrr zt9V+OK@uvOkYgEY=~1$#GCX^!+Be9tqGxgJ?KaFyMOux+nz&l4BDNi`G&r4@bMYXW zRH7Zj**thM0`^Em7fG3`B%%%E@$E(-aPUs@mTk3@g^o z6O-V+Kx{N;oY|v9q50_l!{bTy`wMjjt#6YorJOhkM&X)*Qrq!}cnjsjA4T6VFI|dq zpBEp-tL$z;J~Aq}x=o_Up0nNynY*3+54UVNo2@C~{i@T)Q8%e2Blm*Z&||z2;J&Nm zkns#Uv4S6tq!0i2ajuc$7=`2dT<4qXb5m4o2i~TUcHlfCIKf*tp^U=`&QoS~-L$&u z=!0+}3GrBh{gg!f-6Fch@U5SnOLaVUC~v5cyZT75Y`(lAk6YlLFH!sv$I8csxrpNy zfQBOFpTfTP7;CQ{`URwWO~l)I6Q;dz=lQjkPxe$sm39zW&^W&uK6#;CZV>-HejbCG zq}?iF+TVEfXn8y2?UNs6Aw13YxU4<{Ar0$Phw&yE88Po} z4?mY&MJz`B-WI}1km7Y;kg^;EyULpd*>x=psZ8_!!vcKg9+e#GC^C+DPlt%ljVua< zM06Xl{1vJBRJ-vMz)VjPJlstGoGvZXzHw+i>WaHOuS`FhZa0SF?}`2N3Eb(@0xxv5 zUH(?cbv9sLa>!spGD@h3lY1dbcT9v>iI$h25rn4k(ehC9Vmp-)Uj_<9$q@#QWDB4( zyq>PECa>kdsbZoNd#CD0Odo|M2Q+I&r?@lJZoW&QyhRkk$h(8;sQc)TPB_$JF8%%S z5_T`4>fq&EueqjX5qv<$~PYDrDRtgx7Bg1l^Xa zaA_sQ;*e#Z=?+JH8|ItLq!(GUH~-q|HmUv~=g2n9qx@AxA4(s$IL*UPr9VM_Z`SG{`W-2Fh2~=PSl21>7!eZ^iAHsroZ)MY_ zl=6+g3j{Hx+i`96R_%91pAxe(&;9m__wYDqf3p->)OUSiro~{{#&_!E-HqL!Lq;`N z-}^do@Vtr@jT6cU{k%cN;h^|MD2^8`b_am{hqFah28HGy)GZxM9PBwtyp(1iKdgME z)8v2d3V!BG%NKcXmGg23_8}z}8dqMs!YIvcaT2&wGF`i?29+2`De*LoHMKmH!W5G1 zF}_LLk{`l?>j3;B^lHhx;_BSOC6RC?HPU?jDn7|O&Jl*X66sQYiMEb7T!zQ4etvG< z*FBQA+0u0Jk0dud;`ZI;hfj_yzz@@1b@!9qF&?1lf&`N^7hXlcbP3TF9A_k-p!AtX z^w&R?CXYKU&GGjNrDS0z=xYvU3kyZA@iVElXQ8&KdNH4v*a?Y=j_-rx7#7KKU8wym`j%MF3D9^<9lfA(c^D7-B<{m2^f2?I? zC68|WW^-p=#KKtJg;h5Ex0c1Uo?mYe2exd*2D|-uj{AkgxQ=Fc@6Xq7u9A!wC(Dw1 z4FCSce39cfUUlYHcq__XHV|bA=3Ha#GaJTWm7*T5AIKpFIVm#LbrPeq|8$YQy zy)i!;-J6Gk2%gLP6#CncW6%fRv%`vv+ZbSgY}oKJqKc(!#)k>r&rSI(P^WwF`IC$6 zz+mfWAITEEpDQ0Jhs{-RX%Dj7qwT90rR^%rCvNNK!3QR_`bP`n9u^=>r$y*pYQ9wW z9xV+v5oVIyqh+{QXS#&q0EoA~0Ra!p#d}3e$?DIhhKCPkwp=$Z_7@K3<37zM`>;O6 z{TeHYTgCc)Li+M@iy?AqdHeW!dOcNZ_4?#CDB&)uRM*xcWh=q$!fo)+qi&Wiu)>i( z$@nnKw@3TkkMSo&F5KNI_9VFcPTMvUF@ zUj3-JamO<*0!Db2Ez7_7W%g$60zCci=sB{U$kx&p%IbZvf+h!{);hL`2z%EFcjqjz zH6=b1HMGaC#r^Ep8NI1;uRBo_6-DU4p+1j8)FGXE?ZNF;u8*y)uS?mwVy@Z;EXi`I z*G6L{4$X^)A$?4OW~V+5JM-C!iwJU{uZqZ_!&qRucSL9tWMBqU@}@i?hPQ4mKnd>T zWAMO;cD*fZ?IHtMmhT%hYOOMAwF5jm6nl;BYLIa+jWB?=jJ|A|S?sARg-j~YCu&Hq zO5#5M80&T7hpH9i(glnImm-sFeyzMIxtKUzOAOLu_<)i!rzQkv`tGYWzSd0)b|KJo zR3lQ7b5@}Rr3d~?sOyNoHwo%#2x<}-m|V_ycs{=w^i4lCkoj!4?T&qUDd0JlY0Bul z=0XY!-RrehPwu2%Mr-uFTvJ!-GM}53?r-xyq1w+MxaG%g zJ)a*;4P5y%Y9kE&B~L_;%4B#fu+7QudRQuOt{n4ybeD_3OAH@61G&o6Yw@fLGKtSj zgibU@vDZ9H+|0rqSbMB)&~HwTV#+Nx8-12sR6rN-z=GKAY)fC0XzGN$pLAoZmA{dK%VL+l%8%kk!5A!dqYu*%7e*|8kPK&Ai_RH^y~HEK01v|i=_0Ll$`b(Y;y zL_&woTkl_EPPeFWyuFIwBzfVKaBvHq4{5L<=S`_xP|FlPwl0Ir_UrWPgb+Z~3J!L> zc7U@Xta-E2G&YA5`9O(Fn6kD(%z4pxWK>A5T8y90Zl-oHm9QL!P2a;Q+lvDqjz8=^ zShf=hDZ;b|_0)AWRkoaA{}lwnyR2oc&7|>qtD>))%sH{tL#>l*iCEs_3aA&6(B){9 zuNcC<0>(e8jYydMF!N7Gyai$nn}4&Z)Uj@W{W*97N6yfGqkU`g(|jxv%r7owcxX-u zk`wMW!=h7&$UkKNIeB_q|Jej|R!=p@O~xqX<$t;8!ZKDHB*t8K+D}3eII+(3z#O24 z*lI^KoZ`Sz`^q?AWmFvA=)(Sbk93-ds@&Dz7q$DJ-8~RU z-7#S}QL}r&m@0fHKf9*0Dl=5;VZ23o>$A4|R2N)yWY6(QWdLK<0Oemel9?D%;qUdi z*h!8ueRu9^);gYLdrS~DDpE>Y$;9o6@_^G-m;(}ntq$)byi@0jM{_oOlDNeYKC&yF z`Qz@9E$Y5Hp#sE($Wne4Ze8Ro9(M#dKTC=eVOl*+7EG^Y9F!f_d)?fGGE4atu9T9M z5u=Z~8iE!boCoEDJiI)(NKMKBs6H23GSfrqDyKq7W7AUBPFBp&zNlR{K2f=cq)^!n z;)K`6^8-M9pZ3*x;r%vLw24f-KXtT;wKs?1VOow58&P0oK+)y^w89pMk)`jti=^G` zb0HB)um1GG18L%MuFVuiAy0|@Xk35N^z42vqts#T)x6zIfKrJAU1$b-QSl@XrNysK z26W<`fA6jBc2%p_SH2?61p(PkDch&v`r)}xBP@5VWA(c}j2?1;^?iafS>ZPSyc6oo z82=f}*S4HVmU?lG_c|r_g0oaBOzmk!FAtLvP57_({Y-_@NUJ`aKnR7%+TJ~;{!t$a zu~{k|7sc)oKAJdROBOqb9A9}e&c3b8s|ptP zU?>V)J$my)FMPq2_5mrVN0u6w8j4hMA8)r(VEKuC?)^%@FdC zU&s}&Ktpd6Z)QryP*B|V2svUX4sbPTDh(-dMVj}M~O@JHPwtu9>S^e8dCu+ zQAr?RCO5t?Uy{9?)-XE_;`!t$K1ufaBb6xkbnv@0hl%Om&oiDU$7JTdi)P?70t^uq zIlJ!PZLuwerOEq-K4A&*9+gfMkrW!*DdzThlatCa<|^S#LhFs^#L%YF`Zj#*ackPQ zV~5>g&oB?$_fF2MOH!=7BRgMkK54^$t>~?f*}dzrvkiZiMm8G$CnD)(Opfk9XyM$P z#!p#ewOhwjlVn&y$E=s|mMjeOxzCgiFN6#QWAu>2;}bA|NT zJId5B$a8%n`qEc7?@bh(V{%_KRx?W*B#tO20T85$?bT&HwK&5RCT2^LDLZ=ox!U57 zw7GRk2;BBEr@zhrY#2#Nb^bdt?|7#?2N91sTkuO8E;aPiF5`kwg89LB=3M?0O9Kw= zt&BKH_-0d7^8B1@kSAJY^`&|2zIr~wKi15r2*RvKiv#w`5Tf^iw?v@+bonqbA`9@J zF(0~V2vw5=mEXsD(&q)O&8#;<_2eKoALk3+l9v)M`>#+kMK=H8;0C^eo<{MDj+(h>mYv)n&I7>=UZfrT$>)m zFGSd`OanZEka1!2*l03VR92+#mN$j&{Lp*4Vy82MDTFv*wm^C)qf}VMrx57K(%CrU zeDY~+_b(E^oHy8jpeo}I;Bb8DH1wglk+gj78;i?D*aT6r^K zsKIR_haMvBOWCz9-RTC-$OJe6uV$bx*@Ac%-IXrIj_tX>UqL6m#vz*rxXr0i59rO!3652kIjbnal z!WZHkk@+XpX{9X_*2ZK*NXJbf8prktFI(l*ETK=b~IE>C`3BAVT!; z$#H;klQ*Kxc+JFwt)sKci?R%iy&v=yTE#>t+L`g85$LSHS${+sw~TQ@je^ePBV0TM zLe^d)0&Gz%77kQS%@wRIX8dcMdC9x;&eN-6%O#&GY#LTK7IHpRBdqy6ke~g2k3-=r z7@bm>01_AN81&Ncz_nhQV8v+!aahBjE8MNn(GsQ7=+k!bYTDusL@m^PZe+Mh18;_q zJ%32X+F7D_pfZ}XRiBtn_2=w6o9D!S{tENV8&PFb7nlIEs9!((r{Dl|!un<%h>OcC z%=(S^6_YnhQBOKzt$EobEgd&p(Qs~9rqU*WXKYpK?tSr8w5|5@CL;x9wTV#_Gd`@X zpI>moHIPzQXEU>ok`~45p>_iWTAu^B-zh*d%FO#LjtLd-s+>SUSz|bhA*K8JrCSxQ?6Z*=?2#3Iz*M_ zmqAuK^QI!veH)~|2|R_ujl!+YH>}6^QUDLOi#_AA|KfMCn_Eh-p3z{f z55JoAeC-pqK#@dhxAviuCsseb917yK*A`PRO!Y0(cF__s{ah--qls12!1L0d)^4sL zbX19$3zJ$_Mg{}AlH=IDUW^?&r$QA1PJ=ltp z-4128_Fjy!7ke>caPwcVnO-0ZGO*{Bea?#EEqDZS+!T zaTBC?#b{;KR24zLPWF4=y$AAaH>94CPKjsd%?hjY`y%YfMghAX2$Y}a4^Ti>7AE61qHXi0P=zP8C@)G%0}6sD3nBeGV@Y1ur)H1(sdz;8Qjd&3-D+y-W%7>OLueRS`?jRsph5~m4&kH*a1Y~(mQ@c%aq>O!FB&TZ_9RHAbrR1iPO7-ScNmE* z=2LK3^{ADv`{5CHW6e-ADx@F(@U~WlOEIoojt-{LC;!4T#sWDx&~n22$&*if>GsLY zt8d8VKEls5GasEsO}?^9$Mr*PnP>ypHkXTyC;Pmy#-8UA5g$@LAby)F3*bvvQ(?$5vVTd%0Lzdt8-> z4tx1a22NZXKhzL428e9@z|KhOc1$euOGCZliQ*;b**njm9+h?_6i}=xL>~Y26vK6v z+<@!lW9fJ`=d;E;^GaBSss$O9#m%ECX7+yY{Eb9XqqvspoS#xkP7$y8<(@^8!O14F zD({Py?y(j^esOV=hP3^u_+E^?ie=D!TG;_?C4{0jVT;B1WNkW zU!FfG9{TGJV18+f4AXdbPl#mw+B#$PI+#wrtewTw8@pU%Mj{QcD-0$}^MPvjK~HBI z>nak26&orUD18-(cAnwx#6`OR!UDEEKLjj}vnD1Ei)y{ozxZtOP=Djs)&VNf*W)eE z$H$Obyl`>q5DGW#-eAji@WJ%{JM5<~l>J$rE7Y<^byMY1t@Ss_n)>mQgO^=k(#c&o|B) z{;_cE9qjo>6r{fc{XRYhvhLK55qinGCHT3mbw;3@0LCQ20Ro#&(3-lpb*tQGYWc{>!Zz+9S4imJx3W?j*wylEx3&C9Mwomu<-y%F!~~k$ zCD*mLaFJ2#a(m)~J&fvD0B24`{TBp|Sp`>?8`0Y|tbzc>BJX1|;^#e*zh7B(8OqxP zMdvU+a2?L2KOH|>f%$-yfTso;joQ_}en*`!nL;u z$lPl3yB9^v-zmX(HaL2lt*R4oOk$M zCs~hmYnO(3Q2fW?b6QLgdil-}y^O3ZSfe;oZ|K*bPb4&P0=+sPcbymjdTHIw+OqhG z^g1GaVY=69Eygc3hRF3=-5<|HYIC%%DRS_9PS8O?sDqarU^!wDRvW1|L(2~ z&+vLJzB4^Xbn?O`K(a3VOB>M#;uSC3NTt}~)$#xinqO$L3Np#Fl>$Hi{CM8^^mkXo z1p}b&({Ak*>_e-Br=!(&(iRbalC_JUhB|Mn$olP@`)9&qdl7;SBJFl2Izsu}hUJrD zW4hcQ-3`H7IqY~uGAb`4z*sdVcmn7y<8r~=tFibMi=yU5z|k33X)Xd!J8n%5Ujpez z*f@dBWC{7SBd^$MVp_Ucu4MGhs5hCz06e)EnX|)nC+S+=mjFSoNOAm5_ zP-Drp+%Q9AUQXQ{pPFZ)8p_YVa-8|!(~Y1I4A173Th5s>5JUo!fQOEv>S3`J(jG&| z^V>?|wye|RLs?63rg5-tBItdfUr>(%=4F`~M(QjzqCw{>%W6rFdMvV^WrBX2Kv?Ug z1UGIh&bCz-Evd(32`+$q(pB2VCJ-;Tr|KZ*s%!e6ENGJ?;?3+|s8zNYup;1q@&!2I zd$qj`h%+#32hRs5{lUR5SkVU{RNFel`$d>^#|2k85Oj72s z!3tR|SvvK-K1+h2c5f$tc93Kh^s{mgWsisoIct%KsQ385a3GdtYv^O1WJ_%)pl?W!`aTosmD+_m9$7PX{ z>XDLHIQYIy>9%W7t1)}Sr(f2J!FMw_KkZESp5nUIO|`vEtT6eC$t^+Jx`bvg zR(iJJQ$VD$vfL+zz3lCOc#U{XvfM10ZeJ&vd8`o}cuZLy(f+f^ABR}CPF-Pm3^vwH zZnvJ4z~K&qz^jA9@>}EEb$HJrYwB8dneMF%nwp&Bd(1$~Fmo7g6)hf)yRvMNHcs~; zeP&D%!`99d@>mZ{&A2`>J`RpAt>h3#CH`{vHKtW}IANujqtFM3_zzf6MT&XSo4el6 z!YlCBp|T3zd35Sz_Or=0Fx%fRsL#>pg)hzTNtQTGNqPU7>_r9!VhSPJZ3*qSG%SFR znJ<`R{VvPA=|0cpay8a8GH~?$NVSX3F}>aGOfxNvXjsUv^51Pzl(Jk#pvI zx|+6{ma~w*8c?R-#A_`1cuBN=T>o0Nt7g`7v@MDV^r53+#`EsTD4o8I=ZUapR8c%BDn?dz9YLMslHMY=%`>Sy= zp)O)fP%dn~Z|w!DZNX7I)wruqgAz8Rj(|6zn8UmTUZCUN&f3?`*OxU{@_8|`zcCp5 z569evBoIsduf}c|AyO%2;F7he zIaLesrUhhZi?t0wU$r*0&(ZC65~B0Z>{Y*C>7#Y-G`kz6*}tOb2bcuV?ww4t4U*6R zphpQ>?Z{Akjen|sG@LIkqMhMYL-W~M8B!h_WPMtIc?`4){Q-c8BZ?hwZPHWwv7pn3 z+(Hw0yASxQWXx>AldmIGD`2b<%Zl`O?gHforJ)~%Tbi%-4w#}8J2;KfjFRN-06E|- zE_n$W@agrJ#xULwj>>tv73!cY(3VHE{X~nYwlUktQsi-YV8z3-v_wdk<9aY%>X5)w zY;kG;fhM#pP}w>GERDMq!xA_C)|IFf$klCAc}Qb3nv<&>sO4)&6=JifKZ^w1oN*_! z**DVlGw4Zx0xL-|IuNNszYQu=vg@r}q@r)w;&@@a{`awglc1%AY2auOUEbMstms{Z z`G`E}{%uxh$7T@uz7G+L0@CFPZ1R2QSydc>#h-op3Eg$57-(751>b3ur_R>bny+Cz zScD|2Qxe0Lcx8K^&kvx7mXVOc-d(M~MG1Tfu>VA(f;pAB}F-sux*eR8%? zMS*h|VyNP__;~v1-l^s+=CWL#0T!gVoehGGw^zlUrNoFY*QYyBx zQL-8Y z5sjJ%npAEKK^`l#{4`cC&sA2ec~ydKQYbunyS;IF%c(8~PX`6HnP8TivYJ#;a7Ki= zd4|(LlT)4ZoRrO=cR4g=lE9`ng7vAQ%yx^`1yO;ejY0SFAH_%Smj-l&TeK~41YI&R zaVQ3c$%JdnrYM&Tg?E=ugjjejUp6}|G>!*Tc+`N=ky({;u9aidKk{W%*TtXByQR(W zb_?NPrpg8h#8r|gpSyTLvP>8CdUejlag+RB^u zYKD|&Z?29eBN%LJpL70w_v?qtd0%2Dsq3!91wPsE8`}03Mm7WE=@>XcEtgdl-S^fv zBdk3uTLP?(dZr=Cc`m{t5@`wap<+Pi^+d;c1ZWw=HvjM_!`s^%YWB}(%8Uoz8F?=* zEy;EhZ}Ak|PkcxysJ$ONsPKco|2)wew?*qMy{+O$T2?(FRb26bsPSN73Rtf|D(#cX z^W4b6@V6>FEoapHYf_bV=O6774t{&RZ;5$PQ+|a6T9dDsP=Y+;E7=l2qZZuktx3b% zd2ooMwAWQkvH8J#O(HLk^YEKG*^0~ZLso>B37!Ko;j@f>!{TRaP9^1#SsOy`w(PjF zIZs<7?Tmc7$jnmC2_fy|CG)9D(4u2vtG7OQZY!3D2w)>9QUR7sulCAS8dokT8Pw9w z)b2>%(^q$@ND2Fe=ILEZjlImUAlYy1-M!j1vi0Pw!+J2jK3&Uqx4zg3oz&1*bmN8a zB19CO>|dnnC@|zWFT+GOf_lw(bP)if5{UGA9P!U$Gut>0O(#Pp2N%`;DfHqW4?`QcQN71QDG@*La z+2Mdly|6jV(Vyh_NV2lBGU3##Gv9XC!QeOQnM#d(8=(({N)B4(%wT}|MIh(l?TvVo z905YToX)OFywYyQx&FkfO7yNwG0#W_$hVvAEIQaJAvEwLm9#IYaM;}@fu{XCQm%-j zH!i%f^*ZFVbI79%;#A=%E+W`oD^R>{-sk&twRnMUNDIXC87w1}EfXVW@|z#Zrsx6@ zc3%^}&u_Oyo=|}ZK@}`->sq6i9aZ}D4fI`#6$0yd3}!1UDz=-+O75Oc+@SX18 z#N^X|Dp3HHDs}R>@;^){?#gKa3w`SO!6qg9Tbug^~V83ioRQE-*=qdt@RuDJk?@*%$ZrK~LYbi+Vn zkqhlNr_aKd*5Zw40*ia;y`udt#xgEs-@w^zoZdTe|&CTH(|NSe= z`1if{ocrK!yJi!p%LcE=EmpT!qy4owR<6@(@pEt1~n0akqpe@(FL5@4xdH zI~q(CPV6`E*wM;JOctYa)XitMr)_Ak4t5Y?YD+1`UVe~vJ$-oylpbr!IyOI4|#-Qx26F&tF1GT0>a+}RA1zqJ=v zA;$$PQ|UVUn<^I$kZ#S&sx0F#Omu9mj44-o;l8lOp82DXLcXo_NB4EA>x#*$DA~<- z-yrI_0F`oBpMjaZ$?RzZ)R^84>QZbfm16j*z2$?xeqKP2i#4vgC$zi*2{L4F%N!sR zt?cF8rY6QQlBj)3jF+}U?km)`%~R8a`xJMiKUplqPGU6O?UtBc7%%E5fg!(ZWDp8U?Z_0G|HnClIxspuFvss6! z+XpIs-J;`z`68|%LhTAid85qY(R7g#NiL(t>n-2yh*#|iMsJ4}_Y&SW8YZyee5bI? z=h}H^%^ewY@$A#13*{Kj_>Vsd?`z6K$!y+39spLG$ii zgqBTo=Ul9WXRk_FT7K8x?f5NQWg7jr?Kkdq{y9C&Aszt=C}`RGK@)X09m2UjzGU&f z;@=$V>HWpisrJ{tlH(_S_74gr<1dW|oD<+-L-4^P^%5t}(7=7;O* zT6~jPNS*^5OMj%Su}adozkkWdBxl>qht}^(EaN_}+uGU$t^_a?IafUmh)-1yPcTwl z4JNQ??`+Z8e@>j9WqiuJJ!ES{Z=GI6RQaSFil9}8eo7^L*gtmI*TFErS zTz1WA!~U~1eEw>h2|IB0N^@Uh(5-%_NeaxecU>!=+XKn#NpTV2nPjaUZBKK)DTrxG z7H!a|N3it_(@pvBqk+&BO&TVDC)q`XYf+9PF8Yr-kgKIR2f+LXz)f>C~_m zScBS*)Xn>#c+6egklv6%mQmBl_KMZ&iNCq}Wl}}i%~J|36NcCSFE`~uvBCf3e_js# zhhssJr1^L|dg~Q=rv2^o|4TISe|Qb$p#`3i+(qs$^encuM8Zu_oZa(#hl2dv5x zdA@X;dgY6l8wI0sqHN4XSH%tUt-QYkf)yApmeaR}W<6aIPRQa-WvU0qT1|@# zdw9~6S519#WeL}Osydg_#D6$`7Q3!pG+uEh8no;0W76uodEd}(kzym<=;)ucwQu(b z)6Xl~uW2wfCx5;le*UcFaOk7)ImpN7HQQfj_N)lNE|9kMavz4hYH2c$HvOw|Ap|Y_ zDN>U`M1O?m)d9^<8&?0BE$+=FR_J@tqxZP5kudmRZIybTLQ8!`3TrU3DA~H18y=T2 ze(>kdf+9}u!W|DMZ!!PjR1o4T;~z!GbzlCK9eU+3uK75&KzWo&zyos9_A{Gg&PYui8$qkQW#;ZGyDP%6_^lJDIz`O&Ro$ zK7(<{DoirU-ggC`|io3yqa{Cp|=NAY|_(+D_%! zU%KmNQ^yQ3%FClz*!y-@*fO|hob)O}dglf{Ziep0vLQ=)xYaU|r%ZMyVo;sWp8}Wv z1t3i=h+(;XFX0hAn`g8smMXaEDuTh>AB(gP|ktjn=1o{&JA?u7odFR+Nn(l7be zO9V1%bX7;{rlsX;oG}V22KW&jQO}goME|wb7i2cX1v{N zl_x(a@?Uo1Yh^OcX-$c}H%P@^eB|4w6=yc~WZY)R=c|}Mc%2?T>Hd027|K>FZQUqy zx4l8~j%Sc~svD54@X9{6eLH@Vx=xB~z zo5R0-d_KzSR+<=>wjB#>)hy93fGBvVxd(qtaCX*l6p9vagD$65TuB}26}?M3oJ|Ok z)=WAaKcMO5`8fi<(u!2?;_>mFUE2L<1J0v-th=*Qhit9lPRR`RASZ0n%uf zE#?;xdD6lfR9OFKkP$-kE{I@&RpdaLau#JrM)iXd=sO`YbLFe0C_hYE;L*&Js#yc-=>zuyU8LrZO#5;o>hv~T;KBIizrvnxJ9|rPmncc9f%x~qG z$1Bhheaxi#s#EO(L2iXBEIhu63YDV_b7Kjw*z}in2i=!dO;-{KV!HqV+SL~H0k~*0 zl*M@Vk=fb*V(zS-+Wf;P55=LldyBifwzNo~I0Sbqq`_T_J4Hj$l;U1AxJ!ZJ?hXZt z1P%Jz>_4zOJF_#p7w=UvxyZbE^L@^9&gZNeKZ(OXjK;S(PL||>`h~^tg#CQLI~*Hl z?-_IX!9r6(<@!khie_?vm)la_TI82f zGwIMMtQBLQ@;MU6`!O6Rwt*AD>kGHF-dDeGlWFYZz!ugBUgU3OYpKXLW*9~=&Jb*w=mZUcm5);+o=CG#hgUT}bMM$dy*bk1y<~BizSt_We8AsRSWBvPqP>; z0#?}klfNwJ(YRY&IO3VVDzf4N5^0)#YV*>vX!l${*Wrh7uD6=0;^{RznvYe=i^!3H z)GGc`l)OI}C*!1R!6+i_F`scP_O`A#qmVAKHQS-KQbH|fDhITzsH(nV zNigdVGop{e)M_iAc)xxn9&xQn9LR!b*sTp`5P(Ik4&)QTCu3yrYfSoG9bhoHW@MAB zTK~g*y0ne_m$-ma)}OE}8`^Aa+%n-x3r_y0 z43Lkchev$HPie+n#-vullT=LcM&%n%XaKb7Xq6clZV?YNttDQL^x#5ys(u`DnG?Se z>cWO7{18%!I5qk%{S;lUX2MdHF~4G9pr$lmU30EEvK{>BSkrb2^4VAkypzInr+qux z#>}Irmh6M})ktp$uT2>1GW_=vMzC2^EqaW1eY)kUvCzaZY808}UfpZzyTF2?KZdmK z-Q1V(QGLB4+h*-dM@MRM7&FH@v3@H3G+83CgL1Mvo6?GpDc(l2yz7lv$FiTqY zd~!cF#&6XTAEesYVS8ORSor#PLA_om(N%I$1GNu%V&*stG)wy;E+?!EClXv)uf9)8 z2jT&8Zoib@#BBl(Z@cfjtz4%E#;D443`-d_zZ8raWUf2Q zoNQ>{>8Cof)q2#<*78(iL%>4POUQ^LEM15Rg#hhK(4MqP57jc;TOAP&TiTbgi;z?P zi@WXfP|s@V4;Siri*Xw9E(Fz%j)h&&pM0IKL z>kRQo=$RSV5qdCu8YXE+~(h(}?|fq;npvwXkn!+XMm)CiN>f10utWj2zD;uaJ>DdEMs{ z8ApoFi^twNU$kB^Ihv-~>Lw)O*yT&xOhg)w%;ciHr#YOz88RE@f2C56?@T9bI1jHVK0jG?4GkXoDS;42F zItB9m%kg#_1ko+ z_t9a~%2#VHkkLWcYG9^6X^f;3>qP4Q7T8aUl*rx2R*qRnuj}Td&kk+73-N}c54gf? z(#6rgjl6ihX}*GxF#cm02&{B4N;`5op3$&0=py>>!Z&`GBJ?6>sGHg|hNlEh(BJ{5 z*&Uz(W@k1VduKQMM@P%>dQ^1opN$=ww2HE{3iM+noXWu4MlYI81FgzW7FPyOZz}_Y zH2o@^C?ATK;sog%)I)sa3OwipGj|xp987G4MM9NO{%TIy$}k$pkGmPwxP{l$|5N0W z$R>NPIzj@UoD}i^dI^^Id*wr>i>V1N#d%qX!+3cW<6yE2d0bcJXuo`&mhNal!#}n3 zi4Z)(tX=o2H2y)2xSlFIe|^{KmpMI-eriDLyl3I~=aG`G0z~Yi8Y0@F1s2{9G1dsR zDK-1xQ{q(Z04nz_nK|VHI|r}ZRF9E_*qT;l2Q}8oCB8Oz2pR}!nIm`|ebBx-m~T|# z2ULr#VS^au?dO~1ET+`Z1XPybyU+Y#aCAOnOCCXL*T{`Td$cg?D(Rwol?#iINB|Wo zt-wmkE87IYl#EqR#X{sGpL_1Y^b;)#M@Afa3VpLO_Zx>0DJ|_!DMZQ;Av@fPt=9(s z?ll0Jc6yyjcsLpf7JP7>wEYNO=c1y$wK)T!X-W2mIpj3caz4l>3a1ntI55@E+Y!e7 zo_#eKWU*ct-ansCVgc;k-qnax#nC-X^`c`+LpJ^l1kUr=pfgi4@ryFYi6ko#@lhvp zQEE3!=A{&(|Drvy#woO{IIgPMXJJytt|rM?<(7g9j4sEC5-{^6GTCquvccTaU3kPU z^~zuGTl4;+aIiea8toM;9o4UQEtrVR`)73ZI$4QcocR-jPKnSE0Dyi#3r?MU%ipBe zz_y_0DC?g=_U2&Mv(U%;v{3D1-ea|RgO9vaf*ohk{9M()Sx45A*c&%*SWuJfx87jd zxj<0OQ9k_)I-XC}r%$j;!r+(#K6eU z!A!9$sRCx3m2AvzeG3y|3=hWZLWILrXL#9FW<_k_%JJQe1^Nq3Y^!8lGzd2^PozU5 zrT6{xi^zV; z%*qN?dX?L%$vY-k0@KzoNtcjNNP3{cPF((5_(xwnwsP$~YF;ODL?x}paXvpOX7LBs zLTzci2va{ezFAAVv}4HeB(8)~=Iec`B(aIVz4qi6bw-#pjbwJJ5?%W!9HEYDv1o!<@0q_Pl+!gj|e~ zw|bsvEYMn+d{=Ip0jYK;aaQeESYpyF^d>=qM+5U6BUhLN9Xyp#+M;pK&x{9#p^(lw z1Z9=zBTCTImvZ7%qN^A&Ugae}wSjMl?x^0sIGVdx9nVA>iR;|mHi;w@dlg2|xRruw z7AtT$es(tOzWQJFE&M-t4TJtA;#=9_J(`6b!h5|#@KMrfCFzy=4t249MsKtXyF-X8{_M-rP;5JBS^dP-qB5n0LRLi{Yz+g*dAk!T-K!M zflcvv+~}{nnHoX8;B=;eVE{u%Mh_;Q+|D-$#^Kgr>$vX5(I3%GC2)u-vo;ifLI>7@?JD2 zR-9zYB)PvzN+8v_|6JQq(Vw(tuelQ7tPS+|$q9&Cx)gMISjOKY)$@K-wBCLO?1$6K`3?5IyQq&eYBM0Bnz7m)E_RK7*?-Dq%UcWbfB-|4JXJS{l64GY_XX;a1&665$Qn}`Q%Y;e%Cd(#wG*p}q zg<~tfRYyR{BIzk;*CKAxW9u9X;eDtubG`H6Rg+V)8pE?KIBIPr`Uiu;;IadD`5QI7 zdGhZ$0JMh#+1&9C3AjPI=~pxo=`njJb&u&EZnz&(eV>v zlc#@2g-c)~Q8r?JGiL&aFYNyv+CKK4yU(a`E&g~7mZnm?yH=qyqD47o~>q06?Iv<(`J~CJ| zHZOE2H~e&a_Ykxu-YovMj)k&0m3OeJOq?q!$rC_UhmHGnKN&1@DK_z`1HT!qJ%hA#)EmCu5 z;+Olq&86i}9~$U!(Y=$lP8}#)tnvUX zmY#U6v~gl>Y8vw=^<%Y&@O`}ufG4s~P)`Vl`zp``0B657=unw61^tJD(qSQ1>J<7l zO9pS(OSxSU>#knWaR<*u2E+1~!fZD#ptiUXTaGc%7{R>78?ZAx5PwR6FSTC9KE-Qm z0#?@Ro@Gs?b^NEe-n8}rTLJGz@_|LvXv_DqPevd|1i7Qo*+AC39Y?L5*O&}?r81jX z8E$-o zJl|C;D7qlBGGTD1z6wZ5Y=ZJ@j-yydpL@UMd&@$4I_J3gZ8&VoIC|(DH_!{hh=OqG z6+RBefm7ZNN8MPEoxnL^cx8@0!13z8#-F3iGJ|OYa!gu8X=6$MdBmJi^Q!TrJQZ$h z;w%qrGIlXOci!+vw1q^l!CK&}QU9StSbTs}hF0ku_ARnKDDb+7@+t$9PL!Hv8_U^R zI>k@-l)XSyZAptsPXUF0gQ?O!&Wo;oiw-7*!KCbw2mRiMPY@_spj#pPcOHBAX8esW zTYRrE`t!%SKCi&4Os3vkJRnjEI)%4O?v1Wd}68}x;;BRVKmk*6wGhw!90~Xzwc(H<>K8H@B zMxK*IjA{n5+E(vigOInRSSo#id1V(gmzvp7NcpGpoZv}lV9T+MPFl%G?1QmhDVG;q zqU{_%w%CNwSTemrKLW@s;aZGK072F5(Jje!+Tj`r5FWV`jFLHY)y}0abwkOR*q#0* zK!Axo(!*5LJF$f+n2?ql{3Rb%e&gSJy03(al|r^*0)QTibO;OGsU$k;SE}ntmZS(# zKWlqNKG)zQiMJXm=((g5?#i-wbcF3s+nkbOGaD0}fnu|Yp4k8+w$n?8n?KBU_%3#p z)3PEOi^q4(tJH8|o|xmc!t-|m1txC-mku3!fV&dbvWkXt*Mem|nM7sQ)7;Iokg;9& zGc@PFBcGR&U4H{4u|$h>TDb(gzfy4yZKwL#(-C>xP-7K)=VP~q8P#}}hms5>hJX(m z{RE{k+LHuMnwmes*U4E9Pjym4QJLeaoNMiZYe!F%uDzc$%DmzmOzzC&w;!J-9F!12 zboJb-X(T3ZRcmk=5{eR#zwEj#4vZXG&}N|I_UFc_)KlWN7Hk#Vs&+z1QR#$us@AVJ zg@MtY3B;a_kJ5&E8S3LL-`ANXmLkqSU62hGovHK~G2dsRC=J&|e54TXgK+N^?C${w z%(Yn!#r|ex7>$XzGhw2L^(;A(|8%o?h11P}>?*2kGN};E9F6xrU`_ugRLPml6(&>Se*BkO8}_QjGE%ae#P_a0pRuWx zCaM(dP>)mClJJS>ck(GXrF_V~#gt2#%pFJ0RKQdqqS`wT2Cnv;Ia@huXfD6cBhCgI zbBmk@k#3w%y0F~*O%lFcosof3K8Zj76bYyc@Z05<)+9t62(Vmj!D0QCX55-HUX`sR zf^=HGo4v%o!8^1IZXVT$+Wu~$nw;?flX8NnoXXy^Rin*!eQH4pL$nB)E zE2C$JW1rsf>JD&t$v0EEwY!LaR z21he*krP@7eicvsq)3snl}M&ow!Vy5G@ChF)m-$FRWaVstU-kI**|Jrut7_ml6|`e zh(X$bqSfbSqyGCSJ7vnx#X9ZYumFXnR=bnFtN`HRA zUA#ed3E(+iINl|TC!Ak{Y5Oz9i5r1Z;|s8|l_UQ^WA$q%h=1E~x#?-1Nc?J=GkmSD z${q$`zT-djyFjkm|LtFlZI?!g&>AcTI_zwcoTyj&Uf$a!9UQ7$1m|GSk*sQ(+|G)q z@j6(*F*8`BpjJ+cw-4$GxBmHs9&QH!@l9yM@G0ox$IEo;zI{EQ zGzk&&AIcA*b3Aw4TxzI2HHAy)M4ew0DdB4u5D!!7ztSvLV6`H)hCymE5SY$8 z!cw&UA4-~FmjoQhK2Sq7BAib@jtJlxty?;BFywiCn58D1XQ)B_Y0kCLOm)stTtnZH zoy&_>pER9B9u>T7_ko6+^P8>R&ls$Y>dRJ-2r86F!Ts1oyiA>_SU&pxr`~iIePw%2 zh$Aibexdt^p9#NMUww^4uCW7<_+5nZ58pUm;jQ6BBq4&bZ+eNW6;Amrklt=fR^^y& zznLxX=g~t+sq~TSas`0*tQJ(Xsa{4&@en9hLbCD2EEh8kl;NnI?q@AY-J@ujdkwUr z))_k>XR*rwcIOBp09$VQzr47#s(}%Qs$K$3RtAJRsNzDjWa9fkJ1?N zQSvy-l(-Ucf|XdJbn3V*PWh7+7^!)7-Cc(U?R*SyNav}@nn_pr zrZUL?JDmnQ|KPUZl5uK5T%R?k^{*zTYGhfAtO~Gyp=32a;b=aBOS$o9bzAqbdFG?7 zFT2U?M>&~`lxQ85+i@NmJ#&uf8Z+I4>@iGa#>>Fw(&YCdKM}Yal+G=DKRjTu%B?%+ z85<~nQKTcSSKgI>%;yLOxVwT@Ipm8 zokXpkIE%c#1$~g=j+#-<=3bxKhotq2I;@W7ox7M)721~&p7egXURtu0=(9QGw%gTg z`L*gnw|pnuB%m)y3ZW5JQ=~H1D3&Po(r{0013b1dE=X?9N)H9D zM(rcdODl*^tf~m*@WI3HpXj9|54a*#$|jb|Ms)juxvU%-)iffA!4lT}p;$v?&Wil=Fho$Dm1;;#yIzBn z6`wvM)$B$-6|}>(n0q{5uG6HN=8>nG=AJ2&cgU5&at`zWPw2Dysj6=V!}n1c zEg@1g^z~!UU*b;zVzCN+!X0Hnp|=g^-^Q4LwED`BoR2W3WR=SOD#4DQ6g`;AdK>rl zT4I$fep-~H$+1jYdQ6aY_d#hB^+wf)%Ho>lMcq6;hp`5i4ClPFyhSyZ{8Q5@A+&UR zW+YW9e7_^9csNU(FfqZ&7dmkR1bmG@uXU6NTP- zldh3fjjL3PLAP}Qbao5@yjSnmk(1`D|CE3DDUPBv=iJ#rs!!A+1_>v690` zg(&Qc23*WnouxWSu}7cl@6Cy-9cWb|DHNF1ymJpFoo-YXh%!-7S+%&K4#08t23g`o5NHDJYx4L0 zeVL^!@TZh}P&E&ye5Rib(j-X!);!D0YOX&&5yFN z>6Rq!t^`UfwLys9-Es%w9o$60OzRr(paNmc^+op<<(bFNJ zjGy__T4CPmjAg#PLwdWKkF@;dRCDFzn#(gzf_;_+cG$}yW25ow@g|BIzW3jPUzGf%R|YZ92#9 z=gZwhjj1&vs+%)ZI#0w{pB62Y4B@=Sw=36PGzfcKJ^!I2PvmA{6TDhe_w;F|@%mn8 zxPKw84EtXETbA2N2DJSBT`qHWTAB3<;d;oo`Fw*cII0>*K6io(f+ zULF5V>()co%lge$xZ@t`gzwSc_d^=~{%J?E*-qiPuGnuLAK*#5H6gEe<1(ok);Zf< z-5UK5OR$mrhnElcxk0uz)ySgn+Kg-1+F9G3oWBlCy*kMI@;?;W#rL}s^zdPsht~nS zHL?%Z38b@FN1=E_2P-(h*^aY$AvYM3}d2Z1s( zy)d+t{z%lv0d()>SXx|Le0PsCy6%El|9cHnW2+7s-7BB+yhVQw5=6W-$yh?PD$KH) zE6PTAT;G}RZ89JZ;7RExx$sdrBYwxekDj(>nd>h7(jEBfIVq5S zs}>iz(h2_yQ3^1e(84XUN# zWp1zfRBAt$%s7keI0mraH($eno(Q~T8U6ns+tR0ea#M~zuVa3z=Yp8v8;f-X-E=yz&*;w_bz}tb;ttbw7{lt) z*LB6OOI~2Sa{qhHn>=jbpnh>ggiXAkzQ~;G(R{9D1^dL$+}vxquNQ{{YKAW)h%(^}h(_UxCNl-iU!MheGi z%1U7?MDXNr)eH8!Wt zn?C8{B=+rITnt(sSF|`K7HgXYOy}h|IRc!TL1s_uOAofmgpcxkO4xfg2gA8gnM1>ZP|!q;FoU5SV~n|UTNknf!k3559y-jglnCVo&0U2`6T(N% zC;VhwQHBdC7Lxu$30^f`xxc>m5_94`o;6swJ6Tn`ThxSPKJag04VZEF$O$kH3XJ$| zg^(L*ZhvDi9CV<+8sDz|$Yi!Q?7*yq^!X@c;^BAv+Av+kt5lQDF{=4E_Sg8^;I~K% zd>#{J1ZN?Lfdj6mCI@94tYyTopT1t?L1!fFpg@9ln9~Q6LB_C^n|SL*d3#tB#6?!_ zL(&(%{h_V?AJkOzBf3L|H$y@mebz-Jg4TeMwY@TMWn+!Xr#+h_%-t{oA#sEGtrnP2 z&lacUFL?izmcCWg-~_aB!1Bnz)ypQbTzo{yqg+*#TxEDgH`O`!=c=4Ieb2pyRgT`c zAfsUyQy#XBs~()BG;Bx{e;k(_E)b^AE-_Q~cY@0)&&g4#%8qJKIYfWH_NH<*Q5V?R zG3RB1bmMPsOo|SU_XiCHWF4jg3@b2t`N#oWEf(nqoL_QnSZ~u35>Q(rWH_nVQ&omg zcw9fS4$0Xod?0_5)@d^#=FI42NdF^&0ZYbK<`scj-IwiP@S0@?duS9&E4rme7&e;A z1h87CW8b*(P%166F?a8rb7Z+y9mdXUAujBbb`$_LQcC2Jd8?Wz<$0tV7b&5Gyk--t zsd|l&J9ls1;V^6#2aw=#jdyO?yIn468y-z_n%vQrm8vSYNK+yeJ`{OQ4%`}dLK%nR zk5oxyuSN~iW>MeKstLY+uZ3co|Bg0B^zGqUxp@nhjl$@t>eg$BK1OEw=+p3zs;={l z)61@sB9el)FG?(&J(H#hXem7s%;;!Kw^h)lJVu>aFVDoyN2y!MGiDv5gGQZ^0E#JB zvs2>(Q642!9RaeqHA}L<9twgAKi*_a%Fnu~$}H|3yHq?FTCGU0YpP)D;=Y#ayVZmw zDu>(~YeHIJeKruJUQ63vSxlB~T%B_^UdY`DYldB^8&yNcUT|*2a?6Om(*@=0#i^X3 zt{z0!A$R$r)*oz`YGc-b)xO2@2S)rNdjVuc%5MwAKl9} zY2b%Li53IX&6z*@MAYd4I`9ms;-xp0ez4CKQ;KgU&n%a`1(N_Q8rh@U(rX&$`u1GCcRO|6H zLr1#QUnrRMdiNEWX}r39 z*sIJp?DiNdUS(zrB${{1XTGa5`;VuV|HlL4t?+Yr2QR!~`%f3|!i$8XIqlq;Mn!f= z|2KSu^Q0M^BBOL^W2E#$t#1jwuFxcC-x2p{Tn3)*Ik>2BN{>g3WCe>c-4O`C)7ppH=7`qr%afb5}S%s=DB5DB2C z>=P_JN(Pa3=FL|>!zkgCgZZ=wv_}I3QYRv^jB<}1X?@-Ue+Emhl9jTE-3pU z^D@L+K?*9>H-1w{-Lh~+f=_e`vns-5YOgIa;Xs&wDlYZ9+*&O zYCvzF9^)lk!dgJ2y}m2mdINh@|LoB)AY0^IEq}(abQleL^&U>0ynq;EXo-n*&aArn z#}dF&4JYT}D+{a(7kXdlupuMSkmWhJk;arkU)I0t7RR5uvvCi@a78??P{ zquD+SzJ6A6xFC;?3)K5%eB5R@!`tXWuyX7loJLX1R#~YQPz)$(_zQbTM4q>tvL{Nb z*A&Z+SMm$Xj|El~OZf^bHr2|HV@niKDQ@x0HmGYzB(@W{jG}`os(upv!LwXGYPe4} zRtB?F2e`R_z>fAbpq$v8{kVyRjWMse%!Z64JYT^szo+?2r32mD#lG%PWAATbnPq{d zGok?t^UjUxLc{%SBpYk}1#2gl!>=^qz+FJg>Al$}U*}Vc@%OnwDHCH$)O=ZF}C;V{hOBaC@G_ixmNVJId$w{K<6c)j0+OsXrkw6HJDY@#`P|5yITu0gbxefz@Z-n}U3S?F`^bS1T}3si)OAzJxM8zy@o-2c1$Wa2~UhC!fU%C z_gWho7Qh|CAaEHURPJYa)o_V&wS{lkF}+BmzvB8Fux(B(YKNOUUXw)J3i_truiml- zejxZb(&W~HBPMBiX4=3pS_zh=W*%pt(HZZ|DD^4?|NmiTlB2s)UH9DZ}_0rq#D-ryvkjx>AeD~ z48m_pCW_owa%(yFBd0Icdn3qq#Zt-hnFt#Kc%@P{NIeyg!*)Z6o?!I7BDMId&cv&K zZ(5wyBDqj(IbNq!47G%OcCBkCFe?1*i0VGd{Jsg7izk3uPm0U+JA;F$6|1-1+6N*a zEBHQv>DSxu?S25R1DEd#ts5aRE@G)Cr6p&l#;fg~i`~`5PE`-wn<4vGe=`~vixVfs zgoiY=zT#+OkI>5WM07KJ0yV4b8UV*$m3il3pRI_82)*BL50@ap)Qe?W+iSxj5PBu` z`#^Mwj^#^T++oI$*bjYsuMM*LLY~kJ{Rkc(X{MCaEsw?$6VV%sf2|kUA+ax#v*utC zb7cN|zI&OMFBAkeF%POgx>zg3iZhc2L{Tg@&Al1q@xE;qs#Ci+3amO5>9uXO7Z(|} zW{&RL`gP+bS}_VxRLG?}rC8C)Q5~gil{P#ZtzWZu`EGgn51&($GO-%z>nS=rlw`>X zP<$^g>G3(!{67@y;Bn~dYnSMJ4CI!p5RMA2+E&vLZ|1ZyhcGN3vr7mO(BJbPit}+@*VPWbm0xQ|w!S5+VX2Ux z=6v|+e<=Eq7Kg}66qm%YPY)OgRqT1>H<-W!4qQ_DUmUJ7bC#F3X!{Y=oZJqGv8dfF z--2PPe1SjZdXZf9`J_yJdVv>X?oL8+5N4B=X0{3Szca4k-Ez=XBr@V3(nZQ?cYSXc zdrRhI!%9&g<1N{%M3$avED0DH^e`552LkdXcSFbkJM{YbLW&u6pR2W?9jN_(`U`}T z1@k{TRVZ!!S(8Oib^ly@{KQ8CAtY48SKuNm>s7$<Kg?Ss@KrzJHXY z$;G7*ajE5E$euBO1@RRkV1mKNusDvI@B}2U7Ulo9>r9Ti|MpujOBD+y8UKy0BKZ0!sQ-ND6?4e!64!>i3PxOB*j|+jOZE z>ooSSMX(RorB>mfY#pMz{gry1k0W`=o}c05lQ`-JN?@Z(`Kn1xKRFBE+Nms~`YRt3 zOf9m7^<#31AbfR|8ELGv(08`aHa_agTm&Ig=>MV6`T{0XwbhNi{ZE!xU1rZn={y-V zHpd>cg!~hNC5ulH$h&Ouf%pi3obCUoiIgW-U!*q3WoB{qpc?ViPPE_nC4Xdfzj@^x z;g2`z^5H*}g)=GS+vX~y98eP6{dXnyynfTm=L>(rRoNoZv>K5dLZQF(_hDzICO=)V z_;(Mt(7TXD3TrO7>rlL<{zKW>5jr1AihVWO95peQ#*=O`s_}~W1=VtZ#opEaGRN`(mAJ# zPwg1|n`rNBC^m~5cjXuyXPh=fE*799B8gsAOF#4{G}sh;QDgBEz76D;GS-GPId@kh zJbFX$pCrHVvxFTFT}qdMZBp|6I=>^mDg4 zXCo!nCmuYU0(UQ%-!ou5Y9@7r(0oooo+}%gn%ff#T6~$pOn=kT7Wy%##J>`M^&=g9 z3yg5kY03^EG4$n{L+HM1ooNbqtfjRWxHL8EMOo$X_e`_q{tN_YJ{Tpd)Qz->0!ONH zLJ~G#BWqq|JK>ZApqMItPkbfm7?Co563%6`6c-RiM*=JInbtRv%%T78^w-Y>VE?Jml{?JZF7V1U; zj)REf=n?{T5@k$kad;RgGO(Pq3h^n}Dh@mJpnR9pM)FAFAQ3`2RKkU~*Y0}1qd)IcHH>rAr&0t2LEN zVG2es{TRhq3F3htEUJap9Qs3YIi=>ui?_yJKa@MVT3}7hMtRzw8h*u!tEIk5983GH zd7BgU%z@y2Bsrh!L1g-nU26X5uP{7Xu=}INd(;|6o+O_a~?O%!-*_^5a}a-ERDRu~uwtZw*}i#J-L7Z&5z!I){pOw+4)vABIKQA00_Y0)8Zt>9h@%e8`Y5_zwlO%2Ph_E?Dw{ARIlP#;}_AX4IT{nqi^rjb#hMMwR50eG z(G=LWgWIQ2mjt30j;6lgRXW$`f`@=i zTpqqd<`_6?&jZNq?6t*pa1+i%RVbRE4`!@S<{Qx@J<6Ci{YA_q#DlGa`lA*bM0^S098?e znf^ghsT+Fkip+qn5&CbZ%0b)ExLfnrNQ>i5^Z?BUw5&06rNi3jWf<&37N*}d_c8br zp9pU-5w~ACGPs2oOtG5tH-)ryG*pdFrK(U5CeV`t+xl*bE z7{S>zjzMj%qq<>|e~3Ffu)X^ME38=Cwvlr&y^bo2zsg`hL+8%a&+KRExsssM6s%*W z?$F62U$qX%{Tn3|DZlng3}c~vRZ`c8hHB5!`?4SGx1j7D&Z4J;Yw-z&5u&l|y6NN3 z9`vBR{9sTSSD{T_b-hPJ5AT0%i}40+K6GM31NE=Ga(G~QQ%$zfJ;-5o>`HEDmG}0g zGvFRFm5hqvF<{G_Ukt#)I(O}N+tv&JicKyQIpm85dNl!ftNHtfCFaBnrVzo|GX~Mp z9!juMkMoZL{ImoVCE+UvZ(r)2n!fEAEmSO2<97r$BdfW|g;eX8hpsyA@AlWFEh+*0 zV)N}jCf7|j^iX}!-)@3O|EFf2vflneZ`!1(uV0nvQ2H4?iN6lG%?b~>`n`7l5mr5I zxP|}2mYjMBE6`t0CV8|%LfRm2*!!KkQJcFG3UCO`l`IY-KqZFF`Z2VhoS@x@kvGOF zJmHntp4i;Vd$t-}9bi+o(`j+7QYPeCoIP7+#9X|qe0gIL%%?R>O6Vu+3P* zbJpvnRh3)`c0X3~o#dh|voxi(q(&zK;A)}m=QhxH3;dO0AQ}p`4mP%*zjtezV1E0Z z($Ywfok}Y{?W<}s;h)wX+I+AfR3crTX z)>q!;P+NK=lv|_r(rwKbDdD1QVJfmF^_cL6hW4UoynBzItmN9t0jEd4Ou>Dbv4*xs z!2BA3it;!>q?b&{_s!WqBl8WEi(^uYW|7Ont@3>#|JaxIa z?`gCyR;-;kS)m=h*Hq+tzh$z1()Lu+7h}gdlZ$W=$6G_PcfxF!trmiLVLz7CzCM+| zfu`mAsv=t_iZW*E;~LFU8;+6rnXdDK+Ga;17HG(#$@7qSR3Im)7>$`pP0}D?^i#gW zC+PQ~=^82`axDgcq`79v>bvAf?Ap{&fcvXRyRn)%{fVcPRChTYDztHlLR5v4Bl>tN zOw})0rs0o+UKmNV&XiPIGvxY?Ud(IN?HJ5ft@L4m8^&B;6}qN;wh|)gP=7ISJGt&_ zX0VRc*L(Yef)_#}ua8Kbjk`^*SDka5AkPMBj7}lFGS&;oAp%qz$*$6ormnURZ$Ft) zL>Fcqj`|Wvx`VfFp&{@)c*J?J{(lhnmSIi5@!vj(grtc9K0!ox`LDqH}XEHF@1oQK>K8Sd*JUa{FFI({8 zS69iNMohf35IzL(O8jX_=hujycC(AVz=-KmaM3#>TV!H)VN@XIVX2&$V3il&s}6LI z=y?^XANtB`T={*8K#sZ3MrzifO(TrR8-Kr(B-yeBQo2}Ke@ru?|J$MfUr&tw$=f@~ zKPb$T|9E3@10`&}IprynVXomDAd@_=CDW|IS8oB1(FpBJMT3*z{kVn1yObkvkx!Zd zd=Tnf% zb@`CBS45rGI4`>PQdV?|QgQCnv0t}kT3KmE>l>m9LC>J7sY(ESRK%M~7b67*rC61# z0Hk3KN_)9gmp1-H^Tdy}B zZq5GR*~Q?-`rarA#a#(|7DK=<9KL7x0^_P1=P4kJD#pNh`!sog@Ln-wcf=k)q3$B@ z2BsX(e|)du7zWpB`!r-R^|JMLSlo*j=i83w7ANXaU`m9~(kyT1q0d~?S&Ft+y}?qm zE?`mH>ng$Rcxp|(kI^Q*E$ty_o0$xmZGsSwz9E(7`}w(3A%_~dX^}Wlq`ta)ahChN zfQHO4zY@wXrCXuXU2i^Zl#vH)53NI!!7)?C=)jmRX2^@hhI6b#|z#ltyFj;Z+QJDBW z|C&7ZfgDcC$2n2n2S<2Cl9Be}1&Q0)&ZqWdS%6k&ibCt1LD?F5U^uPB${E4+IoFH` z!1*`KB`h|OCMuK(bPY8XDA|!^&|mVc!#=IONb;jXE>+2O)lE1D*dmB*?O!(liYGYs zYN|)AF(ER5Z;cCKdTllm!pNLujYxIPUDb|5xs73%<^-MgUp*_;F>%kMn|g7H$Elbh zXf4h{y778IzC&j>G7xF>zXd4QfGUjW4Ev;^q7Mm? zh7VL>DgDgL|6w_9QBUn?Js+&T*Fph6^N{(2#=)|K4nrxoI^q}IW=SF++gj#peWKJ>Ry3a$^(KeHFq;{zU3tt%a6;^Dhq3`%S6U(_R;Vj7} z_Ff#$>Qot?3X1K!to%(QU5dwi)GO(vJ{3J@S!+(6U77GD4toXRpOt5$lZCz@g`LkE z<4?kj;nUQE9`jQbkr^J7p3Nh7__RF6JU~+kSE-5s4#w|v5qKuz~nXhdH1< zcTm+9$b0ZAhgBMAJACW2`~s;32{u3~HzDUoVOvqYvf_I4^wYAOx^qA=(&zQWC4NQs@hwkIC#c%XXWv6&Wh zn3uM+((1f8(2xOj0qmEi9gY`RvDNF#9WlKxb^dEOK3QPI>u`^iVLca z>)N%fhe%6zp4RW(j&Rrm-R4y-8uaFZ#o$wVBc}b|i=3agE@R{c9kCvsRODXD_(MuHbz3>0SG8A+dO<5J(&YpO-B*=)aP|BWBfqe*!0hex#CaIWb zz8;O#UM`nTL%>+)mq;SSQipp}{uLqtO32ViPm~D4+~WXd`SmkwG*07$Y0voIQ?E6U z+E{qf=l<><0O*q4gxtRSjS^+AA0O{FGfZn|Tc*I5$tnuWXZ3u!JXbfv6BOK{;wY8v zT?K%Num1fHt2UTo8z!ktMhEShqJ=gmI@{HdGZ}G8Z1%JA7@DU>=xC~Ucdy^r?l2E? zHn%PMf|YkGa#cL3_+OF8ENnR4&fixa`#R`Q86qP6|1ld0cnV_}iKM;Gom%UIM2g|FQSj1}-2a6WOydtnyyQWH^RGxIUa zjPOj2?A!8DJ{iOVeqWvr=9(Wta1SmdBz!GV<@ooPy;Xy~OxkQKxM5pm_mLBorO7kH zshQ-gCGc}xyW~`yei5eDX7?}uNA8u6d(eAv8fT1$)5;~(?*9n{^Z$*{@V6oski#@L z{>-5p%|e`#wrl-ZJQi6_{tgYKzume*w!JNUdCK-#f1=1)c>8=XX<0TzCG5vFIuEk! z0I`}C%-mi*y!HJp2_>dU9VZR41%^gpjAly5#msb~{K_2IV)A$glurmIVogeay$TP{ zCnXgp`?kHDF*P>)jbW8%)lFEu{RA8=lj}aF?k>A@v|hS^4x-a2f5^6vu0Ecl=30z& zpULIfk}fP4x< zcUE(Cbg&g7-GOe|@9H}i1pI5LA9Jp7Kkuu>+HbJDPaX)D10NhEo@bKZ}iKaYy2;1j` zepZcoi9{AE7HoucVSNJV)cz^a&EM51Gf;4GBdKFV^fN1a{vO>%iSf=sY&LiBRdfIguVRinxU1^CZ7(AnZw)KYJ3BCkb9t|%|`2HBJHTe(AWt5eD_95%! zg}8ro6JrFK(73K*^Sd8Hl00E$eLRq%oC3o63-IgBIV)0gr$UEBw_!|H*M%+FzCDg$ zm1*9|N^nZRxP_vjHB8_|vaXVAc-vw#XrHYf@8k9pyk~TSzZy1DR@4!nLIu$dk957g zj!QBxS=WkX!po)1zE?D7lI5CzIQr9W%)3_lN~;ygp6NCyi|lrE z=kv^;AlCC2bN{61htY++0r?9L+evcL+ppBxu|U36>O$ep`c?GWW%2p4F;YTFi&6`` zmGha$wJz_)nLZTm3PR;cU94~)MFF>d$>#^q37xJ*8Ch@Azom~83t0tI+q|*opOebl z{R|bUmgXwPb>jCiUQ*^b@`D%sn0sGvOvfVPz`>Qx z)g#ekT;2dv4P0I#b(?rp^_xE%ugs?}k8 zIMSdePWcYI#@5aMCWv?fLRm{2k><&DDm)UahLxFyOvSqz_wwOF zrkgW7iU6SOA_N>y-72iXhKKDpoLZID5h2sdOR_S`;1V9coomdQR9rv<;)q|I`;abf z2ijF3JYW^#I^34nG-K`Qy@(jUhy9OkTMXPWog9sfvSsB_Zi2@s<*qK z??~U`fa&%O-PyD#iYP&Xj4XN>eu&(a$|y-1QB!pg6Kbo1qc))_Jby|Qd|7|2=T|G8 zpA9;Jl3G)U$7D#@_1+z@>q4QDwxD$(rw!6S_CM`c6Uj5aNIWRcVb;&Yu|M1ja!fM_ z@b*O|Z^Fok4m-#k*~{N}bIorr=+r;W4cVRgv+Nh|F#n0w?4aWl7IE8+-rlya z?}g_pugH^z|LowuBnff9dmHSGRDsBnjr;}`YB~GHxnE$8nF@!n-xK`MzT&bu=i88n zVGYKKva;ddRyU***xlhAJa+No_9LqXjD8d`oQK|{HbT^J%Veg!xt?4d&+4}QG8zs^ zg=-Bt3%8Ih+CQDa^Y}5t3xitBapNeVVQZn^xlu0DTC1IghI>`9x*k=A>7my=eHcNu z4Vq|3jvj3Q|1R?$mGHI^{dK2P#=6wW^s35{smLBqM*ZF~__sQOpn;=M%bR)iBI3Wp<}!zM%JE;nH^z8X>SJW8P;0YcwzA=0l-VOg;8ndp92OpG>eERu0?GsgrvDaPAp|myhtxY#|9~VbT z_ZlxscVfy2Q~z9fMD?vH=XqvQ&pW@}M2vU3uNuWzf1AjAu_Xo3%glc9)#o82k*eVY znqNldkXr#Tu>wx1m@KsA#r7_`3%I+j;EI@kRCndb8-FKf3^$?u7sKDg+GMJP0KUfC(JfFkgJ8mYGIK2I4lWy_;IC1%HbQjGayrvN%ZDlV zlqwKRp_7aiW1ag&-)k)<7${8jD@1CqtaRN)k9nDN3F`W~8&-opt%!X?vRF+dKoJ}9Cgdc1u978DPvY4LJ1ko;F6?;RO=qRQp z?809sK^7(7)N7g))i3z)BiL|&C|DBc>sr8sESsG@X**@)&sw;WI?3JtwBSqPKXjcf zm2P5eVQh?+AMU<53h+hBf>LTP!%*C@0|i>oHER2dY8z3w&r#VgAp?5O9S2}Z*6rRTwpZtlFsZxv`)XN6&ojUw z*D|{N!|TG4Zl;_cE>e%xk8HEYZO=}NVokc7!m310u(tcDw?Ewp?oDJ1ms7|io01}o zPaBlI!L*ycV3ekQg<3WZKAA18a&3(|Y+~c_4cwi&S9vFeqEk<}C~Au7nFDPCbRnRjRzBC%E_$JF6jG-=QT@UmoWX(#wOjI9sM6)JkMF)4RFIus8gR{ zk4HaE9re@a{)|OiiQ^{o^6!Y^laWX)Gf&$yUW(!Ttnn{pida0VrW%#14sVF<^(BcI z0$ja3x^AF^Sf!~Dj)jEktzKh{b0Y0}blr}4)X7WV{gM2f@vY{@O2dw6^4wR|vWnpx zv2}wC3#otU{fYl!y)U6^ZExuCX@}_j1qV7OvN5Xhe z2FVPV%8~_XhS+OEIu836uwoDulR2?EraNU6S&Zr7nihs$`V((I4^!{@C-&{QP;JQ& z_RoB@LKZR9;rF7&Y|U!=@~UFQ>g7Qg<9}EV8hX$op1Suo8UF%H1xbbtiQIuSzZ_P2C&==5>r@r_e68s! zCrsO11}hjpwP`2XyM4TC0@jRQ$+1aJp7*{8$+~Mj_#^g4UueFHXxzIlUbpn2#|5c> z=ylebCEa<%?G)<4P0R46H55tVf1mb)FLAoe2%9mQZqwu0=wx#&fg*Y0a|kc3Zl1;T z&*3aws$V_S5UE{tflJfI+5@W3p2ATIZ2CUyk=EK;TXv*JF~B@8()+!FTJP(KR3cmQ zOhS>yC#&rF%6E!x{-30A?tMLBIZYb|B6bsD`nm4+*xmd1nM{~ZzQ(jkU{WUS0`@w)CE{%$d z4R=eL2G=N&m}Y+I_4HYz)I*30E zNQto`3|0)njXufQ4vUwkx@Ukl&{~-s<^~65fv2F+?jf}r@Nf2Q1xrr0sC0DTO}6q> zad(jw5h^9>-ej9U6mvT}s@#cu>;l?XxF|27>fC|#qJ3^Saw)Y3Qqip)rj`vQ09as1 z!>2{jp0yhFVPUGAH$bKr79%Ejo)+64ChcT2hB|Jd2l@sUprB-L$kd45@O(nP{=Tv= z_h{ax|L@z{(Fk$cNR)R&Uj3#7_)of@cJ!LoqOdt7k}0BzgSi#D^*7m8#D8rcDgchOR$F!!QwHVfK?6gZ0wF;| z{lv?gTc1#*J(#4n0`jC`=RYhm^jG*^kw6Ljn@>;P+7b0qD~XnI(!~I+(?QiipkW8_ zby}sBxu)nZco@$^(WBtstrx+1fRG<(!&8iQUM_d4Jf{KOF)WO(L4+k9x5*k@nq0ca z^>dTDo;D~=#>nDhY&Pw!$kRwZ&ODX5u(qfiskZBBaoEF2O-S{T(WmA^`o+znfND`g z1efX6Y>uNN#Sl@`CZfCFsfvEp8TCpC8){V7C-&!erWI=!Vzx0JEUd(q20{%vOcRPh=XmswEB zhdMfGX40fiNlre}T@19#qe|?bA7O_{n_%6rV#Fj2OLynA|h#uJiG7W?fslR^2csBjojERi`t}kFvaT|D*aF6jb|#gNUI%p zLqdLoLtD4njPg<;nY$7O)q9|>_gi!3M7_QM%DNu=*JrnF1sQkJ#lNCbK7$1RdT%e> zzY}3cQ1e=qk*(TiGH(CyKde=~ZD<`zel*u&d{rjb?R#)ad23G;P3{88%VFJLll>-5 zNc7ny;5y4s!>8M~fZaqODohqcIT+ZHETd@s!)g4OV?FPrf!M*=XG-d|QTM`rw3=wz zAaQ|>X+%nh&*zqQ>=V{!w=+9}RA|7J0-6(8?Bq^mMR9NY;~`?{#VW^Wtmw0abUP1B z*dJ57k*z+F_mgVI*OMJWsGxGAlECOoN;S?FGsqD)Qoa6Kh~S=l zd+g{-HpRKxPy#f?O-wkvQmMbi6Ud^!=*yMWJ68Xaz*#}l!M2BE@>}rpT1@eT2>MYe z8Te$}#?4({?7sTMl*o{ozyCeE*ihm}+VodXZGnSgn9wt|9Ea*t)0i4x4>xy#Qop#5 zfBL4@S8XQCzDiL{&Pg@GD&N_%m7hktpVs>_be+2G1~_)6m8GqxtH0q){z(ki|I9V? z1?$OxD6%JflO|7m(mk$0w-*IUSTxv8oOJOT_q7sRt58~17F3$hq^}(R533Q>F=`yl zMB=gcaYv;fXK_(VYklxDYYBsibcjv2rp$z;rQdY|Pe#UL*bJt$I6Z;)y5%P7|IVd? zBd}ye=I;Zp@Bd=A{(q4A|38hK<%A7pW0B1r6&tVikt3lgkL#{t$2eF1sL4-^pged; z-1pnl&bEXV@kxnwdS(2y8S0yEiH9(&=>bK#H{*}5A28Ub!xlN-Ia#cmj1s&iR>Gan zY(tAtr|BtqcDu%pfl|ApY0aLAOz z2_0M95i`9eQr}GGOb1$NuwaBvY;X=J{yb)=d%0}3ty7}9BTuY?;7Yuu1ekicH1bBD zyTbP5C5Z%xT_&;|etjl=kB`@dyKVc0=GEo#qt*qrjH^LbX6oO;)MTNZEXhGA0lti9 ze$ayjh);>Ibw1O=RJVdosf}wKs3hj-gBiqBJO0{fJR9Cd8G|%^EZN9R69Kv|V%%zV zk_uwnQvkZbF*RWg4)!_#^L%nVocWnJB<^0k*x1wr9b_kXBDT_rhRq3J7`2U_Q?(ffWbM$26}z7$4+7P+!Q8TTMx)S+lJ7w*O3TGU6k zq1k5t&+g=rk-b z8=>lUDNQ}>=3eiRRt|3IH%wMYg$NA+iNcrf?U2|gm7!Dem4or6+x{$|TupH=zFqrm zb|PxSERN9zWIX2nhnJ0vAN<8nCciLRjx~0)ki;iwRa+Hvy-?RCA@PK0M`H&v}tv0bCY`C#3?5TT^xY4%BFy+m3wNG7P%Db|g+q3Xb0pimg=nB?N)a-b`OV5;pz$HrZ7GAk#r3WqRQdzF9XI85B;vy@~ z8BX1KB^%BiMsI_tzjv(Q`OWVNzrih>kT#}l3vTDMwwoC%B)P~$Y8^YGY_*!c*S4lm zq8$WZgxL?L-Dvm+)S5zkP|;jVP@)~L!_SH7=|Ep&s8(Tg1#_hX+PTe;x`@#if5w+~ zWY82WJ)$7o+?x*M_nF(G8EO+kZ<3(cB3x7r9!JWUMB)EzcB}I}{=+gFwDmx$od}I= zqi9{Kb(;4f{Xk#Yol!YnEfXI&lhEwq58Yoal$0`+Pv zx$yh_blWBa_O$d@O#};}kjHgP>iK)sJ2`+QOLuoN^lq@bJ+Jzp7R8qmCcAJ@X6~#i zEPpaJ*mI}4!~9n*jo3j4O@A8u%I*sxYRp3z8;3pP`WrkRr;?q!p$ob58p6kZF6gXB z8DC~tPM=XFsV2&$DU`#XqK0w&Z+WYqi^%-(Akk*hTT~BjU=Xakzm0?TvrAywSGK@R} zsX@`t&>9@MSzoRqp+?Z&;7TMkVd-mAvxl4wmInewvF#D=<7 z2%ACjmR`#iM}0+^+A)9hL)IT7!}CGjfMSVRF!^eU)Yw1PGfg6- zcGS%TEbnK1gw{Gq@>FM5sFjHu46RS7m*+iJLr@*0h|b&&LLF%J_a*u)({G7lTt;9X z-7;c+XZU`?l@@UmPqILgV@#5Yq3D_$&y*mYGUrL!ms$cgNi51Sw{O#4q?&=gkTWkM zb|hY)9rZz5;Fovu54PbJ-pNtfe*HcjEsliz>F2=kgxcDPRqPvaAuJ(np<(e!QdK%y_O##6T?}3& z;|1Wnda|atZC7|oo-B)TpF|o0%eLIEX07`A&4PzZ{EHVu+l?@P0smn=Eo3V4$LIax zB_xdZ&O1M8J^k5!x$?WW+l&f`_PD(;fLf={x+$1D*c|HzgBzw)D>ozw0Im^px`p~ zy5DorLag|(t?eYujg_j3C6i=8NS7{d0=&v@OHxoFIf$PcI{6SUC*;hG_b6_RS&!<1 zXr*8PyzqIjG>UyWX9=d%4hA-;kZfjEwPTVUV%dr9rpL*-*HU#06iUt&eSex|J_i4K z#1GRsQD%`}m(Wl{VYuunO+EDmp3e-J}i4(j771$uhUmDU=n-wnR^CODMw> zn|RJXEwLtEYt`6LnFNBnv%2+9KizCzk}2?5qI@Y^UQbTw5te}t`m`v6gXGzPEI;o) zsPRNGO}y)v<<~tK0(AMB%@8|l5zf?Y9npvvI^~SyKJ;R*^z}y<|GmPb=pZ-q^#IsF zoG;OonaQI2C58~|EZ95MTc~&J>Fw>zwi2u8?Cs8WrdN@K(AX0^fj+6Eo{(LbE)AY4 z6zWvgC2)Oi&XcPA}0Ba}Z#w-8Rq~5S@|EXaIq-{0yQSt(NX%7b+WN#YVF*01*JH ze0fO9p{jP>;*;ZSYaOeFp{$Fn)bz))=I-w0)(vG6(eY0t4&f)PcN#-x0dj16S#(%< z`v8((1Kql`jXdLb9V7`}cvv`3t>M2??X1TmYE`Dobw677xLEr&NQ}V}v3}_!xrz~g zqL%r*0&G>SMM#_yMD!+9;mwSxUvAV6^I&SFqh@O7Ue3DD(T$a72QFE2DN0pkP z##XwguIi~{P`P_Rxy3)`7zbCZx!`F=d-YVj*{-X7LN8kIU-f2eX2EG3q(aF@A+;u- ziGY4gZN1aOZ|R>{`4^sTafGWzY~HMKVEt!!la#5YEbqpjotwOq*l=U*dR5$PBPyUx zQSCs;jGM*SV*NG;XP3#uHmbgieW`m5am-|9W}$0(soHaxWUbNKWgFsWWEd164Xm#^ zxuYLfHNYZ4n{%Jd5~h)_P{;}Qthv4YoV`v)*TWRNmEjgV`9q^tANh`SIPq7-?vr#N2vB~Ra=Dhr5h`O3;WpkBbZ z))VsD0B~UoPx%+%ynSpo*umUt8ICv(8r>92;8%ec{&PpJYx$!(5F9n!1us<){397n zXpwEM<2m&ympi@m8Dk6jmuhFcYrIKJXVZcyhyt-OkQvFbH{m)uA@fj+EC+7xm^d87 z<-L&qd6(82d9g#ogI+gKqm>b*tcq*UB>HyeMz#Iv{A-hDwuJ(Dk*59-I{};NZqvxcK9f{+*D-6@Ho93be~ zsR~jhrcU&4V$Ku53V(wyf0&`VH)a1tx(x&vH>G&LNga$s&Bi}i^E z_>XidrH5}0+pkThv%G<)dTar#!e{Ap#K82hf`BRY4GS%4p$_nl6=a z{&fF3Ky^=tA~R}4Rz%**qR0>@P37ns-7qrH*P(95p#c~KK9j)K^}E-i6p;Iv1n)Ve zMDs%XDbN-O9VBL^7L&CD4m`N5Q-^FaEeV|P+vlM3BvJDsC{7UsamMS)Dn%}c&IsJ; zb3@!u8!m;`14K5dL8aD%4HQ~j7F%O>Xq?}i(~8->M0C?8V6=p4S7~&>~3CEk5clqqT2d$qfNgly-jhP4>my(!A~K~ zct^}F*D?1dh_EM?M;Hx+j1nqxM0yT8J%v&z=j;&n=8+MTXXprq~Olg`rdKTn_>VBKvuqnF-o9h#twoTHDK!dP8$) zFJ-fM8KHhTjK<B z9JACp|A$3-$?u5Zgx>WT8FwIOVjsCdXWTvyY(o*Zbgf5QFF@i~Ahf5aK#KDY3BIC+ zib<@=k_-?LG#vS<3&jqzPg<i6QJK60D&)9mP@R9Gu0FaGXYJPAumFC=2_3H}gEI8z1pBE6zVx#JEb$kCi>-ZvBPzPH zqW?38afIADWcyATsb@34IDC#4`MAgr|E?=7DRu?sb3Hu)_EVwNQCfOv`5mraU?b)_xq#vWvhd@;2LRa zC1-Yr|FAxuo$$khbE3QgO+s~-Uu>V7*dE$&Q2mv61l^e~TAfxal-jH6L7?C)UAB`c;hx(r_*7Eym2w0eXSPa&yJIu|At-k>CD$fRs zSDS-s^cP|9;8%PNr>(L!<1d-^AlfLr3P)Q2u=t>#u4S&@B>?6Sz?tp5m#&<;{&A|a zM?`}?dPOw7H%FlC`)VOasq%(^mOR6FI8~E5mY0q#bTIZ+?qp1#;~52g7o9Iw z42+>9#&D3wWMwSEtBz|tJTX5%zw!QBdgh!D6LpXYb&dn&8yG`iVgz~>$1DVMi5v84 zRP!DQUvv82ruUrQE|YppYYnXe87p27s*prL^ziAA=?9D(uj!SMmB@+g=^g`y@PlRIqr`4_1-5jtS**snexP(dOJbPEc#~u9-CMTbgn#E$+8Cxc& z4Oo>O{q41d*Z=U^)2T&Z^PWAEDRt*#AxT$1Vc$;bweR8)xn;hiz9(s2^6gVW2qyhw zZAU&P{aAOoRl2I8VBmi%(VJIw|KVpOCv0y0LoSZ6Dub5SeB>TGZm{dQ^q`%IgShah zeuWlUM3K}Yhol#$(`Y*Q?Qvk1i`RUFhUDAq{gyPlmC0+-pS#}(HOo2aOu<~16uYr9 z>AtVigB#1cD){B7HkS5#f~nE&@Y65yBpm1*6sfwkD3=(&ApyPQpGDs=E-=~95~YCn zdmB6c5K;SWNAYU{6|iessP(-cdcN}hBg(Q30d_$m0vs~g-k1fc>#tLAEu=Rp65HB9 zBV7Ts_Cq^zt9MqRa}>cJFu?>kJ@TT^7O4`ee{d_7$S2dq5_K$2+1zMS|JrFd{ZpvJ z-%_5+hH>|Jxi{jvswF0B9%Q$!ajW>{{EM-!_h*;;Hg?ph%)5_FG435_u_rYBG5<9oMBjR4i2v)fzawmzKxiBuAxqNw*v#}p0^F3fH$!?;V}_n z{TI%q3(<~<<`L44GWw8x+T(Vj<+tW|<{(ZNH~GdF)mhb@g`(!rEiDX?UiC{fOv5yI zVurMCUeQ!K?=Y|IjyVJnQT=#lTqr@b#(Y0|q3>s?O=_PWmdjH|B zN*eo>2OhqzH;>It-%0j$i1dy44FiIWQ1?n`agamTXh2NkPgeh=<<}{p;sl=Q&&3H` zSpR=KFT-YT5Ccm0IIc48clh`3<}>N)AL&7dvMv%su}-yZqHR6wY1icAmQ9jS^7#Gm zn^~)}!bWKoL<9cgTp{5uWDF4&n|gTlyy>Q3UzI+oG>=9;$gSjs=b_}bQRFcH?2vU+ z0!DE`myAyV+fYKVD7eq+HAw%PTVz&(XeYBV#QhvwwQc_AOVH6$MNiS7A#b9i?prhO zeLj|h?PqvKJb%bh{7hFsd}Np@eu(j(A$;ij$h#?pzSzH~Bnu!o%KV}{S&gghlWNNe$j zu`h|V+1&AI8b;jEz~5j?Fe?MRYY_0k@w#zK+LPRmv`RshlhQf3$4s-(nmym%*PPk% z*`+pRTz2km1;YXl_HFM^Za?kHA7YjsFG3kFR)9eSOjhp&{ayEU;s{DxEyjWQ-fi2Q znk3@R^?vh4GDlY*(cc9}1Y>?5T8b`UvN&RZ7&9HwY`@b|^cy`zIf?ekb}N<$@}UBG;Isz;ovmg zjgO6Kt2%zq*!`G!ZO7#uzOkddQ6-3qpF!XKOr2?3K>I_S0q*jOi#9FEd$_pD_Q`YS z>Rk`(o_tT{Zr}anNwdOCVvzMewn%}YuRyM?riC$k^nNWNfPUUAsp) zb6aiwh1*)sU-H6V47gXKb2)QKTppR5T`(8I@o=Z$q~vC^L(@dBMzCFc!StpQ*Wa^% z)KO#wBn8Gh{78hZ;2g0C3_7Jf%F(tmJxo0mpBuidYkO!OZlANL_0BW1kaMbYbLA^; z2iO5bBWR1Y_=|5!rW`rGio9@S$3#7cPdL7evENT+fQPrS089N(gV`4QrSDCUVMBeK zhI6gYg4KNkue-0>q}C3)U&og?=j2|;i3LoI(ZHCsW<}SI@-(FIX#&Bp_vNd+78VMz zm+P^SLMOE5xdqI3S~MwHGEc6q_Um}&Fse%Z9G+-#Zua`c{@083Vcs66(Tq6oQ~W&% zJ_j0-xIq>6ky*s2bCEJ-iFG$4F@k~S3ubEh z#9sFuq7_lFk$%Ro6wYXctj#zwQu^-3386p}k17oiLI6^FCgj~?YijMP@knq6qfL4M0x z;(jovMWC4Ue)nVSFA0&TV0rkxgJUjVf4gJ$&R=WpT_2RszWUmD0VTN<$b|xEb2M9K z+8}1qr4#Mqshjkn_K}Eh)PZhK8XLYGBS|V4EkP!+OVOchoXC< z8Z;(?_1l-3>S+1RDDFi8H8QCnr`$}%+GP!R+?qmikR51|7o}>S&TD3n3xAyTeU)nj zp6JCzwjjhut!OdMN%i_eskU*e!_=8tOf!s;xVSjYvhH&WmhLWLi$l}QLE86>((Udk z(@wVb*4NReBMbxKw<@u{G;jh@RK2q$?-Jj?d!O9KrB+DEL;2yxh4aPJmh|Z@6B0fg zoo=wkL)Dj3Pcsc)_9OIlT!E0*n;Jd7aW+djOJ-`rKECpRXjcs$eY;&L176*fElFtVy2bQs0^vmQI?k0F^}8rx};9C+K9ws8{Ko^Wtu#Me_{C|NJA( zPVuAqe9<`BGk-f74~}6Qe>Thwz#^|gF>GgwN;kR(4xn8gDP}&lV)&cu!qvXWl16WK zO74stjmV8|am&$5UL=-^Zc(kQHN1XdG-ny=B;=W8-P+7eG~j9788J1+9YMzU1~<^N zW6z86oCItw+a~YV$__Wp@bhq425%xW(7GB2HA1MhpVOR3-lR8-B8AGvi7x}gEXG6v zeJY3rJhSw3?&JjWu1mBiX<-E-&n9J=2gwhUM3@~f&nhNDf8zzSego7j9%@wd>P(nlX&_?Q=B|J z(#(=!?vljaVzxEp_0(ybhL+y^#e>v1_2jbAwNdJzqx*}Ui1T$B0IjsY9X#tj=gP=} zPh;nIsG3L&Q!C=sZovS7I4*Xtukk+nltRMj0L-?w*H}tsV~#45^8A{4s8AQEoykIb zH|G^qR%{eP_Iv9qbIZ)&Uwd?9F^FPfxSted72YOm^=WQzV4;m9Xt1BZ9SLsRIm)3g zFREH;xMvG&n|wRJ4&jLDs4`huCsJpa!W$pe3Gtda-&nv>rh1|M{bqbSZ76A!M;}+_ z7Ze63L4U=+=R4YqndWYoloMMJxQz4ZlQv4johppE z3=!t%9Tr|$dB~L>yL_f}&^0t%`1E`Hp(f%>_ER_WRMI{3&x}}DoJ~I^XJ$NtTL{r~ z%OlIa);dsQf61;XC5{>Hw`y3-xW zEs4+AH2#b%Q-4=k`QM4b`p+0FTegJTB!&+4zYRc(_JL4vh->JR`Z;IIJATU0_`cq& zbACKdhWNw0aPJ;lw|7174WOG|q*#1EvDD&;Y}q4L+`q9Arwy>AQmp=5Fa5zh@(bot z>pp{Qyz#;#J6SLA`$0iLTb)!p)%rOtU8OCU0!@yYL8KJ0^dPUl9A6LtG$^3_RwMl) znC9+QvRKT%OopsTqjJ^xEo>$!I0R91EDf<_Z0}z3CE}<2)UhC-an(@o^1}3W79gbB z5<@%x-EIUWhPW7;%ks1V7DE59(Qx-z^ze3$aJg(CiZg(v0XH$$5#x<*sMQ$OWJ;o# z2(YV0U}J@Hf>+|JGHz7?XHA_%>lgdFr6mO1YN|{+&p1p{1PIol?|x8!CiP;#$5wFX zF!RQveNt=PiJiPIK&O`8{FLu~TE8pat3O;iUsN_2LbK5+$U-f&2@+>0FuSgFa|(qs zQb^mYRqS$mZectFUy~*J`A9wgdQNlzSF7To)a6#Q!xxd)r)Y>`7oT&^?VHXkF+1=e z@EJR8c(gI(Gp5$1aVKKY{p8}M`R~|3_ZKP1l``>(lt^$1b^3ByG;}nB+=wi8SQA`< zuWCb4r73K{+8|)|b`B#+d7bgUhyGc4zh2=Y3t*>v}$2Db)+#G~xJO zdE3cYky5w_lj?V*`wjs_eH=~ec=Pk!J7)8FSpKy0O*@sP2<(if4<&z$wU~&m*B$-C zEn+N2=tz`Vl=ql<;&YBSm-l+-GymXA5px18&3H_`6;UD?y$JaA)90dt-r(XSvEkJa zT5WFNPa1RT@xJ?mA^~+J?yNZpGAUB3GZ$+cc2-MgC(?CvT648xGB$Rgg|nwxwHLSI z`tv2($FCQ>Po3k~tjrBp!;9JV?-O!kgpq>whf{TynTJM|T<)fI7MAqLbnhUs1s>+% z00r4}?bA;e@=#Hzo=%_}s0vi)K2V?-h!9+;QGhcKP)GZF>#a&8dF!o+#ptkQjtuBL z(;IxeUPC1Ua9#ik*=W#@6syr?T;%lmth`75M{q(F8YTC(*^@(RK!sDcrk4e3f*Gly zdLPLIq0|3PQ(qa1q+<4f5#{HwTGOrBtRI9)ZFu}g;A|)987?r^X7Cj!dLxMCM?5Vp zrCJpYN=pFJ!9O|jkw}J`^k>c$2@?sL@mlk+4JIi<;QeVk{WZ?P`f`{oSz5CaTsS)tK`Z9z}jA zrwH%KKzWjjDh)+SVkfGxKA<`DYGsl!)-Xuxk`2@gvw(C{qa; zbYjlEG#9?JltZO4R4jI@h9$iXjhBkL%cVq7E;&l!c<#ADSn{2mS=j{I= z`T7BBGy=QWFi7>aDHV+dgYQE5w28^IM2fzGGoMa!1sVcz2vEdynR0&cD7iMea=@}6 z>>fe<&3j!6o?J&YKW?4Bgsq8>6w-zlapGR2ji-Y_;w$eF^{wtco(LGhaHz+}!%Y&1XNbAcYw8r4-bghXGXKnB4C`&jZq_8LYjd^{cu2aX9#RV0`QKfc+T@ z*WBkqDfIpTdm495&a~KcTQsv!79tDrZTp~_-mlq_)i;(DZ&2x+91l%VPnfJI$1cS3j@g`VhOBhKk@CDde34XcFxY_L4zmIUmml-LPB~7?@(BV!gaBs7U%f?rZaM z(qmi-iXq`cxn>Ec!NXM$X%C~rChb}^A8$PLk)612U8#>j;`LbL5d$X3!z_+pvVfHt zs_r$AET~!_B1=V)1(4+gdBn=;NcipMf(6cjeURmZfI|6+XKlD(#ftlxHQUD%JOd^} zNdI+N8yU+A9+uQ$q(?YZLylB6S;9nMsf$m;!#JlW{j$Ia+1uZ)LWxtEIk`Mb$ki_w z%RuScCD>6$a;>>-vNd3gRk)V}*QA>;K0`{EA@kA&nlI3K2~hD=1Fr`m)*6#X-pPK;gOt9V#BI>P18zcGm;VZ^=~+%RH*7O2KbZ+ z)DP-I6u&FguV5lUXN;j&?co_Td?1Af=Gc(qB#i*Me zf86;_SsL;qxm%4oUI=w&JWg2hdq?u+!E0h>wt<3u(TRe-{2qO6ZogxEc9#Z~#)6Z@ zR1QDSbxA}}kzieiBKewnmMVKK02WlSpr6OG_z^;5OCi#@rLDW6A4He$ zm$Tkx@9Y(*Uj=a{w^#tHn?g}efDVcd=t`{(zJ3R zthQb`sE$E?Gja+y6Ya0_XLoP5>;lL!asCq~J?z2^pnOvJw8zX+9_rKRtxIKF#$#d_ zkb?MG$|qR1sz0uOSTgz}(lEJ!H%&C)oYCoZU3US)TbD6rF9)?g+EWKLF%63ZA_zrr z#e7>b!Jp`#_n(rGJ$okEH8a)_@_?FT;hE>Vp1;+2ZM^m3fiX*PZZ|y3O&cdGvf$Nm}%W zHd+OdA*mCQK~HM37ZE0izf?F-Gb zOa`J2M^G8DA1KTRX!ipcY0e zRGfTqvHL$&-DFzpxy-UT9U;-N z*2ekr%?sa4KL)|MQvD$OGG?rRs_1w?#_sDB_@0kb#`%1dK9(G9WQuJ^l3QEoY%(`= z#|E*Kha@S3?00`khg&=sBOi*6(9zO?r^Nkn)~**-ix9mrz(vdhm=H@?QS|8_zBr;3 zfK9ErgTN)*@f%Ym;gAGwD{{hiqBi4{vN6FwsyqjGB2cZ_D3`Q&S>U5C7Cv}d(rNQj zONXakT0lv^|JRM?jF0s}d4C?X{(XC&&C8G^TYe5Wn#K+pE=~Ol>MqzXwBQ)|`?JaV zr$yY!ZlY*5tt_btga#e4#_TO1lt7>6b0-@*BU zMdog{G^y3mOFNPsW-dxemc91mDox-h!V#dSlM*#xN|zP6S7efq>%M>&QNq~{ohP8r zF?klevuc77st32)9bQ*B{NEA3EnG^W0ktGk(QYG^6$ zPpSA)M2I^YH_&&-s`n*jM*>qXqlKw~QDr zl~WBRkP;;I(4y$$R{=m_K4)Cc5Nost>w9=d!tZU9*5+gaU;y=MeLrOD@z0cBOx*T< z){A^6Le*rrhNLQ!y7Z2n3f#WS>YedfM{iS1B|9fsy|baXCkQn7<}u&ZbyP%RljTUV zWsL3SoDJBKI(?`?fj8Zty{shZ5a6-~ZVkQ!pKb;JzXjL-zj&PCsuf3vXVFa}qE@Z? zmuinbLK>G%&}G#-q5fl4mVg$C@A41EzOAl~NcD>m8`;q>TWkaAHvX5Yz*Fx&G}=O3 zhb&dvy??A(P0pR2oEfU!muMTHKmWmN_Ru}{->FT?!0KrWXRZBz1a|b+RlS)Db`wGE zhfdh6n8|0%iL%88bh@k3zZVrI((8LKPeI)mE&Ii|5Oi}78FmmuIOsz+%#oIO>Dog3 zsPZ>c4mhfkfe=70+(zh_vZDVr>Cb}WNQ7cC>YRg^`1mC0mf$~v=tQjP$UJi79fnwg zrsore{KZXRz(`G__6eub=d$Z(WqM^Et7?_^64-s)xr*}BB}N{GrAmhX2``KSI3`{F z89!rq+lREelVwb?kUy$FRF}?M5v<7dIMN>OERAQ;J^Iz7<;XVweFdNeO(SFr|_oc4q-hiFkj*jfP!uf{Kt9+d zRD8(~5^{n@f6%EjI~^$#taNMF5w*NJc8OAnc#H$WkWBH|^@oHc7=;lt%T(7aP+7_G z!VqW=Z;;oXP(L{^EgCK>C#kXhc{6cUS$Kw^!i%VY%?w}N=C(}X_!DD-SGvH$2G#@o zAAwJE+n3<7zy612IkH2YO{*?HtIK9m@~KWDZX9rm%Qy}gP6`W_?vczJqUMk@!HBJh zUMT6l2zby~pWXCivdUVUulc#{wd@SR9DqEqHX|(+=uWj7H5A2pDID(FtVcJ{@v4zS zSXY}dywdeLay}yP1>Kb6J!6V8KcSaNYavBB%vA@S`UJ#E34LpeiQM^4C!_rGM+Q#~ z2QEyhgbSUuM;W4%`GgF=mF)}okLPs_}Q;-)vx>KMQl5XWjjaPo$W0Nl(+0#-=lG3+zPk9!f{)&1b+)zMs(NRhxfx1#2<>2%iR_S zOiC>?_ZG7(15E6Nm9P2fFZHjM^{5W5N5x9>oFVHlCQ{>pJ$ZmBISq-8f;}cs=rxRf zxtmEbh>t;FW#q4cZjm*%WPhZnIcFHg0LdMg`ggi-vtYZo$=05Zx197aCTZ1nDV43; zPEhLSAPSz6b3EbN;9L5-bn4I)UUFz>1Qox{xFb7YY{143ho$`eAk%q&S?;w#2tBLt z7<*w@UO2NTW9Z7VqbAYfMN)91^;)KrQ89kBpoy67;~=+yr<2<;L;l_XO;V4|!aYTS zdNw+SPxAr-{G`-b-B+XH9rP^f`LnfHk>N49bbB%107NyAGz;u|M?{LSZ40LLUHKBz zNQS56ua$auXOVN6f3+HpE)DdB}xaRLEV#Vz^&m>5%^t2z# z@GDLsP$`9}Se<2-_1e&4t~cCFP!`5AZe68qm7~t~Gzu1_NmW`Ir^4)P%RGm=Bd#3D zcOPCc)wC0sD32)@$#}oys!638`+ZSzoZ%Z%N}cSr`OkSeP~4O3hh$_r5}9Q^pO@gG zJesp7jwTcVD z1UF#L%x6S)XD@uHAYt=EG>0lo7&iA+@K%!8iD-F-c0-0`mlIeDv;^aW=dP4?=;{jl zQG0^b2h}64_e^3(_b6-njk7FzH&o?4L)AEXs}R3buM>1A&&CQqiALr_fCDgWl)Ix*_(!~)$j(Z{Ls-gNear)37} z%CK4LG4PM^#)pb;$X46+3-{gPLb}M?v?^=Mwb*oLs|;uN%Cb){g!EYcr9S9$ z!P@es7qB+t6N>_<>xJ%u+5-7XbVquIb(QQ%a2CvGN4&B!p@-IQ`MrXQobXg*^0CU# zCW?o0?>Fyv<0%$8psXgc&$Ybe?B2x0B2Q}KhwL$Uu(?C&3;*^PYx`GkXuivn&xo^( z5)u+bYd!eXT(#r)q^AKJfJpHf+@c8NqQ|nSv%-dYxsEM&ScAVah@atW>H@~AToYUj{wnOYzkZz5xzHY~ii zGZBb^R$k`+M?jeJ^V#dtcU3wC>bA616lzt!tLKvI1dM&HrxdIFHz&)wqsGO_ARl6} zj)@+7)@CtNe)8hKlfCJP?Be&MEh;R&m|Pi9r45RNh!V*UFnq`TGx^#;*)6;fZ7>(* zslacS!W7BTp5A}fMU0?|=c1Ca0!v=P|JNo{p}>YB>d1#ypY?`1F@fAR`CAt+zU;Yk zSne$arrIQ=*vU31CACd08UFbc?Mq73#s?X-JEI#Rl61`mIj5_hD``J=XC9yCNuL`2 zoRJMwaDk?4i!RJDf*>On+N+uvM+*PS^k>6(y7%)5|BZH+N4vjXsXUSa+G|kf*OpXk zH&+VVbla4ruLP;sCATG2()%&`6q=L^Nlr>EVkAlx>zhjB^VsBb8hI2Bnr*)In16w( zx*O~4n2Ty??sPMVxnQ=~X+!5E4gW`wL}wO_+}tv5Zd_bKY0lsMjf2QZBFVCgY8Xz()V>bsWRK;7CKT@@mEPf?7MoZxd8z!{}H77`Ec$6MB@glF9O(Y zy!6FVALdR-{&sOS&6Z+Pg?mx>1)`;oP0MxJgeX%vjSnXmU;?0Ir`-yw-@EuutoO}G zjvq8?Ay0b=$A%&M+h53YTi|?SnuyT|PowNFv-8Z^6l!YA9yOVP@`E|Qjk9T6r5IQg zX<&%nTSFp5?H9jnQeY>l?xs}$*nKn`GM}V~6sPBh>Lr8h_j7WfQ$JN%)z^f2%s@0p zI9cXTo#u>QFLd!oJxWUiQ0Hz|I+wef{;}IU^j|sZ$Zxdyv(@Z6LiKRvZqc%Gxab{~ z`_&|mg<^eYb$?WN4c2Z%MMn2l2Q`#im;Yys{x2sRhOcba>PVcT!NMa)w063r*%G|* zUh|wdrOOrRlMpGm3;?4Z>4=&Q6+Uj)owWQ%BKq4t3)LD&?vyk)#|%CZt@GM$ZG7jb zaetFua6Wz&Za^LtqWcZTdJ=CFpG-XB}ymv-XYRC96lQJi?LT z{a-&BN1S;PO*(pu-mk}5WIEBt;8HgMVkJ1F#`9C4mN8%u`a+jMlY!ywpnyL8g8ifo z>UhDTfa0a^Lb^_JyPWvlQwaV$MC=uz>(9+^eBLz|G0LS#D=XfS)QdNRZBcqXbMfG*6beA4S&IE?Wi8JNv6|+c$8i!2)#u?ylRSiwx!Yu zfZ-|#^!&CA{zujI>kkluFlc@AyBK54p#_M;blQ{jwBbR#zfobR1wW}a(6dLsk?edQ4Eq)W12`8{{ z+1qdgq{CTZ4Ej_>gE@>wY(?IQ;trvD2ojtbq8Op4?1&zX_qsF+sI-`_u}BF%P=qmb)KO`d)akKll5r2w)CH_#a5v3wPXAktyZ{g~4{vb2+8t=7x~^3Sm2aLZLG zMe5mUqxWK6Z%gZrSMj<`w|{|T6}l&OX1%TRfyZpVC(Kj<5kV9JAsJto#A5Zg)}vN( zt{l zjw8-z*eygF5mcU2uq__7)u#)j0KUh|k2&qAA=UWTAiBNvA$NZmNQE_q#1AP_eaIVF z-H&;S-cPuD;;zEqy(n!!wQ{(eV=Id8{)^m{bG6p0a=H#y*Qm3W^+IUUS;q738a%S} zW=?hnNFOW@qWqZkp}g+)o<=o6Nd;O1=oAmTW-QZ3G!6(4u>K=m?eOQQbznZP^2GQ% zHq=2t-DIyaseh&l#K4m@Y?zd5T&ivSAuqY6hzMe^-TUrN0ZNKBDm&t&%Rz4SPsj99 zUy?sk-0;3rz)4`dKSd$%{YBO8+i$&YRE%40|A28g(yvE7_nQ|g8k}ZCcYIg|Yasjs zoWzU!z3@ex)o?G`7%x>(+GZMr#RCa03LNk*9FClU=?B<=QBEL+Bi~hf24`7FH}?dC z-@1;wNO7^MQyb;vUBo@l?LNoixl8tQqOklU#;}k?PA#Vo+iA==eY9Ch59{%jEh!uW z9I%VMqr^nTodWc>KZyEW-Wbpw^zd~mGQO|I78!p$pu!NNDC48R;Yfu*&xs-`h|b@E zN&G~LME3nQ@hm_)pe{7(L?HknOww}?_`XYmIM&Sgwg5+1ciiH8XsW{2xfm3_p*y5@ zM=R*!}!*<=!-1ds> zNjET7GP|s}Xulu4d3E}%#?YbE=#ehDqP(IBMm{VEC6py>cGb9hYmfwZF^aC&&2@l) zdWePlHJ|pq&UZ8|Yhcdrm7i?j9I#LqP)*S>96&NY&BEV!xGd}Rk4Ql}pubymIHMc6 z0lbZ`P#6u1yVS#vrwB0_kZ53%E!})Q&IrSAu_V@|{S^nm5Dx;GEwREn%P`Go@ZL;C zFUEN~;dBrEYgSyOc(JxL?>Ty@__{}mhR9|N)XtqS_V_s;=-GJhlWc*yG45}+<_m>~ zMV{UtKd}jkq-rHH>;#YrBIO6iq=uQ3iPGJz+(d>(o{Ik9P8N#Q@G8{(YV9gCY|_RZ zysnsbR8Nlp@ISJznJab$s9PBORkZsq94cnHYS33rfp!XHEC!6yx&>4Vl>Q6|+!>;J zfWw$n{`*JvDAht@$|?;|;F0N&ah2L54Y&^6kwhEhKQK}*WCl&o+}YVxkXjGiN`jRf z+!1%ofyHW}cH0VGM(S;19XZkU&BuD)H+W)=2gV>K=-XNCWr5|f=>mldM}ylj`2Hj> z?WQ!);g7qx_|E*-dFbTqus@&uqoE2G2GM9sk)#mKC%?YsD!KgutturtCJ+j`jL`mO zen4B*={=L|JA`O;WyvV$%f96G9xjr8wz~dMy`NWshiB)Qsdfr;X-% zYif0D4mCk4OX)B8Tuf;Dh&69eNNr-{P2o-O)KG6WUHn9b4Fl(uxXo5eX=tL7X$?1N zYYp#}U(L%4X|rW}%SaZgl?a zG_}0^Ah>bZhb;1a|B9*6XUAeYrK!d)*u8gEnlz@VvgOWJEF|MnHL)e%@QbB7f%6~y zGmU(l>X%X0A%*)EE@b9j@!V5Q$rD_$!}G<7;|H&^*juR&k@D=s>2& zqy}w{@T{^YEXmYXA>-;}Bbv=p4P830)zDLi&s@fLJWBhVW6OppHu+ zVoZK#cXV~&)NRDX!Ix||9qt{cubH2&Kj#*=Pb-z? zO5P+v=k&oCq4G00mKrN;?zjx`w}BRr0WYxtUOvNfG8Le#p?;cHa4* z@lA9;J$Usellvfr0En4pOrBroB)CG9YNHyg{74N;?I(;PGJ-m1Auq5KxTmN{*W zKN(=&OiKgPlh&*bj+~e-o*Kx!`S+P-^O(OmO#+fx!Eu`mtMi*b9f@MQ@xbtOUiUpE z8g`*MZQ7!_Ll<<~?;!Nbel)Wa_8pR3f-kmvTl?~vbIiBJORcq?mMk@{hF`<&(l-&G zh_j8P&+X8#SRBI*4^*rXQCPs0Td!9-{o&M&i4f0VlLnK(YE=Kk?3aiH)$JJXHQs=PS^GD#zqj=DSFr7TPBymlWE)&$lVpe`E=F^O+oD3YYpP9^Ix!I>-W* z{{W0taQU2|QDN~u*Wl=*um8VEXa3W1OADF6=583&AfbpR2uO?HC`t%AUa1!ob4d?% z{*vg`KK7a=&wbtGwfMb&Px)pOig)cQt-;Rz6AwbopYT7XFSL3q`7_k;2V@@ zDEY)tnhUwp2O-9Nsci~=z3iDM6(9sXtM|aR*~2ginqAS&HtK0YncFk@fI?s zlllUF*vfIoGfWIFD#rp`%-8n&P=1^fUk<*19;>w>8Bq*Sb^7WC!)9)sSZnJT(~DK# z;6~5~@S2V3(S-h4^*sK_9D(CvC_fvVerP@cCK}GeG7Y>Q^O2?*^8xrE>ZByb(-Rqu zKSFD{!Wz?SNuG8!jdZ}?-w{C~iN7~TkWCMV4R3rnmOZ@v+97&5Qs8^FnxAd9wsc40 zlo(KXJ^Qj{cJj(C(LnH)5TW-wWQ(HfUML%rHk1wVIrIIWv(}m4;0^LO{=CUB5!H`< zg%Wn+k?Sgt8(Yu@G0n!=G7CXeG`iI<->tZ&4(c_uwPf2QK~h757~VZ~X4~9!QtMFg z!>wf5A3I>*?KTG4i0G?S*AR)Bt1C`#rF$=#+K7VLwEiO~6K9mKx!3m}fo7O3uQT-y z*XO0=$HYm)W>p}1WYwJUcDr%H2{VC`03qzl50>@&v24D+a=ykNOOO7XthsStTqo@0 ze`o%&eLA(R#q(D30RrQ@jr#!tiJ(26c&W7u?Do_Y0Gk3SOYrmp3iq5~$=VdJ%T&G9m1;f~D zm^&N3;1=lTPgkV&jiNxH+#K_1AHH}rlRaX7B1Ei!;w8{xXRY9hRyj&1i~*PW5`5#0 z4(KF+j>7aIjVwJF3aMo1?pu(~qn^q=c~skhJOhii%%Y8jPerZ;?nXFB3e3B^C~9+q z&*PZ2;t2IOi3%Zap3pASt*w?CNcMX-TI;cs?%9mbj)Dm!1#^)uG^+1%&5Tt&FU*Fy znurIA-u*}LP~{0EW2jIZy+6d2x+)h7<;VZsK}?kjbbxWe9kQ*cN#cR9`YObU!;+Q7 z9shA|pkkR^a0}ms0VP{V*CL_?Q<3QMGfLjb6TDulle6|d-BMkk)DQIf&*T8E-&fi5 za5}lDnH8slmAFxcK5NOaZtcW6BTj55hVOz)gQZ2yjCAqcZUvc^#5N1f@N#T0$?Rp2 zYoQyQ&h<}3%4$>x0$@gokUSNrDX{-$_VaKz(TQ^_Z#BZd+r!*lmx_6cegmpl-|)Ra z%Ou%8Hs4rWhVOcx`-0!2TOxAbQ9wy+CVQBIsHA zgao~tqKvBul>Y?5>YrlJ!Got6#omeI#BXcrf}-L+;UtO>Pu3x8eYu(mfsZ4AX;BCZ zTS%B4kvk`0(q2TEx%g#X9tZ2u$hj`#KhN^Tt8PEnk{`Kwk*>dR8korU2r6bQ)hi6c zUe0z}0&8qV4bp&g1wj02k$+xn6FK&jR!w=`(~&>@=XV3z4K{PV0c&`7&$O&|@F|qr z#gvvV`MYC#YscHsJ;JkHji2p1jDHQ{ibzGeOv>!A$4KCZCs=p%wB8>F0|pOP<kgrZamX{L-pBz-)dsLPhCLObYWPdQi2TRbtGz z8hN~2`7WRUYAYp!*O$w$%W|f$My??IjM0Jr5&Uu=ao2~3>VQDOmuwS zyhEySl&NGbuBurgvNl;eZMEL^*^3O7g9LjfF zblSX#{qpbwW*Ry9GkBRXibR@ zfMb=>gDFJ zY{fE47DLQBKZL@1icd-iKb?Ryaixv>A4v-fI7s|j7bP~0rSP^_twX~YKv|Z418=T9 zr=ZP+l2QTX;>Y?7=)Xr0PRXC&nLR?M0{TN;wDb0Y{EQ1;ancceK_1KunT<=XHkaR4 zT`HO4UdSO13Y$R^E#^cg8c(`wnf zhs74k`+Y%LS<-+E0)~@H_tL5tLn23C77dn6d5Ti~j}=nlNsaZC7#W!6J>MvWRi-z?7RKDU82u$!-~ zJ88aA>g-kwcjLX=a;uAMzpclIFQTr}Z$Dj}F&;AZx?_ssFADgP-Uan5R#6@{c=rzf z3_!3NGB9kpa_Z7P|G3Esv!CS?%KLE(tGYM!%PI=&p(}G1$0>vE#X}&O*zg3?+|8}g zRqt3}zj#uI=+4J4wNTxMv0|S}AqyU~YuY4@7}2&lfYnvv9C^#)2~_i8YU?vd=n62q z8rzUE@&;m+`*~g2`lTeq^eE zaW(Vne+1urRp__Tzf$=T`OdG@p=Q+1EM{!jpdtCAW(kV|_BCP_lOg-ZN#(45mHKp5 z+7rZ@+6aZRuelvKqgxo1xD;!EoPf0UPhY{}dRe7yfGF|7&W&W+2=bB0z<(*p*}L>F zg32Jd_=exeJo9KVv}>sNOvj$vIYa+ED~4|$VerFSaF8dF5w>sY5Y$jLLD zmKNnqm6+xNhBrI z>0+^|rAex;XRlz{(B~j_Ie7l~tt)6-%Lr@?leu z8{wmz0_`nr%QDAHo$Xe_^3u1GBb%G6Hky$M5abKlv_k@q4s351}Mpm!LB-GF6C!fjEwD?HYw_RAjzoM{UE)b>m0NejmP_ zFn_~M(_^Nj5~?CV%y?7?86*MOK>zI0Pd@4MPiJ{WUs&?6!_gAVl-^N6lQbr+X~5o5 zA)M9F8x*D|D;Xjb{mz_yKLf5!z%JlQsj*{COFGJX&f;s*%CYiT^Yn+!SQgo9YL(Zd zWE#xbF36^z--_eMN58swfoZDI%wn?{$-fDTGUIHT6KhV@L^9{m$use`xN1}%Mbd&Ggo#_N@T??{FYn=8N7c6X67N0N1aI!1B5LP z)|SSX^;d;Aczg6bL-tDyTl40v!Xhd?#3Bf5?2`>Ayfz91wA0H>^04^YtJ* z-S(&hj_>8HeO-6TMI;r65G0g*`1172%Ht&NKb<29!%+s2Y*?QDqDIZ=3Ty#}RaZBS zZT;}v;_yllV{=R(OE`;TmomMl+gbjToVg}hHTQW7K4 z(u--SE0Z!WA1FPNOX0P53Ky^{kW!O`<(w0>b=l=w@TJh0{pm!B|Bq#bGr@3d!eK{} zfO`dAUSB?2{aUT!w3c{T>!@xbM1UtDj_ba;6E5=8;Q!EIo}3oXp~GTA)-xzKRV>Jt zn5p0h;Iv$~%&w|#i&+n~Gz{mz$szZ3;fnXol)8J89NB40)?=1ER{7g~T&^;4SXCPy zocB5y4r_AN#0;YF-jHY5^mAJb(fMt@)NQ=Mxw+Mf)ecxaxn--vSn1^6^f=QS5|!r| z%5J`kIv;X|R-<$37m~8i{56U0?NEe;QAk-VbM6N|qy4l`p*``epP1!#?xP;EnGlH8>3u#f}lzc9=A{}{vq5+iz(VgAZtqdrPpckc6 zyy!i}_@S-$EiIcwZLKfyfIAz5L00hX-vLp5YTo;HSRJUSPZdtkN96^5M@+WdE5MrY zGeGX8N@?EiukLTC-P@c*a5)30G@x%G%;%)LoPM`b1|nR;^J`GUd>zITYkKvW3u{;m z>lSh!$rj4B>eTRsIfrlbHKRA?J0U7fOCq>=` zg0UaGMnQ!4`lrHt!-D8lDSiDR0Lq8qs5tw!ivLd$?wg0QpY0$NmP@enE4q9J( zbol~V_;W0ufw}(yd&>*Fj!ct(0gTFb%%*t5DQR2?>A%+8Q{?gwdp*Q1_?kqXqLLkz zd`kfEW>1w!vR-a%4X;@01ee2hk8*#->~eTDpEsfGnkNbvqrM(CIJ!Qq z`tXn25{&_89=PgIHl*=z3^4a|K=|t?{R6%)J8??wV)ilMRQVVo+O7}7wqh9mRCpB} zMst*7IaL!RBv`neNOtN@A-i-n^DSx^;k?#8<`P%Ah?ZT{iQL@h37vO;3c!MBKhiG;%-fX;`?dBi^2>{EvX_ zc$=sfho=Y94z+YJB}7Wf#1+AgiqILK7_#nS(JGspq=;DnAm};f&{o#U9pF<>L*LL&~oj4b2gG?qG|6X~xj^)W$} zoNj^<#Eg*9QH4UyOmv+4Q2SnZjx!|aHY_cifEHr68 zBRyQ?t4&MFzNx|m=KB#%p|aJZlg)N9h>W=ZAuH_%R zeLwi)Ly5x5=x0{Z`c!Nhj?80c?+VR#Xr}PQ{UHr`_VbUVseU4oV-J2f6q54A1%9L# z6ydEM@Bgk=mSkKtP@C`{fuPVm6VWMEDd-TGJoVvB8^1iiQYaw$-T<;UkDrM}M^sPe zSo>)~OS-O2?#k+<%Kl|CYo?<>^Fr1_RxR?xm1#*lsIJb%D!GB!UiIAsdyC>*&EAa% z?6e9T;XlZtgEN)BClNUQ#k)@ZmZOzWtJUe05{sWdy=!HA{+fiB!j+g`o<-$tFY$N# zxCfNax&8j+r{`~<^6d8g_#u;-m%0q>>;yA4E1L8zjy?G%}Bb%*2d@yX|VmT+058a(>>AtLc z+nnP&>>h9d-i0Mc^4^Vc@?d;^qtK%k_*~Wp1g_B#w9)U%`i^?+YEG}Jd$0*Y9Q-uUM? z0%UMx-)m|YlBs=0X)~!5@KYMVbF{5NjlBe6Sl(aeX80}+ri=i^#+gJSAU|nHf&U2 z74CAmrsan~#yck5>)Ya97bTz7CMyiza)OLOe3bV*T#1dGO_z(p9AY~?Y$+ZqJxu{& z8c<{hY@p8D{-zz9Qc^kuSS>KJ)bM5EkhG##`>AU00)5a55yZNn> z_T*up2%*2Pn%Xc#wN;eg0)Y(X)~kKT4706w{>W)s2?a5(g!8T*$og_pmolo0k}L5$ z_Q1Z{VRyiMe4!j<5h3K8!p>=7Co-g3CNx)3afDdM1UXwue7VJM>oe_MZ&=6k4GrGQ zLboOqaxK;kUiz9~>QlLreFK;IugX1oyN36CM-kN;(jJpD|GM2ZAE|2`TH_fFx(L`w z6dqNM!h*MdoCJE>C9-NHRvq54W316$lTNw3+`KUK(oDk3deHO@~l`|CQXS(5D67Xfz`(Bzmj-&67ByYQv zT%A=CD{vgwgdVC6L96a43$EqQD8f@qvw&FrM^LDq)_G0gT+T3K8Zmb81Y2>`v-ZX)?u+E>!B|0EA{o?04ly3qgjr4%wj@=t#o1*y=#vi3HcTFhocq zKtVN-FLl&;#kkrTGZ|TGI1fvLuwoU1JWTxpIT>pogA9`$rrmG9^m^K8Uio4ECIMZx zk^`Pr;g^gCxu}DR;w+gG#82X*m9Ac=W zsz0L_d8YiK>d2$+KN2N;5-zT{g|@Gn4)jku=M9lrpfzZ~9;jk}*SC|JgFJNRe63Xm zv~z5*61`Wgmd}F&f7T<J*(h~M{}+bSz6P*>BOCIR+0p`u978Y+ERDUF1N(!j z&y4Z7hQpTjc(6G{g&a*Tb6lAVyF+d!G~jtpeu3j+yd*37KKH{M(ViDoZieQ< zb;^lkv>E-m&hN3w=J}N-hP`U$-?SIdD9D~J&v#qqP-^`A`oOoaUtrshd|!_gs-*Sk zEW1NI3h-Z%LiGGO?=ml0#Q{gd7Iz!qB`dF}&vWGIM>tSJu3-}26@S-|Zl-P=ZCUca ze9!QuvC85%hi6axt?Rp>PBkpqKsAYG$^L`x%0D)b8yn{d${4qY7mYzSP#=aq7(V=U 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 NKY@dm0qp;80svzt8e0GW literal 0 HcmV?d00001 diff --git a/packages/court-booking/public/favicon.ico b/packages/court-booking/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a GIT binary patch literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ literal 0 HcmV?d00001 diff --git a/packages/court-booking/public/logo192.png b/packages/court-booking/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/packages/court-booking/public/manifest.json b/packages/court-booking/public/manifest.json new file mode 100644 index 00000000..078ef501 --- /dev/null +++ b/packages/court-booking/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "TanStack App", + "name": "Create TanStack App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/packages/court-booking/public/robots.txt b/packages/court-booking/public/robots.txt new file mode 100644 index 00000000..e9e57dc4 --- /dev/null +++ b/packages/court-booking/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/packages/court-booking/src/api/client.ts b/packages/court-booking/src/api/client.ts new file mode 100644 index 00000000..3a75ab13 --- /dev/null +++ b/packages/court-booking/src/api/client.ts @@ -0,0 +1,23 @@ +import createClient from 'openapi-fetch' +// import type { Middleware } from 'openapi-fetch' +import type { paths } from './types.ts' + +// const githubToken = import.meta.env.VITE_GITHUB_TOKEN; +// const baseUrl = 'https://api.github.com'; + +// const authMiddleware: Middleware = { +// onRequest: async ({ request }) => { +// request.headers.set('Authorization', `Bearer ${githubToken}`); +// return request; +// }, +// }; + +// const client = createClient({ baseUrl }); + +// client.use(authMiddleware); + +const baseUrl = 'https://localhost:7104' + +const client = createClient({ baseUrl }) + +export { client } diff --git a/packages/court-booking/src/api/hook.ts b/packages/court-booking/src/api/hook.ts new file mode 100644 index 00000000..c6f1e5ac --- /dev/null +++ b/packages/court-booking/src/api/hook.ts @@ -0,0 +1,145 @@ +import { client } from './client'; +import { useMutation, useQuery } from '@tanstack/react-query'; +import { + type HttpMethod, + type PathsWithMethod, +} from 'openapi-typescript-helpers'; +import { type FetchOptions } from 'openapi-fetch'; +import type { paths } from './types'; +import { type UseMutationOptions as RQUseMutationOptions } from '@tanstack/react-query'; +import { type UseQueryOptions as RQUseQueryOptions } from '@tanstack/react-query'; + +// Define types for paths and parameters +type Paths = PathsWithMethod; +type Params> = M extends keyof paths[P] + ? FetchOptions + : never; + +// Define types for query and mutation options +type UseQueryOptions = Pick; +type UseMutationOptions = Pick; + +/** + * @param path - The API endpoint path to query. + * @param params - The parameters to be sent with the request. + * @description + * This function is used to perform a GET request using the OpenAPI client. + * @returns + * This function is used to perform a GET request using the OpenAPI client. + * It returns the result of the query. + * @example + * const gists = useGetQuery('/gists', { params: { query: { per_page: 5 } } }) + * gists.data?.map((gist) => (...)) + * gists.refetch() + */ +export function useGetQuery

    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%0D2u!T(r-B!7~WNJ?-O`WOE8yaPg?pw zVw)i8=Fehg^x2O`($?W)^Y6K;`iytKZE#9#4;rn(Fl30jbf)sM~Ux{4s*#h7N~%!!rPD`*U}?xqQvM zqEW`13}r?ScJ-n3N0EUq9ux5g*#5fv_0?`zsS-Koe~8qNy9D-qf5|xU@TglKi4%C_7ABk^G?W8UJB4)0PsChF+k0H3#RT zv6Nd&c{0`}Nx?Fc9CjuY^s1t~0df|bmt#!nY>{FCQAs)*iNQ3PBLW;mL$!Aj4msK8 zKd5>)n|&Twi6wgYu6`glLi?YZV}Q^D-W5HnN=2jhM{=JByVwF*(xn&O_Y2*_j-b#^ zwC``24tn0kC=fwl7P>G$Z1)g*s2cARBVXKoPpLfOCi*zg_73M(W5azSawW$l#;NLD zli?gLbq0mM-?kn;?(R0DyUS5_k8|U8st#o{=MwRuT*-;qtNiG1=P?hvD!(;)$e_n0 z6l&?zvqX8l2I+2%&Xtl5`#C-Ls;)6561zv&MK|iz**NJpp3e^9LFecfa0ibv z5Ehe2Wy}f=&HL~n>OupgV4~%H?&r)U75y(mCNIX;wEDH5SF@pV&)3~v8NNqgo}LE@ zckb!Wm*|b(D}BrGErIXZKoo?C=!yKSgbH=T_&gXGoF9N&Ep*ks?@z}2#36n_9j6;T zTIUZM%en;|)A;PNdYS%MzubDs{=rkF`{7zjrP$ty$MD^*iar!CF;xxAYo0J9c?#=t zPsRxoyBUY^N|s#=&|Uj5{=WBsO z%`E$`^wCa~XL=JQIX>19&|lIFh&5Esn%k$MNesHvVfKPNlc7Pcmbb_i=(EmcNIu5RR#(aI_2;*8Gf{GuZ%0^C z>v(!}ow!dMkFvV_Qt+&(#>t-tB1R74w11+1n3#kYB;wCz_T0cR@xM7P3S5Gjwr(X831`LL7M3fK-b~+-{NTHt z^`|C9z)AJtQ1u^&wBLQi=3;|c`1%uyS4P3zLxhPJ>i6^{V;z)_V+Pq&zg7LxPrG9R zPLSawPj6p`k>gtXFa8U`jA_$Fx$8w7qlSArn5WNjtH2_VV8KargOs4BJCiSIQ&Vf) z!pZ{MiMH3b*JD<5VbohZ10p^ddl^zKlMNZV;i1cx7;m#_2E%Q>RJdTUW@#}s+{6RD zLm-Ug;i(p#95ZO01nIxfoD&UwYQPlO$v;NgGI_`hn2tA$BZMEjQ8<<^RM+1tX-XRl zcP>L`NK&pz{DZ=FX9F0Xek`v};E>Hggge`B*O@_km$h$Gg$u4zeB`lhnQnV^W%7j+ zk#g_(|ebpGTW;Y7G4=9ncCmM#lo54l7U+60opISM*{%hKiVl%8gp*!|m@4ne9R>>v)gz}4kr{ujy^07fYYXX^ zJ)J4MNjU9CaR4{47Dl@^cVHW92&vtgCEO(pu2T5Rw9$}%S<5G*bjVrl1F^XMT6D|F zpDIx!35p$1WOqfx4+@pUiI2-O7ca)X415lYmL~zrvc;anZ%`bt`(j`8dgE2%kzRN< z9P7WOJ2xc}96|3c45r$2fA&6_ih6yM1vJDQs9w#Q;;J^x4xhp6;n={WLfr{*-V(w@ zp$5ix;A#Q?)O#Rke@K@!^{-g~nUN8xxf@i&xF%DsRLAh9WY=g*N55y?-hxtk;83>1 zdcQFiGY531NafXLeJ(W+Pn+~Z<-JXfGTdO$Z`CpIjt%bUIJ^=Vu9JvEnNOvX2PVbaL9C+-i$mV%;Cfl2PgnEvz>UGH@T#=iHa z77=&x?*AQcEUj3X0^o^uZ2n;L6H7cDjvF=qUXgkJPfGS$G72(qy%_GUXCOlTql$jAw))U5;ES23Z+FE`n<2ZCKAwima|z7m;n;s7E>$$#lB~99ZVDID$}^ zQL7ol%L=?T?jxW1FmzA=dcMA{O@&m(7)39t1>VGmLsf)Y{ZE7nOICN^{JZmoN_xS$ zsl7RJVD4F6F{ETgV61vLRjBP5&nf9}Tg z9GSFy8O*^z`xXfjZAliyDU4=T*(iUXx?)wDT<~kGlM>Kj8%U9DG*ngPaRb6Y4uaQh z;y}c0yclj|2Ms`9+~{Mun>6;O78eV1iQvUL6{5mfXtE?4^1+xrO{__hIEX5KKB+oG z@_e>~e5$-{x`wiidvgxmQm$6+###&M6{NwxCG9z)CQJbRrc4N;CKN0Vaq*W05lOV(h}4Ygx;%rM1aL2HcA z^b>v3cjE*#RcSM_H0DU*lL)puc+OXs;<1!uy*JY#M4!$eft5+)ey)=*tug*xRd37t z!alb25IF}l-0->c^Ou&RSMiileVq&ubYUz&g}Ppt0nYmeFgvS@h{x>pD^kshLl{-w z%S&PH`#absoW|SaFlU8U7V)06mb)!CBcG04D!$|X?mV5jV7U2<$qNXWg<(LS1tl0) z@8K4^y{y6uRdFA|j!$ddhI4t&pkj=_<)xqlg;FV3Z*mfsb1%sgZ$5_mm&v4zyW7WZ zX@K050n;Wf5nO>cnGr?^lUdA{#TMhVdIQFH2oyL-F=uWO0^=D8U*%VuI9-(gBJ>R2 zNE`BrZ_;uM5|N#`hlcI@Ka!n&TievwIq6Tw(TZq|)PIiHg0E>&e;q2R>K9OHkoqn9 zwM$Hd#mcg!jHdCHqpEjK zyzf>c2;K;<(0Qz{16UmXz0GWCUvY${4?(Cpxbc8xBhoR5;i8N6k&vHm9BTtbLYRW9 zCn}k4X~AL{-AOJW>^>3d;vrCGW<0bqCmxtX@$p~(OuYyktCmD_nmGZ_55)NP5qPi^ ziDAmsLG}GPqs1szDqNIa^R$1vr*TWhh5pnTWAnpI+Q7gU^@9R+GKT>_qLU=l$Bn>y zjTbFth$=Vp^n;bspEkQDjhQXcH-Ba`XB&YQCvES*;6QKA`lY2M%_H%PCmNjfnn#>T zqknXaBC^xA{OYcBJUl7m`+%zF_@7YOI>gjFgyBxlc{I;X#)Wg=KePO>p7OROo|g-W z)T;tU&_9PaXhd5@7 z1lDBFJq@J?$tR~r$-1!4_UF>R-P?eialA(I8_AU9O8x?=LxG-z!KRY`5s}{o)Qzh0 zlWh#?D*5W(m@<0Q_u~O_yTJ9;_97EYds5IC9Vl5BdPf07g1lCMm=oD;7vVu;m;KMB z*{>j}1lFG=9IV@OPjJ3~rXcKz#9s`ubQC5&Ct~T`W&$d3Of~=*0`Yc2IK&bX{hV6w zc9++!gT2{Eas{OBB!>9o;w=6;3ICUrsUV;5!A~(S0;E$@L_!2u`ioBY#(=6G48ib< zhq$v5NK1l}6cmPhfjp)(9(b}dxD!!Bz7PtNFRvyN9GuHT$mJk~NOV%iDWG%!*o1@f zMVT9Nk%)r-Dn_?7wgLWx_57YL+qc!G&F!WeX+_+Ah~Dks0X1e_#kSW}l+O53M0({;^xy*pf(SVwQ`mGp_N!X?)HmNH#oR{od zD)5oaY@^3)CQ8>;b#WVWp%Jfs2HbHoNMfK>A;$Xll|(qZkrE(4gD;ZaYByg-zBvLje#~SI%sB! zFz2m~Rm-MoKl@#PyLYh$#{kX07*m5SGRo}g1zm&%XJJz?>Wjxy^#=pHCiSjXrG79l zqVBKTtjWSIA$B3-zB{J4i-9{@Kzvx2dKp)teGYXkw`otR2(4*v?=NlmC3N5}1S{13 zTL#Vt^%}o;5H6?JsIAqP@ha$S-kM?tGUrUV|LA9!4n`1pa0?3_C}70&H-0#nL@ILQ z*f;7SYrw?^WC51bSRkLn?8-XIG9*n}+*5y3FFY8N)j}kC6j`K+B#-LOF|J7^Lfl{r zdu!#=#E%tu_W`xc{wYiQbm68Vk&z}!-%bK`}7L`=KT)fDujoi|%M`QecxqYfN9nvw?3tvxitnhhjHw)<_OI-f#Zg+F)5;utYUFEOM&iG1f{s+jZm_1rrXaD^bW{(@^@ z&S{31u0&i}qrVeZ#_qJCb=UjD!!@npY{A@koDsGi|KNMj-Qm6*!T%5?bpXXrYTww#*kiPMgICu-!sN?wk5VlHOPWdWc(A9)Pb`h7_@%2R&=Y>U zsQBsR=6K`poVbu0k6DljXssxxFXF|7A1m{`B@#=arbvPzw6E)aK?@WQtkOh~xe+f+ zOdwHdWi~((ISNyT3YSEh%ydqiwMsR&!KcaF*W-C$@FV2BysM`pO0~1`n+Lpg$9>|M zIi4wUMSW5x(Nwju!S0DCi%C9HoYnd_jYGU07HL?Ixrhb!J@&>7qsi-qk9K7r=8PQF zXO(qMpYfgvs&1$^<~qczEXW-wzll52iyrvVQUD8@d3Vyzm~vUOQ5I6YJSC&sRzL@ z)%;z5vivL!9uL)i9^w;k;I|3)cAsAvGfvh6>WRpEz*+E6D=CBg0+-^pYw?r?lb~rBs7>S1Xrb=`e?#cQg=ZP0dkq zaw+Rk8;1B6@7#FrgvmBff9TN}H&U1+h;cpQ`*-A8=*TN(caNGq zY0`Jc*G=sw&kz~(_G+PWJ8_2}Qg=ajK<*TPM}S;d&|2F@KS$b{Y1#D6SId393c@$1 z;d8C-i}q#pzFd?VrZ-OYgxZA;I*>=gk`-$p? z4+D7qRhuobe`R-gWqK#jr!wTjeUeDXr#$;v8Hw%cWC{}!tq0kL1$M@Knx;7weDyx5 z>1pXp&+?n?Lj_^>4Kmf}ciT3kG@r^PQ;X?N-sYKTeof7@2w8?&gnK&P2;*1*w+#EW z+D=G76gE_C;>@Com&!`2ui>E|Dbv=yL+%3P+|pD<-UxmUq7FKWf9k{EcNm) z<`uFMew!1D?|w%WMiHJh;>t_hFntS2sjeXnic(WhL7LJiz-<6-7w+$TNDxsyCJF!^ z<=xg?Sn-r(G42V6z?o{GLSaM}@Ez#p@aOUm=gKwx`nzPIW0xLG%F8Dr07dxRx`pv+ z)uEVOB?Z0z57Fns2e5;j!`%~uI@QnG3hBKTOK@ekj|$bTr+a^iqhjLjUaASKiC*q( zX4mK%8~F%0Y`rSh40iV?OWWm~6^nURe4ZAZDds_ytW^$X86I#nD+M`c+p)(&d3n_s zm9sk>1FM`PPJBy|><3*!h+UCbRW9@V%6c9NIJpyB;f2W<6|Z4#2TTT4p~=|6+O z*4UWN_3$TspE2)qd(A-uxvW%=?_(}{_?xoz!#b^So+yR8TG^ZWmFSQ#uZH5_QspXD zzn|M*Ii(^v|DJ`v&;mA=c5-pu!Kh9Omj%bk7;VL?otoX7&lstLV2s@PCpZED&_@DF zVZ&t|DOb5mZi=*6L`Sx~qY%9L>_#Y5!Fc24H>UUzT7#x(d5*A;@217Utv>9~PO1o` z_0#D$EP^-=sKvlcymw%kD+?=DVz&2@&Va?IFCNHPf6#676+G{gWr3F-RGy!J3)ivp zYw<2Y-09?bCa-g_cF5SH?8!{>cbk_sGnU)2xf)#P8LgBbKFh-?qvn!uIn4N&SdLy* zRK>$1;*ykd&ANPNntZ@z4uLSCUA!l&4zIU781Z? zs9iKSA~(OVM_@}~jmpe4`IPOL0%Aco{)dPPzR^UOCIWwU zpAn!zCz%*~8~v0MHR6coS+TnD{4g~oeBVei zwJ<;J7h4pU(jn={x73`8sWvH8=YvJ%a1`sK-4^S7x%*ImaFvrg6~0-oaDHLAIahNE z<_rr3w7P9|QG!=-(}uk0T;;)> z)}>pV^0T|nY(!Zk($+8WNurho!zSQ8XCU%rRkIg*vyeYzm@>Ve8WIfkIC8iu%OI3~ zE#G%?)GKueDoT8}?YnRLXK7RRu71KcR=U;g)9WOr`x{Fm9Az|N^8vR~$h}%?FQj+W z<+QnMzrIdr73FfU>d(#avvijpp!q!ZMu?o8-)UK|_mcx#S8JxLTuFiqv1JV3uF|G0 z2B2dzo!K5CCM|XjryBwg@LA=`C|%Q`L8P|*#8|eOd;9D#c%d43%ZJ&)-peWI_xn#n z6@mkgD+ZRRq=ZDIt1CF18f}YODV8Pa_VthJn>n`zU!HtSZYhuCf2HdD68_bCKC6;f z$(M`1Q05^c9lLiz0ygeDdxAjx2~iehUXj68f=lbifrk*k^w9^8yNuIprwgqL;{Dx^ zz!pb{!j~o~CazWdH5r{Ptvelr=qL9roB|TIO8pF(Rce{xFp-wX=uDLM8Nw78~(V2HfiwtqBOy*bE;iA6#k zrsCpHo@~))Y?;enCi1EV&C-u{e{2QuRq&NK5b?K&PP$LjTku;<%oqm%6pgwqA2;35 z_ZRbxox1rQuSI!PcuGW#Xhq@ik*ho!`tgT@qZ7nG_4+nXZ(->f|L~P@^WGCvXP)MG zpC>dP%~rua6`6he)=c%Cc`>T~w-55KL)4jm4Fr^PG+I7aR`iyY)?Kyt zLjNrPsStsN?*4r-daoO7(|*v9xGdhFWg!==U^+D|7doyX;k4yYkfBkNYlemnpA*1~ z#nrA28qIIn(lYd zW|=z;YjMb!fEb0pzj}50A5$VsiB$EzA+!!|dnj(x4Mdktw+UHWlpx-jIi;Y`Y;lIF zJ$($W-}QWY)?e^5ulMvI%Q-6s8`8J{u}23#By3o?v{8ATbQM&omteWMUwou#kYMl5 zoWEe4lq+|tvp?^(=RmJ+029AQf6GYh@wUeU#cnpQV9tkLzNTep&J>oX%g13z6UvGV z%73iO4_gn(z07{mJuZStG=hPrI?n_5wRV0}tPG>dFgnD2WD5bWptJbYJhkx&eZKqp zTfK(Aw>z1?>-f8Gv5rOf=Pgs*h)F~;&CcIlukTVUPccII6?ijjDIBYj8!tD)(S7$q zcO3T2(6mgd6sU?asyW{n^l(QZT=ivX}U5zPiT1tAF|*SGP|f^`)X%M)%ECvU2UyFox)ia zBOH&{z2Am8iuSj-5q@9Ya{701r+^0XygSVTK+j1rSjUHpzu|O+->@8C8(5|Mto?>! z3*W*NpBrOIlRWf+$)vz+n0>`-g33QAmg-1tc6Q|1t9f4r zT{$BfS06SUh%v1`5gVx-3ih~LZ99Q*yYTkb=9N}^o$EGkIUCTP+zY#he}b8Bs$=1t zfyrz5qv#(hvX0~FavHLKfOAr;T)&!|nFU22^q5`2QzjI)@W2!yn!J&3{y3*7M_oomxltDfG zgKIZ8rP~7(U$9!`px+S;G&wX;r=iNR=K(hbg0Q1D=3*Dj-j8v>f#wPW%bwSxtTb2H z+h?t@v!Bo6lOJ1~4*afXWXyl}ho>p}*NX5oNRfY)Jc!JUzysD7 z0BUpRS7@8!wJ_RwANVR)a385mkA|qUYU160_Oq+1w%30pwIO}dpB-b{QQkA}u0CoK z50lk=8=nF%l}&6Bw||-`P%2Y8626=v?xU#(26#J%=6n+gd|Ka56x_+&Ie|JkZIxEH zRM6WtM$F{7|4rWMwY!ZPgHt^U$}*%Sg>C#&Fx<~DT2Sn}q~@pjKKscppTF0f`(M!2bj3zGQvhF?e-6rV z|NDnhvx(m7x9+Oxmak{w87#2^8^#DaRbW@>s#8)<*I8T4z-kixhMCXL<>lK7S;Y6? zYO!<)gSu$xQk@s^KC$xcHOUz{=7n@&wwUB7kTYWpE*)?xlTCU2hX^R zLI%OvfEu|6EVT0Vv{0RtZeLiwt&hmgbjvHO*%0GA=qDC+F^!R7?B5s1oQrV2x~@+b zkSds(RR7>D3iz8wT2F<&P{eFk{}gH>LMUQ#MZN_WUW98e!;(hhxz1@bT9ru_WU0`^e{pguQQFO$KdYO2#JTk?Mr^*ni_siLy)~Xa%^@K!v99ll*hE};E-E3W$7 zT1Tw9wob2DJN&JQrsA}!Y5D`78JI!ovdduAHPxYo-V4m2o{eExkF(; zrn#Hom#Q|g6T=~m5rQ)wkNOJC8Zj5q;zy0U-zo=g2N01)ssDAiH%??vx>Yeq{3loZ zd*?7n1FziPfjRisx;9z1;&Qcgaba#;S(H6=LF8%Cp$7x=k z>rI0f>-T@ODA?298WwI33qtmHaF4@X%!4zmbVh;LMe+O~b5`U`(4mtnd_?qn3eKXN zMAz3l(D(UH9R2g=PL=2yjvFvf|2r(5`p}C6yL+!ROGtw!wdQR33qe#1 zAC4xXc&Ik?-`0RxIA{Hbfqm$XiPU4W#U*ps9Fr@7a{z%p?A@sgt{M|*txs7|t)G0C ztnaMqR4|<|j%cHTzp&I0nPZ#GKuHlFue+myjD(6E;RW1^2%cB^pGs*CoaqKv&KLr0 zXtsum{~Q+khg*Hy9xPeVJJ)EfF{+9~b4_2%H7rlJt{&XRv9CeM_Y8Iv`LSBoZogbc zBx9?BJWYSaYG9vl{;igj3Sj7{^~j+)PxE8|yIRj0C28fBWa=Vk2#;{36uqE3 zL4crtTH$NA9x4YM4A~NNL7VhE5#3xL+w1+iHRG+|alXMcyHBl>1jiq*`=s3=y2)+I z>(bm4r=d7Pzc=--T}j(;m`-z3u#bm5)zjnyz3#0=HHd42^B2y~R?DX9R63rPSjnoI zYLVrk+WEy7@=uL-?HiJuUMFe9Il${%o>gh_%TeZ+D*uu<7@S(-Fs`bg8>L|?slG&^ zRyp5pC0H036HM%DoswwNWxYQ&2fv3^Y4U0e?m;`4q5pjUXmI9jruc;9#~}_zl)Vx5y6^C-}~u1bqV`qV56m;4?IGlJlA+e1{kW{JbFO zN7@<4X0q{eu%zhDQb+(0*YQ5xxSXo=ku5~d5qTdJ5;`Rw38@3(jV^|o=p3k=*-oHD zascX36?Ja1?^U?$RZ_U`>I5(opSc0zQ>EOX@?(-KZ>9T%Csz>h|C2PqtHfQteFM>%O6T)KuL9I*`Tr2*{UzzAHeiwY zuZ#vWCsHNEHa7YMAy4p+h?1>KHp;@oaRa3C$sR;@oZpgg=SY2Im_N|eR!SyE5w>0C z6|@1fMo!%j(OgG>CbDiRh+YCJrIn_M0)#y37kZZDzu&3-#dcp|ug*E>xL2V>l9{({ zH<+6@{zEhkM7YSjEKe5q#&j(y_aQ8DhMycD!Y5JqX0+11ayDn!W&a%?-_t9HP(QZq zf)A8d6F0Hlmc!D(3Y*{G`s%GT zCxRvaR>p(n{5hfR`IWbr5%6cywh6bB#7StrsW|{KWg`(n#r0pE!D-E)FFmIbKyzOw~O-Xpwk6P$kmS7Q<>2OCh;_HLiz zSs+obSBAMKF=+=l8PYJ!JBcy?HTpy_xjm6Vf0Upv9K!4wP)v;yVFx znMe@8kqGZTqSm{Mh=EFE9Xs9)4PbvA+Rzp(57+UH`j{*j^*Z#nZ_}Bmwr4PHE=g78 z$2NEOzbQdf#Z>5~t=HM2ztw(Q#;x(Gm**^~({S){fL&-r`$b#0zN2N z&JKnIw7M(K3D<&odvep2pO?haJ>p{%vyk-CdR?!QdfZKx6tMO2n|>C%M$C>=((BOR z*}|L$pXX88L2{Ax@(u@I)!6u?MT3|mg>s9(6suM<=R})}RM8@qOG=0G(OAnpU;T@ zIvR%h`o6g_aT^?#gg^5hI*IL@qJO8$+;0OdD}9`QHby)r~p^5SiF{~ z+t2c}cFNiTBC@*xiE6W1%h$Q$HA_go$=^u4yYM!qpl3@;nfpX(r^}z5g6V@PQD7k3 z$8W7$YrN>lAFat`cs=ZD>M1g_8rY1+K`PfXMPEz`RU4lSc~VnR>44_%YCU_ ztouG-{fLo5O8;mLqB*}-R@Mw#z@hbtaMB&YOj!L7(c?D0U%gdkxoNM;G)`O7kMs2+ zNzgfw+LW7-ZvwHl4|zsKFB*ZZGoMiU&qcM8y-bF8rlXRUX!GeIQ*#Y^B9Z3FGdkf@ zE$CwMus|I#`8dOQTyr6fo`+0FAEW;$3ah4zn<2M#|=J+&p0xQ?~McAmT8Vx1Xn&@&x$Njt&|To{%rXwb9K z^)5E~LClfOU-9@nekzBK2@kD2=Ucf{T7X=khx`0<)3e4&EKqo6M*wcRbVfV6^)#9(K6W8-Yds#RI z!u~N??8wfP|6~_vee3^2z3*dV#NQVy{OwOsU~TiBBb`jfuteh(Kyb>CTF!8aJfB#? zSYGI-%Sp2(FSpyDlTRW(YwoZr==*#NO0~w8wpm-cH?yg?c~*u6V%qL=JU&+F zPxw_g(Ea1pXNo*Gn_sa5i4x|*kI>+1Wb9NX)SC;M1<#)Ja)Wt8r)4ZG=AQ@FX*o8qilQEJcy#C+Yh`mw zkJ7kFl+m9MnlSFnOFE?hSez#`}a7_DZ%tZD5gDu@**TcE)ftMuj6TPWp zhfOzct%zy3Qr~&CPWJU)ch}GzHrue(K-Mx~U$$?7?HEt#MKH;8>A4XY+M~oBh`sYLD0GhS%49oB7Rbd7loK06yP=c;ti9Im$oBEmT9y zX+^fhOHYmEG!HgmoU=2svHM4`Z|^xV+|m09f_%Rij0*;gzLt>#D<8K#wM+8t%V%^C zK8Pv(1g*d9e~(oOUT3DS;fgufOk#dEB%VEYsZZ2Whs|bC@{IO!^HP0}f_1*^V z(&C73HOu8>X6!9wh-<;8L>{@^dsx);T(#fy?J2hdRJeQs-_Q# z=Zy4Gs&y1xsdR9c?0q}+??qRwS_!%(qeMgS1W8%j&|<6Hm_b&Bp)Feh*|qUrlM(*D z@3B&x8Dfi5l4XfTJ&^yRZZ$LEx_V2V^o0N)lrtBv?7(50%rs7Hc{Kp6tZ(n*j-YKm zxC}y|jigkz{}DC#>EEpMFN`DG2ZlnDKiPm@ntP}AY)*59DQTtOCgT0;^EyP0wR>7B z_op1WQl?v7;BM#P6PsbmIYucljL(rq+8!H&j18%+I9fheYxMHU42U*&eLKlSC+6z9 z=PD!F(TnzXC)WKuaV;14l! zBl`s?SN&tGxIwzzGY)O6mOifDX9yo@AjkWR+m=U(BQ6*?8Glm^PndLgOQ8EA68WbV zI#uPmDu>Wu&%khVE+bqgjRaY+zW}vEv8z#Eca1SDlxu%uzW;hbK^*j;O&HVL%}`zU zYL=jYO=@;0v$Wi~qPAw4a9@ACP@AG{yr?uu5Wsb6|7!GKmd_zXt>1&9fQC23yKk51 zQwkhrvDDEv%z}XK7K?(x(um?8lw6Q{8-VKkh2Z3d1*oPdb^l~96R9)IQV?oUb|tjt$5yLA@L7^agsAJdr0wH z5qgZ0d&q(8POwcM2*+d7b9BGDA{6EM2%V}*RuX7lX|)S_wr{8=i}FJiw>e(1o4g%m1T<%dT^%ovvEq) z?UD?_oyqT$9jvC&0j>j&0?p)I^1GZ#o=IH3y6D}!dPufP+7l!`ReM&RWvFu~ zmf$jOkPeG5+|#`9T>06$XkQon$&krw>gPHtMbolv+TITy7jL-kk(mGm&ljX(12?w& zAqgf=#x_=IZLHDz2LjfNznmx9WZw71D6=Fxp&rDjvOXUzy2uQ&%pSXqKW~KIxj}Tr ztZeK%$$dVkd3SQ)=wcCq^uDW}LyA0NduJbXoIsXgjP|fg$9eq;xkG2^%!aQz{@PX$ zn`*f{9bZ!2&r_(E}oLNr5=%V&hFQ zd=K(zt!Er&69>{URVvs!dE>6<=JvQaZ7$SZYVz7}@ zq+!693H>L;9PRL?#<<;qUD~+a1(dKDuVEteET-JG8kcz<2K+VcY7NvQ=N`)4zh*8A zeiPEb%0AXV(fa&CJw{7BM*3MhVQNz10eZcWO8lFgu0Wy>*Gp_LjBM?xVv>w%o{{C7 z3iC-f>Z+F#_f#b4o*VBPv|KR6nTy{D+;xvTr}=e~nlH1yeo)b{P{k0Cl$uae>i9J6 z$I4zd|LWOf_X^)lMg%pE5eYOt0ZWM^a$M>;?4}|@Ajs7pEidD}k!UdX8mDzrMV+z2 zG85(vMF*z1F~B~b4%$7%28otffizxNSoAU(XJD7Ox09pgZPvz;J+U0?t5J&N%eX+4 zVFU%18?dl+2w*Z`ClrXubVyFGgZwac*!uT*_z)J`9ybJ&5ODW|`D# zOLCF8+YHCec9{@3uo>|`aUA_DA|2y+;mV+T;Pg)&*xCPFTHU)+EQHR#h9Eo-;oFU$ zU9Sep>R$Rnk)?>uhK0l>mFfwm)|aU4Xn$8 zH=jBCNuUFp`zL)|A6qEjU|t?6$h0eURg}Q0))0ut{mz;(3a~zAkHxn$fab6T&`S_) zZBs$-3aku#pf;4r$aj3I1q?Q(=Y~IJJ!p6giZw?0N@+Pa#5d$r2B%Y78V!A0va)2;;86K~$zoLt96r-k1qVcs{lifQhzZouK6wDwTWKW%)u^ zcLuq{Cq1%;6O^Sc8PQu!g~%`)RKC_g0mpQkMzwmqjay@iwI=a?67wDdr|9eE*KyL{ zIBsQ^h8H-DarSSe3L+BU?jN}|Ug$5Xt6sa5rSLG39LL6qQBJGUC==6oeL=kXdA;As zR~lJNrvl&4{ZV+xj$PL_vakYXmj%HbH1|a!g5e(k8z3?iJD+5 zS3N8trfr;q3Q(X-C{TsWZUnA|`iZbsE7sl|`#)FCvEpeN%(4qwk%;DLz@!dV zzTSNk;-WOWcOxQueNy0^cV$15B~wnM3yfu#3Uy@t=}*t^(ouGwBQG~#-e*OmzvO+V z9(%nwIzz%Ny@>u5vn6%Lc5VZB=Cp?&bh!b$e$*N3pLbbv2fL6m-AT4&n6B+zeHGSi zJn93Po;p61wR}4X!Vsj7zGO-&XiIRG8HI2}CNyndg**&79R(@k^@uZpfvEJMf|~uL zLhIzzX6VKF&xY-UZDs|Tu@2F1Q~qNx>do6MYSti1JkmP5=swSngk+l&f;xVOm>Za; z5}M?(34W}x3a)AA1HOBgn0xqS=1XRUT;$~i3CrBr2GHAu5}~;5Pq6jg6;Z!9RAA6h z(Df~}UREpDEu$#aB;uHzWFzEvowKA%%U0(g zkq^lOe4+(YL`Bh`1$+nbVTCAZPqXXXnk+$lq60s)S1Y4c8N0i zJk+_fL8<7jA8X<1={D)^%Y!8N8QV5%a$^z8ayY1fgCiAZ|1~r`Bm^QGV$VH$d85#@ zqgJL(q@m59ce1yL#@7~}4F4=5dZ@1g6osjql0*TI1{?fw2*u`rN0tHwZ1RK|!a8;9 za+?KzdPuQx1n35%4`L=nQTB1q9IUlS;7%BQ>&P8II4EIH>8 zC0vmgzT6E5U9IY*ZSE0#qzSJ>LVQ1JR((qa2Db-E?INV_uTl9Qk#CbH%O{g$eaDKZ ziFW^c3CNDC5Q#_4oy_hHf@0s|6Tz-6%jao-*c>ue)RqO)|3vubBj04kvu7w#Qz+hz zStq*1rF6$}T%%;VpdwK+f3p5CS-Y;|@7dR{-F!QZqe|CY(16Z)gLNB_)AS}~cy?A) z9kZSqnHPB}|6|^km`q3++!f+10n2MGa!sqI&Gkvg^G|R+XQAFR|P{%J$nU&A7!*LX4u0`6vI6cfq5Ve0>yIvuRXbkFT`~y)TZFJ;bs`yc7_v+Q&$fretc8d1nQB|pI&78QmWS`=oMGkC4 z_7RIPEWQ(V2f|r(k!M_~#~aDUkCE3_y5QpeKfUk$mB_0ZFZn18%I>dP#$d#SseQBf zi(%)3kGi^}zKXIR|9G5+M<8jx6F4|;sX}hB|La%czER4s?-g92WWvU%<`qV$N&z2W zuoIVgd!-7M`S0>iwj9;ata}w{lD$mHOS?me-mW?`pf+zd6SUf_t+DwaxUE^eSxt2Y zQjH+Wf#uhpz4M`Z3fB!OkU&9T2*Jf9M;Db|T9^k^g|73`$dRh9PaL=Vwe8!|dc^+A zfm}gAJ&!(_GOL6Fn#V$1ps({NV!_Dh*=jK#Ty@n-by#P6dE1XuKe-+ZsY1j=ZVha^ zh1}BwdGyXx9{p2 zb2fAwMYh>njs8`M4NTF#14f<_K4fX!99b=oj;?+m2%aWR+AO2 zVWZdzPR>3ybeVRab0c{0ZJXEaGAk{!_HlN~Log}Y$>Ot2&x=%o&s(E$z*fYb4F$n> z#C0BPmV{bR8Vx}dn=dRm(s6^RpE)l0!^bYZs;nFtscej8)xO5Yv{m(Gp6N?tdFWq` z-6?i|?Gxt~f283W`*sh`wCkkd&l&ly=-#Qk4bGa0p!Sx{fV2BkiyRWDnE{zrpM=Ox zk@pKa3^hX_2R=C=lb*3H;&Sk};w-nsToh5UDjJ&>E;W|5{4grn?9K~6WWDXA+5@GKA4O*s(1QS#ld#HDS#)gHY;y3KQcNrb3@jo&L@0#<=>jB?shFAg`qKTn-bb4YSIks~zK(Ql3HCgo{Z+3N9_Anl zP0bnU#SprvMqZbvD}RQOMA2(%k^nv>Dr1W@1mW^BlIBD}G4xTiCiz1dwgW7T?+3dlC2*$7rAe=}oGSEcVkBM*PW z_H4g|S5KqDO(+_yjG=S3N&A$!yu$i$SHb*m*WT5INyK78ysT^<&#Uyv27J3{_Di~l zvm0K1&2-@C0gOGWXwY%c;LX6B?}6Vh2DGi)#NW++Q|exW_MW;E^Uxtb=Cg1~l)3X~ zVgyoUB;X+~@QTgiR-2>9<_jZkT)bC_ii6T}YZ}cvFj79aM80n5hhA0WVfb{2x}poS0H z-tyd@Vm*d{N35HZ^bt6=X%i&*-U8^VhWz>=ErfsqK@+XJ{V4Kmgzh*to=Ml41!Tpe z*-_l?a5f@#lMZ=%>n4U(D+p8|#`Z>XDOjeQM$N2lsJw*n9n2jD!txU4wYq`bq%S0iN-c5?9)Z^!dZ!f8vBEvOEY<^e3E2B>mLJlEU#5{5E)NG)^ zX#J{s^b*5th+!(ePSVOx2bu)H)fbN)OeJaL5}A$MN2_d#!G#Aps{~CVh0)(r=w!IM zw(=tufoy&FT!;0VQH(HT&^)m~LpH4n6$*tvfmlCUPYQii8v8ehiN_q0kwM|vOXGqR zTAuV``uA289Ge_A^s5PR@dt-sDL@^hC1kD|gVPd$#62$wM+fq@%V-7_MlCSsQ?Kzz z(a@D;DGrns4nqq>co$gp>M}sl@kyp-cf zGDr%i!BD^XuWxKJ|GNSchu3Z%S^_(>9)RwD;y__(+uofr}Zfaz}ecLW69MNtZEELaG8t6Da;{>z#&Z<9cm`^=BR*fYBd7PAtb8z z*--xyj5Ft008Apb;W?Jf_Jxr+Qfh@DF_QJ-KAlhO5{NpBU3gtsJ6d#E!3+u3T zLIC3o4{^6F3t>*Mh?E%pBrkKFT`v0Y8H>WDC5CJzoTTvUz{m~qj9K_%teEKCa}NC- zY1uH6G7DeH+qh9Xg& zgI;U~JOWU8N;(p8G`kGRM4kEVK9ZFa-VAtEKa+%ZW2Lsjjj5yqAa?nusconzL?}K? zh%EA`sH-cdnAh%onPmRf&i`hqU&hx-9a->X_6R$}q;=!;)eytsKG(GZ$vX0!C*V)P zT+DBqPk8EKQg4i~9Ga}E(JR!@VOb#Ac1|x=8}_lz;29Y;pS+c41OWuiM+;p}BeT2j z(-Zu2ww6|ItX!ydkJv#^wAc~Ki?97bIsU~dC&NdNcs(fN3-tM>@>!Oq4(D+kGYKYW zMs`TDZ-$MP8U0})j`$?iM+xtiFBQ=bC)EbLN0|U3_RH^t{TGFB-N~0Oc>6Xl$(y=N zw0UW!H-h;LU^JG!{k9O9DA_mpm6(0_%1MmlUbhJLb>cN#*-<5z)T{Das!Af--q%9? zDE%>;Cz)G6`Se?u(*thgP0eCVo&{}Jf1;D|CAjbsWZy(?H+kE)X1a#l8tnP68@aks z_QWtQdeXZ^Nx`NZ7uiZV^rh5A^{?`;^vUujX8YHz<^yobADH11xv8)&<@bH4g&e&dgE`vMdUmyO8Nn`I%K!|4Qn2|DI<`dRoeb zb$Ij?pUd6<(yNT6WFZp>4R`9taURQFIkHMT*~!DFLvD}79Q*2fP1CKNqYfqcpltehB&NqsbjR@ffstK`%sYgFhE{( z4GegBDUTO?B@jRJP7qnYEEyP&?)RTK#k_C2{Ynpk1?K~;_EAnRW6}B72Q}uO-;l&#D-w?BJs5 zw9%CwUgH|twCIM7PfH``Ug|lQpj#w)i(yvs=ErJTm-`~3*L@T--jd;XV#hbjl9PoM zypqL<2<@1q z&2H21NiO`1GswVZOvk}j&JR|1{S|m?TSpq3_9G%+c0Fay2=}yQv3QF!uA0HSrKSh( z-0%wi-r%~G>CIDG5ABNZeY*kqo;~m9``iPpQumKVH%t9bkl!B;o1D?k9;or^^lIOp z<}pVY&0Gz)D^R#&`VA;Cie5h=S8Y1n4}x-FDCP&MQcTq3z-0Uff+GJ?{gIYUe}mo_ zJD!`|cr>~C&M-z(p=mz)uByfOJC zeV*pj{M9HkO*RFPS5!lI`zBRVNA=ZHHV@iATK0zc4|M{4 zLgRHlG6y}*_1_BixFLm#9A$zs6Z{z_9T5QmlZR|zQ~D8+1#E&tu_DsE?kpR<8`m&h z27rJm+eI1ES#LaX@t(cH2W>iLf)krxCaAWxDv(2D`i)ZI%8-8USc=t^?d{l|C+Nx3 zm)<1oO20}OTU;!7K3LgP;aU+;3+*$F(^(@UvN5PP3^yXZ;27ccldW zE7(TB2F~8XrDVu%%#VNhW9(@&-_f|b+O(px$otyFti$=3S-2Vq_82YuQF@Rt42*|v zwY-c9Z;J^4I1IM;e9;GD%oY|u<4|qEZJO3c*9-r`CCu(}cFnK-TDJc;cKha!G53C6 zutaJ|IKbPO`uXzNBToTelM54U%!|n7tjr^4eumH27hscL%w-tb&!)cqe%gFP zPQ-itRghKQ*`2ezeEVY$4j-6G{i3fO)mi;AxPE>_IFEuW2^cruXJqG*z%(b#Uvu#1 zRS!oHc%NrXR5Xb|?ZTj}G@fvTD_kBKA9iZU}7mYbSM zFZSJJ2-#(Z)Ekjz?BtwXJE#JwG0259!a#R)M{`~?X_Y3FEG7yc&xCmgg3^fqfBktr zQ0@Wv0(gfB-j58#LS*}ifT(4l`bA@$H!)Ser;-%#peQjBDXl^p0@5}l5C^a}VFk>> zJ?Ils^{pTTbFVD`);t3smaY4@!KFl+#nQ4Q+Qn^(BZ-BaU!J$DP^<&aO(X2W+^HS1 z)VWnzk#O!jQ6MJxP?;9XG_uCM;YA`)+iFw*TNO%kq*+T6e;K&baU%0(003PyLBUe| zjuf9(EFplwpe4 zWF|qIX}kQ|{}5A1SqMmi!s7w`fY&|aK~FxJh-RvXnp)Q3on(F?78es$Qm}JUH7>LI zTyi=T3fxozDbAu>Zpr0j3XLPivKB3S$E~N)}Vrfh&at86|B4g15PIt#D^2 zfV2dJi!9}nRFvUF>YP1QKteuNaRNI~X;a7#66rxeR`A3FXviq>8d+Q_-*GrDxe<6v z`z0nOf}VzOD7Icounq~ow`X@NRuqC0b`iU9`}6ZjP`7oX;piI39R&l_I6VK}@U1RmbsIXG&v!L@h*dg`$#&th_ zr%}{$@r6^$QIz3WqIit+HOn3$klKoX4hB39^;0+Fz^GcZN%QVaI`d>-JXUDBtW!OG zKA&`OxBx)PkPBR{eLWFITV)HEpFhu&ucp%l67vi7u|%rqqOp@~-ztZ;xPCk!GWi#) z9(HR{4}M7IbQ7ON_aq8M!Wq1eadR>U#$iE_MF&(slPw&mY%=A8D({i77(i?O4WF5z zlr()T<5RFpONH8gnnZm%O~8abKA-|V_&3N3FisJcJmCOi<>f-)gr`Ow1dyOoDV|8h zAIbyyyk)Wz|9#2-YrPxGra{AD{akzC8uPC^vf1YVC^Dor$zibWMcAPoxDcIiw{{#8M+D8BY literal 0 HcmV?d00001 diff --git a/packages/court-booking/public/example-guitar-superhero.jpg b/packages/court-booking/public/example-guitar-superhero.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3bbea2743d954514db5deb0f86e0f04bb66a8890 GIT binary patch literal 789823 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⋘+s;lTy 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

    }_ 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菊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